From 26d1d29cf9187b4be64d5b6b9855271070ff9ef8 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Tue, 27 Apr 2021 09:28:17 +0200 Subject: [PATCH] lisp/org.el: Small refactoring * lisp/org.el (org--get-expected-indentation): Use `org-element-lineage' to check whether the point is right at the beginning of a logbook drawer. Reported-by: Ihor Radchenko Link: https://orgmode.org/list/87pmygnr7h.fsf@localhost --- lisp/org.el | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index 181938de6..47511b15f 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -18844,15 +18844,12 @@ ELEMENT." ((and (eq org-adapt-indentation 'headline-data) (or (memq type '(planning clock node-property property-drawer drawer)) - ;; FIXME: when storing a note in a LOGBOOK drawer, + ;; When storing a note in a LOGBOOK drawer, ;; `org-store-log-note' needs to insert a new line before ;; the newly inserted note, thus the `type' at point will ;; return `paragraph' instead of the expected `drawer', so ;; we need to manually detect the drawer. - (and (looking-at-p "^$") - (save-excursion - (backward-char) - (looking-back org-drawer-regexp (point-at-bol)))))) + (eq (org-element-type (car (org-element-lineage element))) 'drawer))) (org--get-expected-indentation (org-element-property :parent element) t)) ((memq type '(headline inlinetask nil))