]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 5 Mar 2021 17:39:27 +0000 (12:39 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 5 Mar 2021 17:39:27 +0000 (12:39 -0500)
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.

lisp/emacs-lisp/gv.el

index 4d2bcbfaf5ff6fd0b43d73bd4cb3a277813f0d0c..c9eac70d8f35ca3d57d8b613ec87d4eb35a7911a 100644 (file)
@@ -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.