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

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

[elpa] externals/org 5a167f6ef2 02/13: org-element-cache-reset: Never us


From: ELPA Syncer
Subject: [elpa] externals/org 5a167f6ef2 02/13: org-element-cache-reset: Never use cache persistence in non-file buffers
Date: Fri, 7 Oct 2022 01:57:50 -0400 (EDT)

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

    org-element-cache-reset: Never use cache persistence in non-file buffers
    
    * lisp/org-element.el (org-element-cache-reset): Disable cache
    persistence in non-file buffers.  In particular, do not try to restore
    cache for temporary buffers based on their contents hash.
    
    Reported-by: Rudolf Adamkovič <salutis@me.com>
    Link: https://list.orgmode.org/m2zgef774u.fsf@me.com/T/#t
---
 lisp/org-element.el | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 3d2c506c91..7ce2eb2ceb 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -7246,15 +7246,17 @@ buffers."
   (dolist (buffer (if all (buffer-list) (list (current-buffer))))
     (with-current-buffer (or (buffer-base-buffer buffer) buffer)
       (when (and org-element-use-cache (derived-mode-p 'org-mode))
-        (when (not org-element-cache-persistent)
-          (org-persist-unregister 'org-element--headline-cache 
(current-buffer))
-          (org-persist-unregister 'org-element--cache (current-buffer)))
-        (when (and org-element-cache-persistent
-                   (buffer-file-name (current-buffer)))
-          (org-persist-register 'org-element--cache (current-buffer))
-          (org-persist-register 'org-element--headline-cache
-                                (current-buffer)
-                                :inherit 'org-element--cache))
+        ;; Only persist cache in file buffers.
+        (when (buffer-file-name)
+          (when (not org-element-cache-persistent)
+            (org-persist-unregister 'org-element--headline-cache 
(current-buffer))
+            (org-persist-unregister 'org-element--cache (current-buffer)))
+          (when (and org-element-cache-persistent
+                     (buffer-file-name (current-buffer)))
+            (org-persist-register 'org-element--cache (current-buffer))
+            (org-persist-register 'org-element--headline-cache
+                                  (current-buffer)
+                                  :inherit 'org-element--cache)))
         (setq-local org-element--cache-change-tic (buffer-chars-modified-tick))
         (setq-local org-element--cache-last-buffer-size (buffer-size))
         (setq-local org-element--cache-gapless nil)



reply via email to

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