[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/org 1cd39c9e30 2/3: org-mode: Fix element cache
From: |
ELPA Syncer |
Subject: |
[elpa] externals-release/org 1cd39c9e30 2/3: org-mode: Fix element cache updates when aligning tables during startup |
Date: |
Mon, 2 Jan 2023 02:58:04 -0500 (EST) |
branch: externals-release/org
commit 1cd39c9e3002b58fbe8a293a808046be92199bf5
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-mode: Fix element cache updates when aligning tables during startup
* lisp/org.el (org-mode): Do not suppress modification hooks when
aligning tables. Otherwise, cache state may become invalid.
Reported-by: Stefan <org@stefan.failing.systems>
Link: https://orgmode.org/list/87tu1wse45.fsf@localhost
---
lisp/org.el | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 21764f3d43..286a34ba27 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4898,16 +4898,20 @@ The following commands are available:
(= (point-min) (point-max)))
(insert "# -*- mode: org -*-\n\n"))
(unless org-inhibit-startup
+ (when (or org-startup-align-all-tables org-startup-shrink-all-tables)
+ (org-table-map-tables
+ (cond ((and org-startup-align-all-tables
+ org-startup-shrink-all-tables)
+ (lambda () (org-table-align) (org-table-shrink)))
+ (org-startup-align-all-tables #'org-table-align)
+ (t #'org-table-shrink))
+ t))
+ ;; Suppress modification hooks to speed up the startup.
+ ;; However, do it only when text properties/overlays, but not
+ ;; buffer text are actually modified. We still need to track text
+ ;; modifications to make cache updates work reliably.
(org-unmodified
(when org-startup-with-beamer-mode (org-beamer-mode))
- (when (or org-startup-align-all-tables org-startup-shrink-all-tables)
- (org-table-map-tables
- (cond ((and org-startup-align-all-tables
- org-startup-shrink-all-tables)
- (lambda () (org-table-align) (org-table-shrink)))
- (org-startup-align-all-tables #'org-table-align)
- (t #'org-table-shrink))
- t))
(when org-startup-with-inline-images (org-display-inline-images))
(when org-startup-with-latex-preview (org-latex-preview '(16)))
(unless org-inhibit-startup-visibility-stuff
(org-cycle-set-startup-visibility))