summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/eshell/em-term.el13
2 files changed, 12 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 31746dd8de2..b7173c5cacf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,10 @@
2013-06-09 Aidan Gauland <aidalgol@amuri.net>
+ * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused
+ output redirection to be ignored with visual commands.
+
+2013-06-09 Aidan Gauland <aidalgol@amuri.net>
+
* eshell/em-term.el (eshell-visual-command-p): New function.
(eshell-term-initialize): Move long lambda to separate function eshell-visual-command-p.
* eshell/em-dirs.el (eshell-dirs-initialise): Add missing #' to lambda.
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index 1ed584df882..1d4b2a59d4b 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -141,12 +141,13 @@ character to the invoked process."
If either COMMAND or a subcommand in ARGS (e.g. git log) is a
visual command, returns non-nil."
(let ((command (file-name-nondirectory command)))
- (or (member command eshell-visual-commands)
- (member (car args)
- (cdr (assoc command eshell-visual-subcommands)))
- (cl-intersection args
- (cdr (assoc command eshell-visual-options))
- :test 'string=))))
+ (and (eshell-interactive-output-p)
+ (or (member command eshell-visual-commands)
+ (member (car args)
+ (cdr (assoc command eshell-visual-subcommands)))
+ (cl-intersection args
+ (cdr (assoc command eshell-visual-options))
+ :test 'string=)))))
(defun eshell-exec-visual (&rest args)
"Run the specified PROGRAM in a terminal emulation buffer.