Hi, >> But are the slowdowns associated with outline.el functions anything that >> will realistically be felt in normal usage? > > They are noticeable under certain circumstances. I implemented > `org-show-children' because `show-children' was /reported/ as slow.
OK. > Generally speaking, outline doesn't cope well with dense sub-trees. As > an example, consider `org-forward-heading-same-level'. Using outline, we > need to move to next headline, check its level, compare with original, > rinse and repeat, possibly many times, until we find a match. However, > we could simply do > > (re-search-forward some-appropriate-regexp nil t) > > and be done with it since we can turn level into a regexp. Indeed. That seems like a better implementation in any case. >> IMO the biggest advantage of orgstruct is that it has more sensible >> keybindings than outline. Of course it's also nice with lists and tables >> (assuming they are not in orgstruct++; don't remember)... > > Table is orgtbl-mode, not orgstruct-mode. > > List handling is a real concern however, because we cannot use the > parser (there is no context to know about) but still have to analyze > lists. In an ideal world it should also "ignore" comment-start in the sense that I it should help me with lists after, e.g. ";;". I wonder if any of Thorsten's packages on this already solved this issue. >> Adding advice to orgstruct, which is a mess anyway, won't make it any >> worse than it is... > > Agreed. OK, so I'll experiment with an "old advice" around orgstruct. BTW: We have 20 defadvice in lisp/. That seems like enough reason (to me) to bump Org 9 to 24.4. Rasmus -- And when I’m finished thinking, I have to die a lot