1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-08 20:58:58 +00:00

Don't record eshell/clear "command" in history (Bug#25838)

`eshell/clear' is implemented by sending a series of blank lines,
which is not a useful thing to have in the history.

* lisp/eshell/em-hist.el (eshell-input-filter-default): Use
`string-blank-p' which does check for newlines (even though newlines
have comment-end syntax, not whitespace syntax class).
* lisp/eshell/esh-mode.el (eshell/clear): Remove
`eshell-add-to-history' from `eshell-input-filter-functions' while
sending the blank lines.  This change is needed to solve the bug if
the user customizes `eshell-input-filter' to something that doesn't
filter newlines.
This commit is contained in:
Noam Postavsky 2017-02-22 21:48:29 -05:00
parent d83c75ec19
commit 4676542062
2 changed files with 6 additions and 3 deletions

View File

@ -55,6 +55,7 @@
;;; Code:
(eval-when-compile (require 'cl-lib))
(eval-when-compile (require 'subr-x)) ; `string-blank-p'
(require 'ring)
(require 'esh-opt)
@ -208,7 +209,7 @@ element, regardless of any text on the command line. In that case,
(defun eshell-input-filter-default (input)
"Do not add blank input to input history.
Returns non-nil if INPUT is blank."
(not (string-match "\\`\\s-*\\'" input)))
(not (string-blank-p input)))
(defun eshell-input-filter-initial-space (input)
"Do not add input beginning with empty space to history.

View File

@ -882,8 +882,10 @@ If SCROLLBACK is non-nil, clear the scrollback contents."
(interactive)
(if scrollback
(eshell/clear-scrollback)
(insert (make-string (window-size) ?\n))
(eshell-send-input)))
(let ((eshell-input-filter-functions
(remq 'eshell-add-to-history eshell-input-filter-functions)))
(insert (make-string (window-size) ?\n))
(eshell-send-input))))
(defun eshell/clear-scrollback ()
"Clear the scrollback content of the eshell window."