comparison lisp/ChangeLog @ 5574:d4f334808463

Support inlining labels, bytecomp.el. lisp/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): Add #'declare to this, so it doesn't need to rely on #'cl-compiling file to determine when we're byte-compiling. Update #'labels to support declaring labels inline, as Common Lisp requires. * bytecomp.el (byte-compile-function-form): Don't error if FUNCTION is quoting a non-lambda, non-symbol, just return it. * cl-extra.el (cl-macroexpand-all): If a label name has been quoted, expand to the label placeholder quoted with 'function. This allows the byte compiler to distinguish between uses of the placeholder as data and uses in contexts where it should be inlined. * cl-macs.el: * cl-macs.el (cl-do-proclaim): When proclaming something as inline, if it is bound as a label, don't modify the symbol's plist; instead, treat the first element of its placeholder constant vector as a place to store compile information. * cl-macs.el (declare): Leave processing declarations while compiling to the implementation of #'declare in byte-compile-initial-macro-environment. tests/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: * automated/lisp-tests.el (+): Test #'labels and inlining.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 02 Oct 2011 15:32:16 +0100
parents f0f1fd0d8486
children 89cb6a66a61f
comparison
equal deleted inserted replaced
5573:f0f1fd0d8486 5574:d4f334808463
1 2011-10-02 Aidan Kehoe <kehoea@parhasard.net>
2
3 * bytecomp.el (byte-compile-initial-macro-environment):
4 Add #'declare to this, so it doesn't need to rely on
5 #'cl-compiling file to determine when we're byte-compiling.
6 Update #'labels to support declaring labels inline, as Common Lisp
7 requires.
8 * bytecomp.el (byte-compile-function-form):
9 Don't error if FUNCTION is quoting a non-lambda, non-symbol, just
10 return it.
11 * cl-extra.el (cl-macroexpand-all):
12 If a label name has been quoted, expand to the label placeholder
13 quoted with 'function. This allows the byte compiler to
14 distinguish between uses of the placeholder as data and uses in
15 contexts where it should be inlined.
16 * cl-macs.el:
17 * cl-macs.el (cl-do-proclaim):
18 When proclaming something as inline, if it is bound as a label,
19 don't modify the symbol's plist; instead, treat the first element
20 of its placeholder constant vector as a place to store compile
21 information.
22 * cl-macs.el (declare):
23 Leave processing declarations while compiling to the
24 implementation of #'declare in
25 byte-compile-initial-macro-environment.
26
1 2011-09-25 Aidan Kehoe <kehoea@parhasard.net> 27 2011-09-25 Aidan Kehoe <kehoea@parhasard.net>
2 28
3 * files.el (binary-file-regexps): 29 * files.el (binary-file-regexps):
4 Remove ELC files from this, many of them are escape-quoted, and 30 Remove ELC files from this, many of them are escape-quoted, and
5 when opening them for viewing XEmacs should look at the coding 31 when opening them for viewing XEmacs should look at the coding