From 585981019e32ff4aa1a7ce4614428744d1b55332 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 eaab6439ad..9c3f77d2cc 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -532,13 +532,13 @@ plist-get (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.30.2