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 * 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 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."