[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 99483e214fd 2/3: Set org-macro-templates more lazily
From: |
Stefan Monnier |
Subject: |
master 99483e214fd 2/3: Set org-macro-templates more lazily |
Date: |
Sun, 3 Mar 2024 18:09:00 -0500 (EST) |
branch: master
commit 99483e214fdafa76e8001c7009dff13a76c33f32
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
Set org-macro-templates more lazily
---
lisp/org/org-macro.el | 8 +++++---
lisp/org/org-macs.el | 4 +++-
lisp/org/org.el | 21 ++++++++++-----------
3 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/lisp/org/org-macro.el b/lisp/org/org-macro.el
index 737eab5d2bb..acc8f5e593b 100644
--- a/lisp/org/org-macro.el
+++ b/lisp/org/org-macro.el
@@ -78,12 +78,14 @@
;;; Variables
-(defvar-local org-macro-templates nil
+(defvar-local org-macro-templates t
"Alist containing all macro templates in current buffer.
Associations are in the shape of (NAME . TEMPLATE) where NAME
stands for macro's name and template for its replacement value,
-both as strings. This is an internal variable. Do not set it
-directly, use instead:
+both as strings.
+`t' means that it has not yet been initialized.
+
+This is an internal variable. Do not set it directly, use instead:
#+MACRO: name template")
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index aafbdf0e0aa..53943d343d8 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -132,6 +132,8 @@ Version mismatch is commonly encountered in the following
situations:
;; Use `with-silent-modifications' to ignore cosmetic changes and
;; `org-unmodified' to ignore real text modifications.
+;; FIXME: Won't "real text modifications" break the undo data if
+;; `buffer-undo-list' is let-bound to t?
(defmacro org-unmodified (&rest body)
"Run BODY while preserving the buffer's `buffer-modified-p' state."
(declare (debug (body)))
@@ -141,7 +143,7 @@ Version mismatch is commonly encountered in the following
situations:
(let ((buffer-undo-list t)
(inhibit-modification-hooks t))
,@body)
- (set-buffer-modified-p ,was-modified)))))
+ (restore-buffer-modified-p ,was-modified)))))
(defmacro org-with-base-buffer (buffer &rest body)
"Run BODY in base buffer for BUFFER.
diff --git a/lisp/org/org.el b/lisp/org/org.el
index d361408eaca..3fb8fce78d3 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -716,8 +716,9 @@ defined in org-duration.el.")
"Load all extensions listed in `org-modules'."
(when (or force (not org-modules-loaded))
(dolist (ext org-modules)
- (condition-case nil (require ext)
- (error (message "Problems while trying to load feature `%s'" ext))))
+ (condition-case err (require ext)
+ (error (message "Problems while trying to load feature `%s':\n%S"
+ ext err))))
(setq org-modules-loaded t)))
(defun org-set-modules (var value)
@@ -855,7 +856,7 @@ depends on, if any."
:group 'org-export
:version "26.1"
:package-version '(Org . "9.0")
- :initialize 'custom-initialize-set
+ :initialize #'custom-initialize-set
:set (lambda (var val)
(if (not (featurep 'ox)) (set-default-toplevel-value var val)
;; Any back-end not required anymore (not present in VAL and not
@@ -905,9 +906,9 @@ depends on, if any."
(eval-after-load 'ox
'(dolist (backend org-export-backends)
- (condition-case nil (require (intern (format "ox-%s" backend)))
- (error (message "Problems while trying to load export back-end `%s'"
- backend)))))
+ (condition-case err (require (intern (format "ox-%s" backend)))
+ (error (message "Problems while trying to load export back-end
`%s':\n%S"
+ backend err)))))
(defcustom org-support-shift-select nil
"Non-nil means make shift-cursor commands select text when possible.
@@ -4772,7 +4773,7 @@ This is for getting out of special buffers like capture.")
(require 'org-pcomplete)
(require 'org-src)
(require 'org-footnote)
-(require 'org-macro)
+;; (require 'org-macro)
;; babel
(require 'ob)
@@ -4852,8 +4853,6 @@ The following commands are available:
(when (and org-element-cache-persistent
org-element-use-cache)
(org-persist-load 'org-element--cache (current-buffer) t))
- ;; Initialize macros templates.
- (org-macro-initialize-templates)
;; Initialize radio targets.
(org-update-radio-target-regexp)
;; Indentation.
@@ -10459,7 +10458,7 @@ EXTRA is additional text that will be inserted into the
notes buffer."
org-log-note-this-command this-command
org-log-note-recursion-depth (recursion-depth)
org-log-setup t)
- (add-hook 'post-command-hook 'org-add-log-note 'append))
+ (add-hook 'post-command-hook #'org-add-log-note 'append))
(defun org-skip-over-state-notes ()
"Skip past the list of State notes in an entry."
@@ -10488,7 +10487,7 @@ EXTRA is additional text that will be inserted into the
notes buffer."
"Pop up a window for taking a note, and add this note later."
(when (and (equal org-log-note-this-command this-command)
(= org-log-note-recursion-depth (recursion-depth)))
- (remove-hook 'post-command-hook 'org-add-log-note)
+ (remove-hook 'post-command-hook #'org-add-log-note)
(setq org-log-setup nil)
(setq org-log-note-window-configuration (current-window-configuration))
(delete-other-windows)