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

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

[elpa] externals/org f41ba23689 1/2: org-colview: Do not remap faces rep


From: ELPA Syncer
Subject: [elpa] externals/org f41ba23689 1/2: org-colview: Do not remap faces repeatedly
Date: Mon, 17 Jan 2022 07:57:40 -0500 (EST)

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

    org-colview: Do not remap faces repeatedly
    
    * lisp/org-colview.el (org-columns--display-here):
    (org-columns-remove-overlays): Do not call `face-remap-add-relative'
    after it is already called.  For large files,
    `face-remap-add-relative' can take more than 90% CPU time.  Set
    `org-columns-header-line-remap' to nil when we remove the temporary
    remapping.
---
 lisp/org-colview.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index 829fcbbe3f..082d6def08 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -377,7 +377,8 @@ This is needed to later remove this relative remapping.")
 COLUMNS is an alist (SPEC VALUE DISPLAYED).  Optional argument
 DATELINE is non-nil when the face used should be
 `org-agenda-column-dateline'."
-  (when (ignore-errors (require 'face-remap))
+  (when (and (ignore-errors (require 'face-remap))
+             org-columns-header-line-remap)
     (setq org-columns-header-line-remap
          (face-remap-add-relative 'header-line '(:inherit default))))
   (save-excursion
@@ -514,7 +515,8 @@ for the duration of the command.")
   (interactive)
   (when (and (fboundp 'face-remap-remove-relative)
             org-columns-header-line-remap)
-    (face-remap-remove-relative org-columns-header-line-remap))
+    (face-remap-remove-relative org-columns-header-line-remap)
+    (setq org-columns-header-line-remap nil))
   (when org-columns-overlays
     (when (local-variable-p 'org-previous-header-line-format)
       (setq header-line-format org-previous-header-line-format)



reply via email to

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