aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/cl.el
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2012-06-05 11:41:12 -0400
committerStefan Monnier <[email protected]>2012-06-05 11:41:12 -0400
commit57a7d50707c79e22f52a71d9c7f6d4a4773456c3 (patch)
treeb33484512136db9ae47c40e4b219fc2708cf997d /lisp/emacs-lisp/cl.el
parent51a5f9d8163744dab918e2b6fe3f452f5a4cddfd (diff)
Add native compiler-macro support.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Support compiler-macros directly. Properly follow aliases and apply the compiler macros more thoroughly. * lisp/emacs-lisp/cl.el: Don't copy compiler-macro properties any more since macroexpand now properly follows aliases. * lisp/emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro) (cl-compiler-macroexpand): Use new prop. * lisp/emacs-lisp/byte-opt.el (featurep): Optimize earlier. * lisp/emacs-lisp/cl-lib.el (custom-print-functions): Add compatibility alias.
Diffstat (limited to 'lisp/emacs-lisp/cl.el')
-rw-r--r--lisp/emacs-lisp/cl.el6
1 files changed, 2 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index 3b83a71340..14eb15fa57 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -321,13 +321,11 @@
(intern (format "cl-%s" fun)))))
(defalias fun new)
;; If `cl-foo' is declare inline, then make `foo' inline as well, and
- ;; similarly, if `cl-foo' has a compiler-macro, make it available for `foo'
- ;; as well. Same for edebug specifications, indent rules and
+ ;; similarly. Same for edebug specifications, indent rules and
;; doc-string position.
;; FIXME: For most of them, we should instead follow aliases
;; where applicable.
- (dolist (prop '(byte-optimizer byte-compile cl-compiler-macro
- doc-string-elt edebug-form-spec
+ (dolist (prop '(byte-optimizer doc-string-elt edebug-form-spec
lisp-indent-function))
(if (get new prop)
(put fun prop (get new prop))))))