summaryrefslogtreecommitdiff
path: root/lisp/comint.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-10-01 21:22:21 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-10-01 21:22:28 +0200
commit9b54d2b66e1ea70305897fe8c8d01b555611c29a (patch)
treeed1d727d70ccb9ed777493ed0d57edebcf240fc1 /lisp/comint.el
parent84d7fdbee55e4547df8fc401a6cd068a723c61ae (diff)
downloademacs-9b54d2b66e1ea70305897fe8c8d01b555611c29a.tar.gz
Respect buffer-local values in comint-read-input-ring
* lisp/comint.el (comint-read-input-ring): Use the buffer-local values (bug#6432).
Diffstat (limited to 'lisp/comint.el')
-rw-r--r--lisp/comint.el17
1 files changed, 9 insertions, 8 deletions
diff --git a/lisp/comint.el b/lisp/comint.el
index 049e9e71a79..4bb43670354 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -971,7 +971,11 @@ See also `comint-input-ignoredups' and `comint-write-input-ring'."
;; to huge numbers. Don't allocate a huge ring right
;; away; there might not be that much history.
(ring-size (min 1500 comint-input-ring-size))
- (ring (make-ring ring-size)))
+ (ring (make-ring ring-size))
+ ;; Use possibly buffer-local values of these variables.
+ (ring-separator comint-input-ring-separator)
+ (history-ignore comint-input-history-ignore)
+ (ignoredups comint-input-ignoredups))
(with-temp-buffer
(insert-file-contents file)
;; Save restriction in case file is already visited...
@@ -979,19 +983,16 @@ See also `comint-input-ignoredups' and `comint-write-input-ring'."
(goto-char (point-max))
(let (start end history)
(while (and (< count comint-input-ring-size)
- (re-search-backward comint-input-ring-separator
- nil t)
+ (re-search-backward ring-separator nil t)
(setq end (match-beginning 0)))
(setq start
- (if (re-search-backward comint-input-ring-separator
- nil t)
+ (if (re-search-backward ring-separator nil t)
(match-end 0)
(point-min)))
(setq history (buffer-substring start end))
(goto-char start)
- (when (and (not (string-match comint-input-history-ignore
- history))
- (or (null comint-input-ignoredups)
+ (when (and (not (string-match history-ignore history))
+ (or (null ignoredups)
(ring-empty-p ring)
(not (string-equal (ring-ref ring 0)
history))))