]> git.eshelyaron.com Git - emacs.git/commitdiff
(comint-read-input-ring): Bugfix such that the first
authorGerd Moellmann <gerd@gnu.org>
Wed, 18 Oct 2000 14:42:38 +0000 (14:42 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 18 Oct 2000 14:42:38 +0000 (14:42 +0000)
and the last entry of the input ring file are not lost.

lisp/comint.el

index 8edd77340ee4d7357c81e49989eae8d30170cccb..318e1566b0d8cf0b2b5b34461e6a5c917f8c613c 100644 (file)
@@ -838,22 +838,21 @@ See also `comint-input-ignoredups' and `comint-write-input-ring'."
                 ;; Save restriction in case file is already visited...
                 ;; Watch for those date stamps in history files!
                 (goto-char (point-max))
-                (while (and (< count size)
-                            (re-search-backward "^[ \t]*\\([^#\n].*\\)[ \t]*$"
-                                                nil t))
-              (let (start end history)
-                (while (and (< count comint-input-ring-size)
-                            (re-search-backward comint-input-ring-separator nil t)
-                            (setq end (match-beginning 0))
-                            (re-search-backward comint-input-ring-separator nil t)
-                            (setq start (match-end 0))
-                            (setq history (buffer-substring start end))
-                            (goto-char start))
-                  (if (or (null comint-input-ignoredups)
-                          (ring-empty-p ring)
-                          (not (string-equal (ring-ref ring 0) history)))
-                      (ring-insert-at-beginning ring history)))
-                (setq count (1+ count)))))
+                (let (start end history)
+                  (while (and (< count comint-input-ring-size)
+                              (re-search-backward comint-input-ring-separator nil t)
+                              (setq end (match-beginning 0)))
+                    (if (re-search-backward comint-input-ring-separator nil t)
+                        (setq start (match-end 0))
+                      (setq start (point-min)))
+                    (setq history (buffer-substring start end))
+                    (goto-char start)
+                    (if (or (null comint-input-ignoredups)
+                            (ring-empty-p ring)
+                            (not (string-equal (ring-ref ring 0) history)))
+                        (progn
+                          (ring-insert-at-beginning ring history)
+                          (setq count (1+ count)))))))
             (kill-buffer history-buf))
           (setq comint-input-ring ring
                 comint-input-ring-index nil)))))