]> git.eshelyaron.com Git - emacs.git/commitdiff
(isearch-update-ring): Take history-delete-duplicates
authorDan Nicolaescu <dann@ics.uci.edu>
Wed, 3 May 2006 21:36:20 +0000 (21:36 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Wed, 3 May 2006 21:36:20 +0000 (21:36 +0000)
into consideration. Replace one arm ifs with whens.

lisp/ChangeLog
lisp/isearch.el

index 2a402f88c01a7c3f1e822ed8b8914a1527f95e13..52bf5a0a6861266aee9296776ec8b7be2352eabb 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-03  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * isearch.el (isearch-update-ring): Take history-delete-duplicates
+       into consideration. Replace one arm ifs with whens.
+
 2006-05-03  Nick Roberts  <nickrob@snap.net.nz>
 
        * progmodes/gdb-ui.el (gud-watch): Let user select an expression.
index 7e491c378ab21104115282185fbe108c8ebf19d9..e82f47f37e41899eabeca7152e5526b9b2c1d4a4 100644 (file)
@@ -832,19 +832,20 @@ NOPUSH is t and EDIT is t."
   "Add STRING to the beginning of the search ring.
 REGEXP says which ring to use."
   (if regexp
-      (if (or (null regexp-search-ring)
-             (not (string= string (car regexp-search-ring))))
-         (progn
-           (push string regexp-search-ring)
-           (if (> (length regexp-search-ring) regexp-search-ring-max)
-               (setcdr (nthcdr (1- search-ring-max) regexp-search-ring)
-                       nil))))
-    (if (or (null search-ring)
-           (not (string= string (car search-ring))))
-       (progn
-         (push string search-ring)
-         (if (> (length search-ring) search-ring-max)
-             (setcdr (nthcdr (1- search-ring-max) search-ring) nil))))))
+      (when (or (null regexp-search-ring)
+               (not (string= string (car regexp-search-ring))))
+       (when history-delete-duplicates
+         (setq regexp-search-ring (delete string regexp-search-ring)))
+       (push string regexp-search-ring)
+       (when (> (length regexp-search-ring) regexp-search-ring-max)
+         (setcdr (nthcdr (1- search-ring-max) regexp-search-ring) nil)))
+    (when (or (null search-ring)
+             (not (string= string (car search-ring))))
+      (when history-delete-duplicates
+       (setq search-ring (delete string search-ring)))
+      (push string search-ring)
+      (when (> (length search-ring) search-ring-max)
+       (setcdr (nthcdr (1- search-ring-max) search-ring) nil)))))
 
 ;; Switching buffers should first terminate isearch-mode.
 ;; ;; For Emacs 19, the frame switch event is handled.