changeset 16149:eb953f4baf7b

(byte-compile-out-toplevel): Undo previous change. (byte-compile-byte-code-maker): Undo previous change.
author Richard M. Stallman <rms@gnu.org>
date Tue, 10 Sep 1996 19:22:12 +0000
parents 8ca583c0b988
children f388360fb59a
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 9 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Tue Sep 10 17:57:05 1996 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Tue Sep 10 19:22:12 1996 +0000
@@ -10,7 +10,7 @@
 
 ;;; This version incorporates changes up to version 2.10 of the 
 ;;; Zawinski-Furuseth compiler.
-(defconst byte-compile-version "$Revision: 2.16 $")
+(defconst byte-compile-version "$Revision: 2.17 $")
 
 ;; This file is part of GNU Emacs.
 
@@ -1846,38 +1846,7 @@
    ((atom fun)				; compiled function.
     ;; generate-emacs19-bytecodes must be on, otherwise byte-compile-lambda
     ;; would have produced a lambda.
-    (let ((const-vector (aref fun 2))
-	  (i 0)
-	  (uninterned nil))
-      ;; Find all the uninterned symbols that appear
-      ;; as constants in this function.
-      (while (< i (length const-vector))
-	(and (symbolp (aref const-vector i))
-	     (not (eq (aref const-vector i)
-		      (intern-soft (symbol-name (aref const-vector i)))))
-	     (setq uninterned (cons i uninterned)))
-	(setq i (1+ i)))
-      ;; Arrange to regenrate the uninterned symbols
-      ;; when we read in this code to produce the compiled function.
-      (if uninterned
-	  (let (modifiers)
-	    (while uninterned
-	      (let ((symbol (aref const-vector (car uninterned)))
-		    fixup)
-		(setq fixup
-		      ;; Some uninterned symbols specify how to
-		      ;; regenerate them.
-		      (if (get symbol 'byte-compile-regenerate)
-			  `(aset const-vector ,(car uninterned)
-				 ,(get symbol 'byte-compile-regenerate))
-			`(aset const-vector ,(car uninterned)
-			       (make-symbol ',(symbol-name symbol)))))
-		(setq modifiers (cons fixup modifiers)))
-	      (setq uninterned (cdr uninterned)))
-	    `(let* ((function ,fun) (const-vector (aref function 2)))
-	       ,@modifiers
-	       function))
-	fun)))
+    fun)
    ;; b-c-lambda didn't produce a compiled-function, so it's either a trivial
    ;; function, or this is Emacs 18, or generate-emacs19-bytecodes is off.
    ((let (tmp)
@@ -2088,20 +2057,13 @@
 	    (while (cond
 		    ((memq (car (car rest)) '(byte-varref byte-constant))
 		     (setq tmp (car (cdr (car rest))))
-		     ;; If we find an uninterned symbol as a constant
-		     ;; or variable, this expression must be compiled!
-		     ;; That is because byte-compile-byte-code-maker
-		     ;; must get a chance to process the uninterned symbol.
-		     (if (and (symbolp tmp)
-			      (not (eq tmp (intern-soft (symbol-name tmp)))))
-			 nil
-		       (if (if (eq (car (car rest)) 'byte-constant)
-			       (or (consp tmp)
-				   (and (symbolp tmp)
-					(not (memq tmp '(nil t))))))
-			   (if maycall
-			       (setq body (cons (list 'quote tmp) body)))
-			 (setq body (cons tmp body)))))
+		     (if (if (eq (car (car rest)) 'byte-constant)
+			     (or (consp tmp)
+				 (and (symbolp tmp)
+				      (not (memq tmp '(nil t))))))
+			 (if maycall
+			     (setq body (cons (list 'quote tmp) body)))
+		       (setq body (cons tmp body))))
 		    ((and maycall
 			  ;; Allow a funcall if at most one atom follows it.
 			  (null (nthcdr 3 rest))