emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 577b987 3/3: org-element-cache: Honour org-odd-leve


From: ELPA Syncer
Subject: [elpa] externals/org 577b987 3/3: org-element-cache: Honour org-odd-levels-only
Date: Sun, 14 Nov 2021 02:57:26 -0500 (EST)

branch: externals/org
commit 577b9879722f5b8ebed01091c1a98cf7c5a7bc57
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>

    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.
---
 lisp/org-element.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 5258107..8a9dc55 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -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))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]