summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2002-06-14 06:15:32 +0000
committerMiles Bader <miles@gnu.org>2002-06-14 06:15:32 +0000
commit54993fa4b236d46144c946eddb8fcd2fb2bdfdac (patch)
tree5e5a2b65713c59700132ada891ac0b922dac6205
parent68b089509064b72993915350714b5282b60ec7a7 (diff)
downloademacs-54993fa4b236d46144c946eddb8fcd2fb2bdfdac.tar.gz
emacs-54993fa4b236d46144c946eddb8fcd2fb2bdfdac.tar.bz2
emacs-54993fa4b236d46144c946eddb8fcd2fb2bdfdac.zip
(pop): Move the call to `car' outside the prog1, as the compiler
generate better code for it.
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/subr.el5
2 files changed, 5 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 25ad58cd136..47b0bbe8d1a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,6 +1,8 @@
2002-06-14 Miles Bader <miles@gnu.org>
* subr.el (copy-tree): Use `nconc' and `nreverse' instead of `nreconc'.
+ (pop): Move the call to `car' outside the prog1, as the compiler
+ then generates better code.
2002-06-13 Richard M. Stallman <rms@gnu.org>
diff --git a/lisp/subr.el b/lisp/subr.el
index 648ff0de3e3..1870e570623 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -89,8 +89,9 @@ LISTNAME must be a symbol."
LISTNAME must be a symbol whose value is a list.
If the value is nil, `pop' returns nil but does not actually
change the list."
- (list 'prog1 (list 'car listname)
- (list 'setq listname (list 'cdr listname))))
+ (list 'car
+ (list 'prog1 listname
+ (list 'setq listname (list 'cdr listname)))))
(defmacro when (cond &rest body)
"If COND yields non-nil, do BODY, else return nil."