Fix :VISIBILITY: handling of nested "folded" properties

On Fri, Jul 30, 2010 at 4:38 PM, Rainer Stengele
<rainer.stengele@online.de>wrote:

> Having
>
> * headline 1
> :PROPERTIES:
> :VISIBILITY: folded
> :END:
> ** headline 2.1
>  - stuff
> ** headline 2.1
> :PROPERTIES:
> :VISIBILITY: folded
> :END:
> - stuff
>
> C-u C-u <TAB>
>    Switch back to the startup visibility of the buffer, i.e. whatever is
> requested by startup options and  VISIBILITY  properties in individual
> entries.
>
>
> does not result in
>
>
> * headline 1...>
>
>
> as expected. Instead I get:
>
>
> * headline 1...>
> ** headline 2.1...>
> ** headline 2.1...>
>
>
> removing the second folded propertiy results correctly in:
>
> * headline 1...>
>
>
> This looks like a bug in the :VISIBILITY: handling!?
>
>
>
I am not sure whether this is a bug.  But it looks like the above scenario
was not considered initially. I might be wrong.

The attached patch seems to solve this problem.

* lisp/org.el: org-set-visibility-according-to-property ()
  Use backward search instead of forward, so that top hierarchy gets
priority.

Thanks and Regards
Noorul
This commit is contained in:
Noorul Islam 2010-08-07 11:04:18 +00:00 committed by Carsten Dominik
parent b8a0692f93
commit 383802d063
1 changed files with 2 additions and 2 deletions

View File

@ -5981,8 +5981,8 @@ With a numeric prefix, show all headlines up to that level."
(interactive)
(let (org-show-entry-below state)
(save-excursion
(goto-char (point-min))
(while (re-search-forward
(goto-char (point-max))
(while (re-search-backward
"^[ \t]*:VISIBILITY:[ \t]+\\([a-z]+\\)"
nil t)
(setq state (match-string 1))