mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-29 19:37:52 +00:00
org-indent-region: Fix when `org-adapt-indentation' is 'headline-data
* lisp/org.el (org--get-expected-indentation): Remove the extra
condition added in e3b79ad2b
in the cond branch for first line in an
element. Checking `org-adapt-indentation' t value here trigger the
last default cond branch that assumes that we are _not_ at the first
line.
The new logic explicitly avoids inheriting indentation from previous
sibling when `org-adapt-indentation' is set to 'headline-data and the
previous sibling is satisfying "headline data" condition as in
`org-indent-line'. The case when `org-adapt-indentation' is set to t
is already handled correctly when calculating the CONTENTSP
indentation for parent headline.
Fixes https://orgmode.org/list/c13cab60-bbc9-e69e-6d0d-7fe75c5908d6@kalysto.org
This commit is contained in:
parent
057df6cce2
commit
9917d69543
21
lisp/org.el
21
lisp/org.el
|
@ -18455,9 +18455,9 @@ ELEMENT."
|
|||
(org-element-property :parent element) t))
|
||||
;; At first line: indent according to previous sibling, if any,
|
||||
;; ignoring footnote definitions and inline tasks, or parent's
|
||||
;; contents.
|
||||
((and ( = (line-beginning-position) start)
|
||||
(eq org-adapt-indentation t))
|
||||
;; contents. If `org-adapt-indentation' is `headline-data', ignore
|
||||
;; previous headline data siblings.
|
||||
((= (line-beginning-position) start)
|
||||
(catch 'exit
|
||||
(while t
|
||||
(if (= (point-min) start) (throw 'exit 0)
|
||||
|
@ -18474,6 +18474,21 @@ ELEMENT."
|
|||
((memq (org-element-type previous)
|
||||
'(footnote-definition inlinetask))
|
||||
(setq start (org-element-property :begin previous)))
|
||||
;; Do not indent like previous when the previous
|
||||
;; element is headline data and `org-adapt-indentation'
|
||||
;; is set to `headline-data'.
|
||||
((save-excursion
|
||||
(goto-char start)
|
||||
(and
|
||||
(eq org-adapt-indentation 'headline-data)
|
||||
(not (or (org-at-clock-log-p)
|
||||
(org-at-planning-p)))
|
||||
(progn
|
||||
(beginning-of-line 1)
|
||||
(skip-chars-backward "\n")
|
||||
(or (org-at-heading-p)
|
||||
(looking-back ":END:.*" (point-at-bol))))))
|
||||
(throw 'exit 0))
|
||||
(t (goto-char (org-element-property :begin previous))
|
||||
(throw 'exit
|
||||
(if (bolp) (current-indentation)
|
||||
|
|
Loading…
Reference in a new issue