Mercurial > hg > xemacs-beta
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 |