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:
parent
d83c75ec19
commit
4676542062
@ -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.
|
||||
|
@ -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."
|
||||
|
Loading…
x
Reference in New Issue
Block a user