Mercurial > hg > xemacs-beta
comparison lisp/ChangeLog @ 5562:855b667dea13
Drop cl-macro-environment in favour of byte-compile-macro-environment.
lisp/ChangeLog addition:
2011-09-04 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp-runtime.el:
* bytecomp-runtime.el (byte-compile-macro-environment): Moved from
bytecomp.el.
* bytecomp.el:
* bytecomp.el (byte-compile-initial-macro-environment):
Add implementations for #'load-time-value, #'labels here, now
cl-macs respects byte-compile-macro-environment.
* bytecomp.el (byte-compile-function-environment):
* bytecomp.el (byte-compile-macro-environment): Removed.
* bytecomp.el (symbol-value):
* bytecomp.el (byte-compile-symbol-value): Removed.
* cl-extra.el (cl-macroexpand-all):
* cl-macs.el:
* cl-macs.el (bind-block):
* cl-macs.el (cl-macro-environment): Removed.
* cl-macs.el (cl-transform-lambda):
* cl-macs.el (load-time-value):
* cl-macs.el (block):
* cl-macs.el (flet):
* cl-macs.el (labels):
* cl-macs.el (macrolet):
* cl-macs.el (symbol-macrolet):
* cl-macs.el (lexical-let):
* cl-macs.el (apply):
* cl-macs.el (nthcdr):
* cl-macs.el (getf):
* cl-macs.el (substring):
* cl-macs.el (values):
* cl-macs.el (get-setf-method):
* cl-macs.el (cl-setf-do-modify):
* cl.el:
* cl.el (cl-macro-environment): Removed.
* cl.el (cl-macroexpand):
* obsolete.el (cl-macro-environment): Moved here.
Drop cl-macro-environment, in favour of
byte-compile-macro-environment; make the latter available in
bytecomp-runtime.el. This makes byte-compile-macro-environment far
less useless, since previously code that used cl-macs would ignore
it when calling #'cl-macroexpand-all.
Add byte-compiler-specific implementations for #'load-time-value,
#'labels. The latter is very nice indeed; it avoids the run-time
consing of the current implementation, is fully lexical and avoids
the run-time shadowing of symbol function slots that flet uses. It
would now be reasonable to move most core uses of flet to use
labels instead. Non-core code can't rely on print-circle for
mutually recursive functions, though, so it's less of an evident
win.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 04 Sep 2011 20:37:55 +0100 |
parents | 9a93bc90b3bd |
children | 48a3d3281b48 |
comparison
equal
deleted
inserted
replaced
5561:9a93bc90b3bd | 5562:855b667dea13 |
---|---|
1 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> | |
2 | |
3 * bytecomp-runtime.el: | |
4 * bytecomp-runtime.el (byte-compile-macro-environment): Moved from | |
5 bytecomp.el. | |
6 * bytecomp.el: | |
7 * bytecomp.el (byte-compile-initial-macro-environment): | |
8 Add implementations for #'load-time-value, #'labels here, now | |
9 cl-macs respects byte-compile-macro-environment. | |
10 * bytecomp.el (byte-compile-function-environment): | |
11 * bytecomp.el (byte-compile-macro-environment): Removed. | |
12 * bytecomp.el (symbol-value): | |
13 * bytecomp.el (byte-compile-symbol-value): Removed. | |
14 * cl-extra.el (cl-macroexpand-all): | |
15 * cl-macs.el: | |
16 * cl-macs.el (bind-block): | |
17 * cl-macs.el (cl-macro-environment): Removed. | |
18 * cl-macs.el (cl-transform-lambda): | |
19 * cl-macs.el (load-time-value): | |
20 * cl-macs.el (block): | |
21 * cl-macs.el (flet): | |
22 * cl-macs.el (labels): | |
23 * cl-macs.el (macrolet): | |
24 * cl-macs.el (symbol-macrolet): | |
25 * cl-macs.el (lexical-let): | |
26 * cl-macs.el (apply): | |
27 * cl-macs.el (nthcdr): | |
28 * cl-macs.el (getf): | |
29 * cl-macs.el (substring): | |
30 * cl-macs.el (values): | |
31 * cl-macs.el (get-setf-method): | |
32 * cl-macs.el (cl-setf-do-modify): | |
33 * cl.el: | |
34 * cl.el (cl-macro-environment): Removed. | |
35 * cl.el (cl-macroexpand): | |
36 * obsolete.el (cl-macro-environment): Moved here. | |
37 | |
38 Drop cl-macro-environment, in favour of | |
39 byte-compile-macro-environment; make the latter available in | |
40 bytecomp-runtime.el. This makes byte-compile-macro-environment far | |
41 less useless, since previously code that used cl-macs would ignore | |
42 it when calling #'cl-macroexpand-all. | |
43 | |
44 Add byte-compiler-specific implementations for #'load-time-value, | |
45 #'labels. The latter is very nice indeed; it avoids the run-time | |
46 consing of the current implementation, is fully lexical and avoids | |
47 the run-time shadowing of symbol function slots that flet uses. It | |
48 would now be reasonable to move most core uses of flet to use | |
49 labels instead. Non-core code can't rely on print-circle for | |
50 mutually recursive functions, though, so it's less of an evident | |
51 win. | |
52 | |
1 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> | 53 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> |
2 | 54 |
3 * cl-macs.el (get-char-table): Add a defsetf for this. | 55 * cl-macs.el (get-char-table): Add a defsetf for this. |
4 | 56 |
5 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> | 57 2011-09-04 Aidan Kehoe <kehoea@parhasard.net> |