summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/gv.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2012-11-12 18:25:59 -0800
committerGlenn Morris <rgm@gnu.org>2012-11-12 18:25:59 -0800
commitf78ee6afc094cdfd6162bfd645836e84875dcddf (patch)
tree3a2c4f5d6441e53adadb69ed2af0b64abf3cf239 /lisp/emacs-lisp/gv.el
parentb95a9c0cba301ef8f1920a1d123ccd6873c14a63 (diff)
parentf8705f6e3102454bf1e3213956eb3ac8160ff047 (diff)
downloademacs-f78ee6afc094cdfd6162bfd645836e84875dcddf.tar.gz
Merge from emacs-24; up to 2012-11-09T14:45:15Z!dmantipov@yandex.ru
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 58bfae5b503..02eec08f96b 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.