summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/gv.el
diff options
context:
space:
mode:
authorMichael Heerdegen <michael_heerdegen@web.de>2022-08-31 03:13:09 +0200
committerMichael Heerdegen <michael_heerdegen@web.de>2022-09-18 15:48:50 +0200
commitbaf1a7a4a0f21636ea8314a6a927f69a0c66aac5 (patch)
tree9a7e4be4b5811c259159046405ae08c2aed08647 /lisp/emacs-lisp/gv.el
parent57cc85f05865e24c23bf2a05c5873c42961ca20f (diff)
downloademacs-baf1a7a4a0f21636ea8314a6a927f69a0c66aac5.tar.gz
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.
Diffstat (limited to 'lisp/emacs-lisp/gv.el')
-rw-r--r--lisp/emacs-lisp/gv.el10
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index 1db9d96d999..d4aed3ac391 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -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)