diff lisp/subr.el @ 73555:3f351640d09f

(add-to-list): Don't continue checking if a match has been found.
author David Kastrup <dak@gnu.org>
date Mon, 30 Oct 2006 22:49:04 +0000
parents c470e5e21c36
children 201aa7c21cab 02cf29720f31
line wrap: on
line diff
--- a/lisp/subr.el	Mon Oct 30 22:15:21 2006 +0000
+++ b/lisp/subr.el	Mon Oct 30 22:49:04 2006 +0000
@@ -1108,11 +1108,11 @@
        ((eq compare-fn 'eql)
 	(memql element (symbol-value list-var)))
        (t
-	(let (present)
-	  (dolist (elt (symbol-value list-var))
-	    (if (funcall compare-fn element elt)
-		(setq present t)))
-	  present)))
+	(let ((lst (symbol-value list-var)))
+	  (while (and lst
+		      (not (funcall compare-fn element (car lst))))
+	    (setq lst (cdr lst)))
+          lst)))
       (symbol-value list-var)
     (set list-var
 	 (if append