From 530d7f705acce53ecb11afd7b7ae91bc65db417e Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Thu, 17 Dec 2020 14:03:30 +0800 Subject: [PATCH] org-attach: Consider inlinetasks when calculating attach dir * lisp/org-attach.el (org-attach): When inside inlinetask, return attachment dir of that task. When outside inlinetask, return attachment dir of the main task ignoring any inlinetasks above point. The call to `org-back-to-heading-or-point-min` does not move point to the actual heading when there is inlinetask above the point. The result is incorrect return value or even creation of property drawer below *...** END line of the last inline task before point. --- lisp/org-attach.el | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/org-attach.el b/lisp/org-attach.el index e6aa97e00..d117bdd22 100644 --- a/lisp/org-attach.el +++ b/lisp/org-attach.el @@ -256,7 +256,14 @@ Shows a list of commands and prompts for another key to execute a command." (unless marker (error "No item in current line"))) (org-with-point-at marker - (org-back-to-heading-or-point-min t) + (if (and (featurep 'org-inlinetask) + (not (org-inlinetask-in-task-p))) + (org-with-limited-levels + (org-back-to-heading-or-point-min t)) + (if (and (featurep 'org-inlinetask) + (org-inlinetask-in-task-p)) + (org-inlinetask-goto-beginning) + (org-back-to-heading-or-point-min t))) (save-excursion (save-window-excursion (unless org-attach-expert -- 2.26.2