[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)