1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 13:10:57 -08:00

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

Fixes: debbugs:18968
This commit is contained in:
Stefan Monnier 2014-11-05 22:27:23 -05:00
parent 4d5468e529
commit 577ef0bc58
2 changed files with 4 additions and 1 deletions

View file

@ -1,5 +1,7 @@
2014-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (pop): Don't call the getter twice (bug#18968).
* emacs-lisp/macroexp.el (macroexp--expand-all): Optimize away trivial
uses of `funcall'.

View file

@ -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.