summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-extra.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-05-14 22:00:07 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-05-14 22:00:07 -0400
commitc46c57b0960408cf721eef09985038614eb0f49a (patch)
tree720e8249145f395515b6ac58765d3eca1c9a837e /lisp/emacs-lisp/cl-extra.el
parent5ac2eb344ff68720495d655bccd4c19ac92b04d9 (diff)
downloademacs-c46c57b0960408cf721eef09985038614eb0f49a.tar.gz
* lisp/emacs-lisp/cl-extra.el (cl-getf): Return the proper value in
the setter. Fixes: debbugs:14387
Diffstat (limited to 'lisp/emacs-lisp/cl-extra.el')
-rw-r--r--lisp/emacs-lisp/cl-extra.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
index 34892bf2fef..70ad1283cb2 100644
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -597,8 +597,11 @@ PROPLIST is a list of the sort returned by `symbol-plist'.
(macroexp-let2 nil d def
(funcall do `(cl-getf ,getter ,k ,d)
(lambda (v)
- (funcall setter
- `(cl--set-getf ,getter ,k ,v))))))))))
+ (macroexp-let2 nil val v
+ `(progn
+ ,(funcall setter
+ `(cl--set-getf ,getter ,k ,val))
+ ,val))))))))))
(setplist '--cl-getf-symbol-- plist)
(or (get '--cl-getf-symbol-- tag)
;; Originally we called cl-get here,