summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/gv.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-11-12 16:31:15 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2012-11-12 16:31:15 -0500
commitf8705f6e3102454bf1e3213956eb3ac8160ff047 (patch)
tree59ff7532fce0324cd97c9c5768a1c73ac305c5a2 /lisp/emacs-lisp/gv.el
parent0f5414fca8a5639d9417c99e18bb4dae35d83fd3 (diff)
downloademacs-f8705f6e3102454bf1e3213956eb3ac8160ff047.tar.gz
* lisp/emacs-lisp/gv.el (gv-define-simple-setter): One more fix.
Fixes: debbugs:12871
Diffstat (limited to 'lisp/emacs-lisp/gv.el')
-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.