emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r108596: * lisp/emacs-lisp/byte-opt.e


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r108596: * lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
Date: Wed, 13 Jun 2012 09:16:34 -0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 108596
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11692
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Wed 2012-06-13 09:16:34 -0400
message:
  * lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
  * lisp/emacs-lisp/bytecomp.el (featurep): ...here.
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/byte-opt.el
  lisp/emacs-lisp/bytecomp.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-06-13 12:46:33 +0000
+++ b/lisp/ChangeLog    2012-06-13 13:16:34 +0000
@@ -1,5 +1,8 @@
 2012-06-13  Stefan Monnier  <address@hidden>
 
+       * 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.
 

=== modified file 'lisp/emacs-lisp/byte-opt.el'
--- a/lisp/emacs-lisp/byte-opt.el       2012-06-10 13:28:26 +0000
+++ b/lisp/emacs-lisp/byte-opt.el       2012-06-13 13:16:34 +0000
@@ -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))))

=== modified file 'lisp/emacs-lisp/bytecomp.el'
--- a/lisp/emacs-lisp/bytecomp.el       2012-06-11 15:52:50 +0000
+++ b/lisp/emacs-lisp/bytecomp.el       2012-06-13 13:16:34 +0000
@@ -4539,6 +4539,16 @@
     (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)
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]