Eric Abrahamsen <e...@ericabrahamsen.net> writes: > I do a lot of my Org navigation with `helm-org-in-buffer-headings' and > `helm-org-agenda-files-headings', which prompt you for an org heading, > then take you there. > > I'm always annoyed that, once you're at the heading, it leaves it in > a half-open state where you can see the immediate text of the target > entry, but all of its child entries are replaced by an ellipses. > > * Target Heading > Drawers and text > ... # ellipses instead of child headings > * Next Heading > > You then have to hit <tab> twice to see the children. > > The helm commands end by calling `org-show-entry', which first does > this: > > (outline-flag-region > (max (point-min) (1- (point))) > (save-excursion > (if (re-search-forward > (concat "[\r\n]\\(" org-outline-regexp "\\)") nil t) > (match-beginning 1) > (point-max))) > nil) > > Which leaves the heading in the state described above, and then does > this: > > (org-cycle-hide-drawers 'children) > > Which has no effect. > > I'm not really sure what the purpose of `outline-flag-region' is, but > I'm pretty sure this isn't the desired effect.
Based on how org-show-entry calls it, outline-flag-region shows the text from the current heading to the next. So it seems to behave as documented: "[s]how the body directly following this heading". > The call to `org-cycle-hide-drawers' should reveal children, isn't > that right? The purpose isn't to reveal the child headings (I don't understand why the argument is called "children"), but to hide the drawers. Without the org-cycle-hide-drawers call, org-show-entry would expand * TODO blah... to * TODO blah SCHEDULED: <2017-02-12 Sun .+1w> :PROPERTIES: :LAST_REPEAT: [2017-02-05 Sun 16:31] :END: :LOGBOOK: - State "DONE" from "TODO" [2017-02-05 Sun 16:31] :END: instead of * TODO blah SCHEDULED: <2017-02-12 Sun .+1w> :PROPERTIES:... :LOGBOOK:... > Which part of this should be tweaked to achieve the desired effect? Perhaps helm could call org-show-children after it calls org-show-entry. -- Kyle