]> git.eshelyaron.com Git - emacs.git/commitdiff
(ansi-color-get-face): Avoid add-to-list on local var.
authorRichard M. Stallman <rms@gnu.org>
Sun, 12 May 2002 16:46:54 +0000 (16:46 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 12 May 2002 16:46:54 +0000 (16:46 +0000)
(ansi-color-apply-sequence): Avoid duplicates in combined face list.

lisp/ansi-color.el

index 0412392cd05f179518b95b48214ea5fdcc273ff6..3c15528d09223fcd824eda9304df6784181a1a5e 100644 (file)
@@ -554,7 +554,13 @@ case we return nil."
          ((eq (car new-faces) 'default)
           (cdr new-faces))
          (t
-          (append new-faces faces)))))
+          ;; Like (append NEW-FACES FACES)
+          ;; but delete duplicates in FACES.
+          (let ((modified-faces (copy-sequence faces)))
+            (dolist (face (nreverse new-faces))
+              (setq modified-faces (delete face modified-faces))
+              (push face modified-faces))
+            modified-faces)))))
 
 (defun ansi-color-make-color-map ()
   "Creates a vector of face definitions and returns it.
@@ -637,7 +643,8 @@ ESCAPE-SEQ is a SGR control sequences such as \\033[34m.  The parameter
            ((eq val 'default)
             (setq f (list val)))
            (t
-            (add-to-list 'f val))))
+            (unless (member val f)
+              (push val f)))))
     f))
 
 (provide 'ansi-color)