diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-11-05 22:27:23 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-11-05 22:27:23 -0500 |
commit | 577ef0bc58b5e8fd048bcc5bae8c34c4020fa2cc (patch) | |
tree | 597810e6269cae2f2de3f052626253daf03bb851 /lisp/subr.el | |
parent | 4d5468e5296ce42793a86808c62af8f99f556cba (diff) | |
download | emacs-577ef0bc58b5e8fd048bcc5bae8c34c4020fa2cc.tar.gz emacs-577ef0bc58b5e8fd048bcc5bae8c34c4020fa2cc.tar.bz2 emacs-577ef0bc58b5e8fd048bcc5bae8c34c4020fa2cc.zip |
* lisp/subr.el (pop): Don't call the getter twice.
Fixes: debbugs:18968
Diffstat (limited to 'lisp/subr.el')
-rw-r--r-- | lisp/subr.el | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/subr.el b/lisp/subr.el index 55ff739fec5..6ce02b79a0a 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -169,7 +169,8 @@ change the list." ;; So we can use `pop' in the bootstrap before `gv' can be used. (list 'prog1 place (list 'setq place (list 'cdr place))) (gv-letplace (getter setter) place - `(prog1 ,getter ,(funcall setter `(cdr ,getter))))))) + (macroexp-let2 macroexp-copyable-p x getter + `(prog1 ,x ,(funcall setter `(cdr ,x)))))))) (defmacro when (cond &rest body) "If COND yields non-nil, do BODY, else return nil. |