From: Stefan Monnier Date: Fri, 5 Mar 2021 17:39:27 +0000 (-0500) Subject: * lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter X-Git-Tag: emacs-27.2-rc1~10 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c881e990e3;p=emacs.git * lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter This fixes bug#46573 which was introduced by commit d79cf638f278e50c22feb53d6ba556f5ce9d7853. The new code is a middle ground, which makes sure the instrumentation point is used (so the coverage checker won't have ghost unreachable instrumentation points) yet without artificially running the getter when we only need to run the setter. --- diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el index 4d2bcbfaf5f..c9eac70d8f3 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -306,8 +306,7 @@ The return value is the last VAL in the list. (gv-letplace (getter setter) place (funcall do `(edebug-after ,before ,index ,getter) (lambda (store) - `(progn (edebug-after ,before ,index ,getter) - ,(funcall setter store))))))) + `(edebug-after ,before ,index ,(funcall setter store))))))) ;;; The common generalized variables.