summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/gv.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index 38bb6319a03..965fc1c3ef0 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -220,8 +220,9 @@ so as to preserve the semantics of `setf'."
`(gv-define-setter ,name (val &rest args)
,(if fix-return
`(macroexp-let2 nil v val
- (cons ',setter (append args (list v)))
- v)
+ `(progn
+ (,',setter ,@(append args (list v)))
+ ,v))
`(cons ',setter (append args (list val))))))
;;; Typical operations on generalized variables.