mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-03 14:10:47 -08:00
(comint-read-input-ring): Bugfix such that the first
and the last entry of the input ring file are not lost.
This commit is contained in:
parent
9b5360aa71
commit
3e8abfd398
1 changed files with 15 additions and 16 deletions
|
|
@ -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)))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue