From baf1a7a4a0f21636ea8314a6a927f69a0c66aac5 Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Wed, 31 Aug 2022 03:13:09 +0200 Subject: [PATCH] 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. --- lisp/emacs-lisp/gv.el | 10 +++++----- 1 file 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) -- 2.39.2