CVS update by aidan xemacs/lisp ...

xemacs-cvs at xemacs.org xemacs-cvs at xemacs.org
Mon Oct 15 06:55:51 EDT 2007


  User: aidan   
  Date: 07/10/15 12:55:51

  Modified:    xemacs/lisp ChangeLog byte-optimize.el
Log:
Add a correct version of the (featurep 'xemacs) optimisation.

Revision  Changes    Path
1.852     +11 -0     XEmacs/xemacs/lisp/ChangeLog

Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.851
retrieving revision 1.852
diff -u -p -r1.851 -r1.852
--- ChangeLog	2007/10/15 10:53:33	1.851
+++ ChangeLog	2007/10/15 10:55:49	1.852
@@ -1,3 +1,14 @@
+2007-10-01  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* byte-optimize.el:
+	* byte-optimize.el (byte-optimize-ever-present-features): New.
+	* byte-optimize.el (byte-optimize-featurep): New.
+	Optimise calls to (featurep 'xemacs) to t, since our byte code
+	refuses to run on GNU Emacs. Also optimises away checks for cl,
+	cl-extra, cl-19 and backquote, a conservative list of those
+	features that have been available in every XEmacs build since the
+	last time our opcodes changed. 
+
 2007-10-14  Aidan Kehoe  <kehoea at parhasard.net>
 
 	* coding.el:



1.13      +15 -0     XEmacs/xemacs/lisp/byte-optimize.el

Index: byte-optimize.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/byte-optimize.el,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- byte-optimize.el	2007/09/15 19:11:55	1.12
+++ byte-optimize.el	2007/10/15 10:55:49	1.13
@@ -1169,6 +1169,21 @@
 	(eval form)
       form)))
 
+(defvar byte-optimize-ever-present-features 
+  '(xemacs cl cl-extra cl-19 backquote))
+
+(put 'featurep 'byte-optimizer 'byte-optimize-featurep)
+(defun byte-optimize-featurep (form)
+  (let ((to-check (cdr-safe form)))
+    (if (memq (car-safe
+	       (cdr-safe
+		(car-safe
+		 (cdr-safe 
+		  form))))
+	      byte-optimize-ever-present-features)
+	t
+      form)))
+
 
 ;;; enumerating those functions which need not be called if the returned
 ;;; value is not used.  That is, something like





More information about the XEmacs-CVS mailing list