]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Jun 2012 13:16:34 +0000 (09:16 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Jun 2012 13:16:34 +0000 (09:16 -0400)
* lisp/emacs-lisp/bytecomp.el (featurep): ...here.

Fixes: debbugs:11692
lisp/ChangeLog
lisp/emacs-lisp/byte-opt.el
lisp/emacs-lisp/bytecomp.el

index 0ad97e58935f680d017428b4b62dd78aff66411d..920c9efb87478a7c18f0ebc08cad10e903cf6773 100644 (file)
@@ -1,5 +1,8 @@
 2012-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
+       * emacs-lisp/bytecomp.el (featurep): ...here (bug#11692).
+
        * emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt
        (bug#11649).  Add cl-defun and cl-defmacro.
 
index ab0e22fb5ce72005a46c643ac30ff6775bc22c68..92a10dff7748173524ad63198d704e471d4f4b2a 100644 (file)
 ;; 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))))
index a65a355bfdf415332d7488fa17042c4f8afad250..934c0f01fcdd33b929534925cac42a86f8db6b36 100644 (file)
@@ -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)