Hi Nicolas Thanks for the fast fix and also for the pointers to interesting functions. Regards, Derek On Sun, May 1, 2016 at 1:34 AM, Nicolas Goaziou wrote: > Hello, > > Derek Feichtinger writes: > > > A longer time ago, hitting RET on an agenda clock log line brought up the > > respective org buffer with the cursor positioned on the clock line. At > some > > point this stopped to work cleanly, at least when using clock drawers. > The > > clock drawer would always be closed (even when it was opened in the org > > buffer before jumping.) with the cursor being in the hidden drawer. So, > it > > became impossible to find the target clock line for e.g. modifying it. > > This is fixed. Thank you. > > > ;; when jumping to the agenda from a log message, the point ends up at > > ;; a CLOCK item in a LOGBOOK drawer, but the drawer gets closed, even > > ;; if the drawer was open before. I add a drawer opening function to > > ;; the respective agenda hook > > (defun org-open-if-in-drawer () > > (let ((element (org-element-at-point))) > > (while (and element > > (not (memq (org-element-type element) > > '(drawer property-drawer)))) > > (setq element (org-element-property :parent element))) > > See `org-element-lineage'. > > > (when element > > (let ((pos (point))) > > (goto-char (org-element-property :begin element)) > > (org-flag-drawer nil) > > (goto-char pos))))) > > > > (add-hook 'org-agenda-after-show-hook #'org-open-if-in-drawer) > > Hooks are for user convenience, as you used it; I don't think any core > feature should be > implemented through hooks. > > Note that you can also call `org-flag-drawer' on a specific drawer using > optional argument. > > > Regards, > > -- > Nicolas Goaziou >