comparison lisp/ChangeLog @ 5651:ae2fdb1fd9e0

Improve for-effect handling in a few places, lisp/ lisp/ChangeLog addition: 2012-05-01 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (byte-optimize-form-code-walker): * byte-optimize.el (byte-optimize-or): Improve handling of for-effect here; we don't need to worry about discarding multiple values when for-effect is non-nil, this applies to both #'prog1 and #'or. * bytecomp.el (progn): * bytecomp.el (byte-compile-file-form-progn): New. Put back this function, since it's for-effect there's no need to worry about passing back multiple values. * cl-macs.el (cl-pop2): * cl-macs.el (cl-do-pop): * cl-macs.el (remf): * cl.el (pop): Expand to (prog1 (car-safe PLACE) (setq PLACE (cdr PLACE))) in all these macros, since that optimizes better (especially for-effect handling) when byte-compile-delete-errors is nil.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 01 May 2012 12:43:22 +0100
parents 7fa8667cdaa7
children cc6f0266bc36
comparison
equal deleted inserted replaced
5650:7fa8667cdaa7 5651:ae2fdb1fd9e0
1 2012-05-01 Aidan Kehoe <kehoea@parhasard.net>
2
3 * byte-optimize.el (byte-optimize-form-code-walker):
4 * byte-optimize.el (byte-optimize-or):
5 Improve handling of for-effect here; we don't need to worry about
6 discarding multiple values when for-effect is non-nil, this
7 applies to both #'prog1 and #'or.
8 * bytecomp.el (progn):
9 * bytecomp.el (byte-compile-file-form-progn): New.
10 Put back this function, since it's for-effect there's no need to
11 worry about passing back multiple values.
12 * cl-macs.el (cl-pop2):
13 * cl-macs.el (cl-do-pop):
14 * cl-macs.el (remf):
15 * cl.el (pop):
16 Expand to (prog1 (car-safe PLACE) (setq PLACE (cdr PLACE))) in all
17 these macros, since that optimizes better (especially for-effect
18 handling) when byte-compile-delete-errors is nil.
19
1 2012-04-23 Michael Sperber <mike@xemacs.org> 20 2012-04-23 Michael Sperber <mike@xemacs.org>
2 21
3 * bytecomp.el (batch-byte-recompile-directory): Accept an optional 22 * bytecomp.el (batch-byte-recompile-directory): Accept an optional
4 argument that's passed on to `byte-recompile-directory' as the 23 argument that's passed on to `byte-recompile-directory' as the
5 prefix argument, thus imitating GNU Emacs's API. 24 prefix argument, thus imitating GNU Emacs's API.