0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-07-20 01:26:29 +00:00

org-element-with-buffer-copy, org-export-with-buffer-copy: Fix expansion

* lisp/org-element.el (org-element-with-buffer-copy):
* lisp/ox.el (org-export-with-buffer-copy): Make sure that keyword
arguments in the macro are not duplicated into BODY, which happens for
&rest body + &allow-other-keys in `cl-defmacro'.

Reported-by: João Távora <joaotavora@gmail.com>
Link: https://yhetil.org/emacs-devel/CALDnm53p7nXdnbA2PuH-VHL7EeGQUXYy3x_87hp3oj2pkyWS9Q@mail.gmail.com/
This commit is contained in:
Ihor Radchenko 2023-12-25 12:20:10 +01:00
parent f59ac10257
commit 3afae6690f
No known key found for this signature in database
GPG key ID: 6470762A7DA11D8B
2 changed files with 4 additions and 0 deletions

View file

@ -669,6 +669,8 @@ Optional keys can modify what is being copied and the generated buffer
copy. TO-BUFFER, DROP-VISIBILITY, DROP-NARROWING, DROP-CONTENTS, and
DROP-LOCALS are passed as arguments to `org-element-copy-buffer'."
(declare (debug t))
;; Drop keyword arguments from BODY.
(while (keywordp (car body)) (pop body) (pop body))
(org-with-gensyms (buf-copy)
`(let ((,buf-copy (org-element-copy-buffer
:to-buffer ,to-buffer

View file

@ -2599,6 +2599,8 @@ DROP-CONTENTS, and DROP-LOCALS.
In addition, buffer-local variables are set according to #+BIND:
keywords."
(declare (debug t))
;; Drop keyword arguments from BODY.
(while (keywordp (car body)) (pop body) (pop body))
(org-with-gensyms (bind-variables)
`(let ((,bind-variables (org-export--list-bound-variables)))
(org-element-with-buffer-copy