forked from mirrors/org-mode
org-element-cache: Honour org-odd-levels-only
* lisp/org-element.el (org-element--parse-to): Fix incorrect heading regexps when `org-odd-levels-only' is non-nil. (org-element--cache-before-change): Use reduced level for `org-element--cache-change-warning' when headlines are modified.
This commit is contained in:
parent
c3f4573758
commit
577b987972
|
@ -6394,7 +6394,10 @@ If you observe Emacs hangs frequently, please report this to Org mode mailing li
|
|||
(unless (when (and (/= 1 (org-element-property :level element))
|
||||
(re-search-forward
|
||||
(rx-to-string
|
||||
`(and bol (repeat 1 ,(1- (org-element-property :level element)) "*") " "))
|
||||
`(and bol (repeat 1 ,(1- (let ((level (org-element-property :level element)))
|
||||
(if org-odd-levels-only (1- (* level 2)) level)))
|
||||
"*")
|
||||
" "))
|
||||
pos t))
|
||||
(beginning-of-line)
|
||||
t)
|
||||
|
@ -6406,7 +6409,10 @@ If you observe Emacs hangs frequently, please report this to Org mode mailing li
|
|||
(goto-char pos)
|
||||
(re-search-backward
|
||||
(rx-to-string
|
||||
`(and bol (repeat ,(org-element-property :level element) "*") " "))
|
||||
`(and bol (repeat ,(let ((level (org-element-property :level element)))
|
||||
(if org-odd-levels-only (1- (* level 2)) level))
|
||||
"*")
|
||||
" "))
|
||||
elem-end t))))
|
||||
(setq mode (org-element--next-mode mode type nil)))
|
||||
;; A non-greater element contains point: return it.
|
||||
|
@ -6524,7 +6530,7 @@ The function returns the new value of `org-element--cache-change-warning'."
|
|||
until (= min-level 1))
|
||||
(goto-char beg)
|
||||
(beginning-of-line)
|
||||
(or min-level
|
||||
(or (and min-level (org-reduced-level min-level))
|
||||
(when (looking-at-p "^[ \t]*#\\+CATEGORY:")
|
||||
'org-data)
|
||||
t))))))
|
||||
|
|
Loading…
Reference in a new issue