Mercurial > emacs
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