Parcourir la source

org.el: Fix indentation of new notes in a logbook drawer

* lisp/org.el (org--get-expected-indentation): Fix indentation of
new notes in a logbook drawer when org-adapt-indentation is set to
'headline-data.

Reported-by: Gustavo Barros <gusbrs.2016@gmail.com>
Link: https://orgmode.org/list/878s9p4xtt.fsf@gnu.org/
Bastien Guerry il y a 3 ans
Parent
commit
730a05f787
1 fichiers modifiés avec 10 ajouts et 1 suppressions
  1. 10 1
      lisp/org.el

+ 10 - 1
lisp/org.el

@@ -18843,7 +18843,16 @@ ELEMENT."
 	  (current-indentation))))
       ((and
 	(eq org-adapt-indentation 'headline-data)
-	(memq type '(planning clock node-property property-drawer drawer)))
+        (or (memq type '(planning clock node-property property-drawer drawer))
+            ;; FIXME: 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))))))
        (org--get-expected-indentation
 	(org-element-property :parent element) t))
       ((memq type '(headline inlinetask nil))