diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-03-22 18:32:51 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-03-22 18:32:51 +0100 |
commit | 6c88d8e406ba878c27ee07b017c2c6b201ae1276 (patch) | |
tree | 2f39ef5d005d508ac3a04518fc26740a56fef8bc | |
parent | a39ee9887360a32494ea6405fa760ad3baf493b6 (diff) | |
download | org-mode-6c88d8e406ba878c27ee07b017c2c6b201ae1276.tar.gz |
Fix multiple calls to `org-dynamic-block-alist'.
* lisp/org.el (org-dynamic-block-define): Update entry instead of
piling up entries of the same type.
-rw-r--r-- | lisp/org.el | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/org.el b/lisp/org.el index d8edaff..7c18090 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -9593,8 +9593,12 @@ TYPE is the dynamic block type, as a string." (mapcar #'car org-dynamic-block-alist)) (defun org-dynamic-block-define (type func) - "Define dynamic block TYPE with FUNC." - (push (cons type func) org-dynamic-block-alist)) + "Define dynamic block TYPE with FUNC. +TYPE is a string. FUNC is the function creating the dynamic +block of such type." + (pcase (assoc type org-dynamic-block-alist) + (`nil (push (cons type func) org-dynamic-block-alist)) + (`(,def . ,_) (setcdr def func)))) (defun org-dynamic-block-insert-dblock (type) "Insert a dynamic block of type TYPE. |