Commit 577ef0bc authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/subr.el (pop): Don't call the getter twice.

Fixes: debbugs:18968
parent 4d5468e5
2014-11-06 Stefan Monnier <>
* subr.el (pop): Don't call the getter twice (bug#18968).
* emacs-lisp/macroexp.el (macroexp--expand-all): Optimize away trivial
uses of `funcall'.
......@@ -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.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment