0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-29 19:07:52 +00:00

org-macro: Fix infloop when re-defining built-in macros

* lisp/org-macro.el (org-macro-initialize-templates): User-defined
  macros have higher precedence than built-in macros.

Reported-by: Eric S Fraga <esflists@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-03/msg00413.html>
This commit is contained in:
Nicolas Goaziou 2018-03-23 23:30:06 +01:00
parent fa15abe6e8
commit 143a87e45c

View file

@ -130,7 +130,7 @@ Templates are stored in buffer-local variable
function installs the following ones: \"property\",
\"time\". and, if the buffer is associated to a file,
\"input-file\" and \"modification-time\"."
(let* ((templates (org-macro--collect-macros))
(let* ((templates nil)
(update-templates
(lambda (cell)
(let ((old-template (assoc (car cell) templates)))
@ -164,7 +164,7 @@ function installs the following ones: \"property\",
(org-macro--counter-initialize)
(funcall update-templates
(cons "n" "(eval (org-macro--counter-increment \"$1\" \"$2\"))"))
(setq org-macro-templates templates)))
(setq org-macro-templates (nconc (org-macro--collect-macros) templates))))
(defun org-macro-expand (macro templates)
"Return expanded MACRO, as a string.