[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2244439: Add an option for eshell-input-filter
From: |
Mark Oteiza |
Subject: |
[Emacs-diffs] master 2244439: Add an option for eshell-input-filter |
Date: |
Tue, 18 Oct 2016 22:10:56 +0000 (UTC) |
branch: master
commit 224443922ce169ab0e21ad8495d32b269972c028
Author: Mark Oteiza <address@hidden>
Commit: Mark Oteiza <address@hidden>
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.
---
etc/NEWS | 7 +++++++
lisp/eshell/em-hist.el | 19 ++++++++++++++-----
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index c5245bc..4f88de9 100644
--- a/etc/NEWS
+++ b/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
+++
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 198b1d0..067c5ea 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 2244439: Add an option for eshell-input-filter,
Mark Oteiza <=