Add an option for eshell-input-filter
* etc/NEWS: Document changes. * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function symbol. Change type to a radio for choosing functions. Refer to both new functions. (eshell-input-filter-default): New function. Same body as the previous value of eshell-input-filter. (eshell-input-filter-initial-space): New function.
This commit is contained in:
parent
2ce01c494d
commit
224443922c
2 changed files with 21 additions and 5 deletions
7
etc/NEWS
7
etc/NEWS
|
@ -308,6 +308,13 @@ viewing HTML files and the like.
|
|||
breakpoint (e.g. with "f" and "o") by customizing the new option
|
||||
'edebug-sit-on-break'.
|
||||
|
||||
** Eshell
|
||||
|
||||
*** 'eshell-input-filter's value is now a named function
|
||||
'eshell-input-filter-default', and has a new custom option
|
||||
'eshell-input-filter-initial-space' to ignore adding commands prefixed
|
||||
with blank space to eshell history.
|
||||
|
||||
** eww
|
||||
|
||||
+++
|
||||
|
|
|
@ -119,15 +119,14 @@ If set to t, history will always be saved, silently."
|
|||
(const :tag "Always save" t))
|
||||
:group 'eshell-hist)
|
||||
|
||||
(defcustom eshell-input-filter
|
||||
(function
|
||||
(lambda (str)
|
||||
(not (string-match "\\`\\s-*\\'" str))))
|
||||
(defcustom eshell-input-filter 'eshell-input-filter-default
|
||||
"Predicate for filtering additions to input history.
|
||||
Takes one argument, the input. If non-nil, the input may be saved on
|
||||
the input history list. Default is to save anything that isn't all
|
||||
whitespace."
|
||||
:type 'function
|
||||
:type '(radio (function-item eshell-input-filter-default)
|
||||
(function-item eshell-input-filter-initial-space)
|
||||
(function :tag "Other function"))
|
||||
:group 'eshell-hist)
|
||||
|
||||
(put 'eshell-input-filter 'risky-local-variable t)
|
||||
|
@ -206,6 +205,16 @@ element, regardless of any text on the command line. In that case,
|
|||
|
||||
;;; Functions:
|
||||
|
||||
(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)))
|
||||
|
||||
(defun eshell-input-filter-initial-space (input)
|
||||
"Do not add input beginning with empty space to history.
|
||||
Returns nil if INPUT is prepended by blank space, otherwise non-nil."
|
||||
(not (string-match-p "\\`\\s-+" input)))
|
||||
|
||||
(defun eshell-hist-initialize ()
|
||||
"Initialize the history management code for one Eshell buffer."
|
||||
(add-hook 'eshell-expand-input-functions
|
||||
|
|
Loading…
Add table
Reference in a new issue