S-Tab probably checks the value of last-command to see if the previous command was also a S-Tab. If the previous command was anything else, then Org Mode has no idea whether the buffer or its visibility has changed since the last-executed S-Tab, since it cannot know which other commands will affect buffer visibility and which will not. So, if the previous command is not S-Tab, then the next S-Tab will restart the cycle from the beginning. Similarly, when you first open a buffer, the value of last-command is probably 'find-file or something.
On Tue, Feb 2, 2010 at 12:38 PM, Ivan Vanyushkin <va...@vanav.com.ua> wrote: > There is org-startup-folded that controls startup state, so org-mode should > know it. > > Also S-Tab forgets state even in the middle of document. Key presses to > reproduce: > > 1) S-Tab - OVERVIEW > 2) S-Tab - CONTENTS > 3) C-G (or any other) > 4) S-Tab - OVERVIEW (expected: SHOW ALL) > > or > > 1) S-Tab - OVERVIEW > 3) C-G (or any other) > 4) S-Tab - OVERVIEW (nothing changed! expected: CONTENTS) > > Is it by design? Why? > > > On 02.02.2010 21:40, Ryan Thompson wrote: >> >> I don't think it is possible in general to know the startup state of a >> file. Files with a #+STARTUP line may be an execption. >> >> On Tue, Feb 2, 2010 at 11:28 AM, Ivan Vanyushkin<va...@vanav.com.ua> >> wrote: >>> >>> Hello. >>> >>> On initial file opening, S-<TAB> cycles through >>> 1) OVERVIEW -> 2) CONTENTS -> 3) SHOW ALL >>> not depending on current state of document. >>> >>> So, if (as default) document is in OVERVIEW state, first press >>> _does nothing_ (switch to OVERVIEW again). Expected: CONTENTS. >>> >>> If document initially "#+STARTUP: content", then first press switches it >>> back to OVERVIEW. Expected: SHOW ALL. >>> >>> So, S-Tab (and maybe Tab) doesn't use context state when start cycling. >>> >>> Is it correct and why? >>> >>> org-version 6.21 and 6.34c >>> Emacs 23.1.1 >>> >>> Thank you for your answer! >>> >>> >>> -- >>> Ivan Vanyushkin - Vanav. > > _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode