1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-10 00:00:39 -08:00

Turn gv-synthetic-place into a function

This fixes Bug#57397.

* lisp/emacs-lisp/gv.el (gv-synthetic-place): Make a function and add
trivial compiler macro to avoid decreasing efficiency.
This commit is contained in:
Michael Heerdegen 2022-08-31 03:13:09 +02:00
parent 57cc85f058
commit baf1a7a4a0

View file

@ -536,13 +536,13 @@ The return value is the last VAL in the list.
(funcall do `(error . ,args)
(lambda (v) `(progn ,v (error . ,args))))))
(defmacro gv-synthetic-place (getter setter)
(defun gv-synthetic-place (getter setter)
"Special place described by its setter and getter.
GETTER and SETTER (typically obtained via `gv-letplace') get and
set that place. I.e. This macro allows you to do the \"reverse\" of what
`gv-letplace' does.
This macro only makes sense when used in a place."
(declare (gv-expander funcall))
set that place. I.e. this function allows you to do the
\"reverse\" of what `gv-letplace' does. This function only makes
sense when used in a place."
(declare (gv-expander funcall) (compiler-macro (lambda (_) getter)))
(ignore setter)
getter)