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

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

[elpa] externals/org 2f7b35ac89: org-element-cache: Reduce memory footpr


From: ELPA Syncer
Subject: [elpa] externals/org 2f7b35ac89: org-element-cache: Reduce memory footprint in indirect buffers
Date: Tue, 13 Jun 2023 07:09:49 -0400 (EDT)

branch: externals/org
commit 2f7b35ac89470f17937f5c20524c38db103aaa4c
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    org-element-cache: Reduce memory footprint in indirect buffers
    
    * lisp/org-element.el (org-element--cache-setup-change-functions): Set
    buffer-local cache values to nil in indirect buffers.
    
    Reported-by: Sebastian Wålinder <s.walinder@gmail.com>
    Link: https://orgmode.org/list/87v8funovi.fsf@localhost
---
 lisp/org-element.el | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 2192eb652c..278cbb9f47 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6767,6 +6767,11 @@ that range.  See `after-change-functions' for more 
information."
 (defun org-element--cache-setup-change-functions ()
   "Setup `before-change-functions' and `after-change-functions'."
   (when (and (derived-mode-p 'org-mode) org-element-use-cache)
+    ;; Clear copied local cache to avoid extra memory usage.
+    ;; We only use cache stored in the base buffer.
+    (when (buffer-base-buffer)
+      (setq-local org-element--cache nil
+                  org-element--headline-cache nil))
     (add-hook 'before-change-functions
              #'org-element--cache-before-change nil t)
     ;; Run `org-element--cache-after-change' early to handle cases



reply via email to

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