Commit 3e8abfd3 authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(comint-read-input-ring): Bugfix such that the first

and the last entry of the input ring file are not lost.
parent 9b5360aa
......@@ -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)))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment