summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/bytecomp.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-06-13 09:16:34 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2012-06-13 09:16:34 -0400
commitc4c8444a78a7a292331ee9eb6dc1f535f05e6c15 (patch)
tree70a067672d9a043a17a69ee0714787e1711bd74a /lisp/emacs-lisp/bytecomp.el
parenta12ac9d7951d68282e90fd49f218cc17d5342152 (diff)
downloademacs-c4c8444a78a7a292331ee9eb6dc1f535f05e6c15.tar.gz
* lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
* lisp/emacs-lisp/bytecomp.el (featurep): ...here. Fixes: debbugs:11692
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r--lisp/emacs-lisp/bytecomp.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index a65a355bfdf..934c0f01fcd 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -4539,6 +4539,16 @@ and corresponding effects."
(setq command-line-args-left (cdr command-line-args-left)))
(kill-emacs 0))
+;;; Core compiler macros.
+
+(put 'featurep 'compiler-macro
+ (lambda (form feature &rest _ignore)
+ ;; Emacs-21's byte-code doesn't run under XEmacs or SXEmacs anyway, so
+ ;; we can safely optimize away this test.
+ (if (member feature '('xemacs 'sxemacs 'emacs))
+ (eval form)
+ form)))
+
(provide 'byte-compile)
(provide 'bytecomp)