summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
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
parenta12ac9d7951d68282e90fd49f218cc17d5342152 (diff)
downloademacs-c4c8444a78a7a292331ee9eb6dc1f535f05e6c15.tar.gz
emacs-c4c8444a78a7a292331ee9eb6dc1f535f05e6c15.tar.bz2
emacs-c4c8444a78a7a292331ee9eb6dc1f535f05e6c15.zip
* 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')
-rw-r--r--lisp/emacs-lisp/byte-opt.el10
-rw-r--r--lisp/emacs-lisp/bytecomp.el10
2 files changed, 10 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index ab0e22fb5ce..92a10dff774 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -1158,16 +1158,6 @@
;; optimize string-as-unibyte, string-as-multibyte, string-make-unibyte,
;; string-make-multibyte for constant args.
-(put 'featurep 'compiler-macro
- (lambda (form &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 (cdr-safe form) '(((quote xemacs)) ((quote sxemacs))))
- nil
- (if (member (cdr-safe form) '(((quote emacs))))
- t
- form))))
-
(put 'set 'byte-optimizer 'byte-optimize-set)
(defun byte-optimize-set (form)
(let ((var (car-safe (cdr-safe form))))
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)