From: Leo Liu Date: Fri, 17 Dec 2010 11:04:40 +0000 (+0800) Subject: Minor fix for eshell-previous-matching-input (Bug#7585). X-Git-Tag: emacs-pretest-23.2.92~52 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c33fa63197e674bf95097b3dfb9d1cb3bfd8ac62;p=emacs.git Minor fix for eshell-previous-matching-input (Bug#7585). * lisp/eshell/em-hist.el (eshell-previous-matching-input): Signal error if point is not behind eshell-last-output-end (Bug#7585). --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8eda1582948..9d3b38bba11 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-12-17 Leo + + * eshell/em-hist.el (eshell-previous-matching-input): Signal error + if point is not behind eshell-last-output-end (Bug#7585). + 2010-12-16 Chong Yidong * textmodes/rst.el (rst-compile-pdf-preview) diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index 37a926f888a..7f2e3b4b1a5 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -837,6 +837,8 @@ With prefix argument N, search for Nth previous match. If N is negative, find the next or Nth next match." (interactive (eshell-regexp-arg "Previous input matching (regexp): ")) (setq arg (eshell-search-arg arg)) + (if (> eshell-last-output-end (point)) + (error "Point not located after prompt")) (let ((pos (eshell-previous-matching-input-string-position regexp arg))) ;; Has a match been found? (if (null pos) @@ -844,7 +846,7 @@ If N is negative, find the next or Nth next match." (setq eshell-history-index pos) (unless (minibuffer-window-active-p (selected-window)) (message "History item: %d" (- (ring-length eshell-history-ring) pos))) - ;; Can't use kill-region as it sets this-command + ;; Can't use kill-region as it sets this-command (delete-region eshell-last-output-end (point)) (insert-and-inherit (eshell-get-history pos)))))