changeset 26940:f1998d661bc2

Remove conditional definition of eval-when-compile. Don't specify abs, expt, gethash, hash-table-count, hash-table-p as side-effect-free here. (cl-emacs-type): Don't declare. (cl-compile-time-init): Remove Emacs 18 compiler patch. (cl-parse-loop-clause): Remove compatibility code.
author Dave Love <fx@gnu.org>
date Sat, 18 Dec 1999 17:10:56 +0000
parents 672e75118c0f
children 8584ef89a2bd
files lisp/emacs-lisp/cl-macs.el
diffstat 1 files changed, 6 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/cl-macs.el	Sat Dec 18 17:00:52 1999 +0000
+++ b/lisp/emacs-lisp/cl-macs.el	Sat Dec 18 17:10:56 1999 +0000
@@ -32,8 +32,6 @@
 ;; This package was written by Dave Gillespie; it is a complete
 ;; rewrite of Cesar Quiroz's original cl.el package of December 1986.
 ;;
-;; This package works with Emacs 18, Emacs 19, and Lucid Emacs 19.
-;;
 ;; Bug reports, comments, and suggestions are welcome!
 
 ;; This file contains the portions of the Common Lisp extensions
@@ -63,7 +61,6 @@
 (put 'cl-pop 'edebug-form-spec 'edebug-sexps)
 (put 'cl-pop2 'edebug-form-spec 'edebug-sexps)
 
-(defvar cl-emacs-type)
 (defvar cl-optimize-safety)
 (defvar cl-optimize-speed)
 
@@ -86,20 +83,7 @@
 
 (defvar cl-old-bc-file-form nil)
 
-;; Patch broken Emacs 18 compiler (re top-level macros).
-;; Emacs 19 compiler doesn't need this patch.
-;; Also, undo broken definition of `eql' that uses same bytecode as `eq'.
 (defun cl-compile-time-init ()
-  (setq cl-old-bc-file-form (symbol-function 'byte-compile-file-form))
-  (or (fboundp 'byte-compile-flush-pending)   ; Emacs 19 compiler?
-      (defalias 'byte-compile-file-form
-	(function
-	 (lambda (form)
-	   (setq form (macroexpand form byte-compile-macro-environment))
-	   (if (eq (car-safe form) 'progn)
-	       (cons 'progn (mapcar 'byte-compile-file-form (cdr form)))
-	     (funcall cl-old-bc-file-form form))))))
-  (put 'eql 'byte-compile 'cl-byte-compile-compiler-macro)
   (run-hooks 'cl-hack-bytecomp-hook))
 
 
@@ -398,13 +382,6 @@
 	     form)))
 	(t (eval form) form)))
 
-(or (and (fboundp 'eval-when-compile)
-	 (not (eq (car-safe (symbol-function 'eval-when-compile)) 'autoload)))
-    (eval '(defmacro eval-when-compile (&rest body)
-	     "Like `progn', but evaluates the body at compile time.
-The result of the body appears to the compiler as a quoted constant."
-	     (list 'quote (eval (cons 'progn body))))))
-
 (defmacro load-time-value (form &optional read-only)
   "Like `progn', but evaluates the body at load time.
 The result of the body appears to the compiler as a quoted constant."
@@ -862,24 +839,20 @@
 
 	       ((memq word '(frame frames screen screens))
 		(let ((temp (gensym)))
-		  (cl-push (list var (if (eq cl-emacs-type 'lucid)
-					 '(selected-screen) '(selected-frame)))
+		  (cl-push (list var  '(selected-frame))
 			   loop-for-bindings)
 		  (cl-push (list temp nil) loop-for-bindings)
 		  (cl-push (list 'prog1 (list 'not (list 'eq var temp))
 				 (list 'or temp (list 'setq temp var)))
 			   loop-body)
-		  (cl-push (list var (list (if (eq cl-emacs-type 'lucid)
-					       'next-screen 'next-frame) var))
+		  (cl-push (list var (list 'next-frame var))
 			   loop-for-steps)))
 
 	       ((memq word '(window windows))
 		(let ((scr (and (memq (car args) '(in of)) (cl-pop2 args)))
 		      (temp (gensym)))
 		  (cl-push (list var (if scr
-					 (list (if (eq cl-emacs-type 'lucid)
-						   'screen-selected-window
-						 'frame-selected-window) scr)
+					 (list 'frame-selected-window scr)
 				       '(selected-window)))
 			   loop-for-bindings)
 		  (cl-push (list temp nil) loop-for-bindings)
@@ -2625,14 +2598,14 @@
 
 ;;; Things that are side-effect-free.
 (mapcar (function (lambda (x) (put x 'side-effect-free t)))
-	'(oddp evenp abs expt signum last butlast ldiff pairlis gcd lcm
+	'(oddp evenp signum last butlast ldiff pairlis gcd lcm
 	  isqrt floor* ceiling* truncate* round* mod* rem* subseq
-	  list-length get* getf gethash hash-table-count))
+	  list-length get* getf))
 
 ;;; Things that are side-effect-and-error-free.
 (mapcar (function (lambda (x) (put x 'side-effect-free 'error-free)))
 	'(eql floatp-safe list* subst acons equalp random-state-p
-	  copy-tree sublis hash-table-p))
+	  copy-tree sublis))
 
 
 (run-hooks 'cl-macs-load-hook)