changeset 46690:68c134e00c87

(byte-compile-set-symbol-position): Don't recompute `entry' on each iteration. (byte-compile-delete-first): Make it defsubst.
author Richard M. Stallman <rms@gnu.org>
date Thu, 25 Jul 2002 18:18:10 +0000
parents 90b567ad02ed
children ac544e207278
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 11 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Thu Jul 25 18:16:45 2002 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Thu Jul 25 18:18:10 2002 +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.106 $")
+(defconst byte-compile-version "$Revision: 2.107 $")
 
 ;; This file is part of GNU Emacs.
 
@@ -848,7 +848,7 @@
   "Last known character position in the input.")
 
 ;; copied from gnus-util.el
-(defun byte-compile-delete-first (elt list)
+(defsubst byte-compile-delete-first (elt list)
   (if (eq (car list) elt)
       (cdr list)
     (let ((total list))
@@ -872,18 +872,16 @@
 ;; gross hack?  And the answer, of course, would be yes.
 (defun byte-compile-set-symbol-position (sym &optional allow-previous)
   (when byte-compile-read-position
-    (let ((last nil))
+    (let (last entry)
       (while (progn
-	       (setq last byte-compile-last-position)
-	       (let* ((entry (assq sym read-symbol-positions-list))
-		      (cur (cdr entry)))
-		 (setq byte-compile-last-position
-		       (if cur
-			   (+ byte-compile-read-position cur)
-			 last))
-		 (setq
-		  read-symbol-positions-list
-		  (byte-compile-delete-first entry read-symbol-positions-list)))
+           (setq last byte-compile-last-position
+             entry (assq sym read-symbol-positions-list))
+           (when entry
+           (setq byte-compile-last-position
+             (+ byte-compile-read-position (cdr entry))
+             read-symbol-positions-list
+             (byte-compile-delete-first
+              entry read-symbol-positions-list)))
 	       (or (and allow-previous (not (= last byte-compile-last-position)))
 		   (> last byte-compile-last-position)))))))