branch: externals-release/org commit 52e6f1cf57568818eef4a02d43dd04d483f35e8d Author: Nicolas Goaziou <m...@nicolasgoaziou.fr> Commit: Nicolas Goaziou <m...@nicolasgoaziou.fr>
macro: Properly collect multiple authors * lisp/org-macro.el (org-macro--collect-macros): Multiple lines are allowed for AUTHOR keyword (per `org-export-options-alist') so make sure we collect all of them. * testing/lisp/test-org-macro.el (test-org-macro/author): Add test. Reported-by: Vinicius Vinicius <vinicius....@yandex.com> <http://lists.gnu.org/r/emacs-orgmode/2021-10/msg00727.html> --- lisp/org-macro.el | 2 +- testing/lisp/test-org-macro.el | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/org-macro.el b/lisp/org-macro.el index b8d3373..1259430 100644 --- a/lisp/org-macro.el +++ b/lisp/org-macro.el @@ -125,7 +125,7 @@ previous one, unless VALUE is nil. Return the updated list." "Collect macro definitions in current buffer and setup files. Return an alist containing all macro templates found." (let ((templates - `(("author" . ,(org-macro--find-keyword-value "AUTHOR")) + `(("author" . ,(org-macro--find-keyword-value "AUTHOR" t)) ("email" . ,(org-macro--find-keyword-value "EMAIL")) ("title" . ,(org-macro--find-keyword-value "TITLE" t)) ("date" . ,(org-macro--find-date))))) diff --git a/testing/lisp/test-org-macro.el b/testing/lisp/test-org-macro.el index 1b4b791..f1bc4f4 100644 --- a/testing/lisp/test-org-macro.el +++ b/testing/lisp/test-org-macro.el @@ -314,6 +314,15 @@ (org-macro-replace-all org-macro-templates) (buffer-substring-no-properties (line-beginning-position) (point-max))))) + ;; Return AUTHOR keyword value. + (should + (equal "author 1 author 2" + (org-test-with-temp-text + "#+author: author 1\n#+author: author 2\n<point>{{{author}}}" + (org-macro-initialize-templates) + (org-macro-replace-all org-macro-templates) + (buffer-substring-no-properties + (line-beginning-position) (point-max))))) ;; When AUTHOR keyword is missing, return the empty string. (should (equal ""