comparison lisp/ChangeLog @ 5502:5b08be74bb53

Be better about recognising side-effect-free forms, byte-optimize.el. 2011-05-07 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el: * byte-optimize.el (byte-optimize-form-code-walker): Call #'byte-optimize-side-effect-free-p on the form, rather than just checking the plist of the form's car. * byte-optimize.el (side-effect-free-fns): Move the CL functions into their alphabetical place in the list. * byte-optimize.el (function): * byte-optimize.el (byte-optimize-side-effect-free-p): New. Function returning non-nil if a funcall has no side-effects, which handles things like (remove* item list :key 'car) and (remove-if-not #'integerp list).
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 07 May 2011 11:45:20 +0100
parents 4813ff11c6e2
children 7b5946dbfb96
comparison
equal deleted inserted replaced
5501:4813ff11c6e2 5502:5b08be74bb53
1 2011-05-07 Aidan Kehoe <kehoea@parhasard.net>
2
3 * byte-optimize.el:
4 * byte-optimize.el (byte-optimize-form-code-walker):
5 Call #'byte-optimize-side-effect-free-p on the form, rather than
6 just checking the plist of the form's car.
7 * byte-optimize.el (side-effect-free-fns):
8 Move the CL functions into their alphabetical place in the list.
9 * byte-optimize.el (function):
10 * byte-optimize.el (byte-optimize-side-effect-free-p): New.
11 Function returning non-nil if a funcall has no side-effects, which
12 handles things like (remove* item list :key 'car) and
13 (remove-if-not #'integerp list).
14
1 2011-05-06 Aidan Kehoe <kehoea@parhasard.net> 15 2011-05-06 Aidan Kehoe <kehoea@parhasard.net>
2 16
3 * cl-macs.el (most-positive-fixnum-on-32-bit-machines): 17 * cl-macs.el (most-positive-fixnum-on-32-bit-machines):
4 Correct this, I had an off-by-one error (because I was developing 18 Correct this, I had an off-by-one error (because I was developing
5 on a 64-bit machine). Thanks for the report, Raymond Toy! 19 on a 64-bit machine). Thanks for the report, Raymond Toy!