diff options
| author | Glenn Morris | 2008-11-25 04:26:22 +0000 |
|---|---|---|
| committer | Glenn Morris | 2008-11-25 04:26:22 +0000 |
| commit | 975c500dacaa09bbfb413babe34c996e63286835 (patch) | |
| tree | 078ca8fbd9280a07d4f1bb08f04136e80d4f00ed /lisp/eshell | |
| parent | 7efa8076ba599214d8e2cd9081ff9b40d6ffdb37 (diff) | |
| download | emacs-975c500dacaa09bbfb413babe34c996e63286835.tar.gz emacs-975c500dacaa09bbfb413babe34c996e63286835.zip | |
(eshell-gather-process-output): Revert previous change. (re-opens Bug#1388)
Diffstat (limited to 'lisp/eshell')
| -rw-r--r-- | lisp/eshell/esh-proc.el | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index 39fea83cd8d..25d9dd64663 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el | |||
| @@ -250,27 +250,11 @@ Used only on systems which do not support async subprocesses.") | |||
| 250 | (cond | 250 | (cond |
| 251 | ((fboundp 'start-process) | 251 | ((fboundp 'start-process) |
| 252 | (setq proc | 252 | (setq proc |
| 253 | ;; Bug#1388. Some commands (eg bc) check isatty to decide | 253 | (apply 'start-process |
| 254 | ;; whether they are being called interactively. | 254 | (file-name-nondirectory command) nil |
| 255 | ;; A normal shell pipeline has: | 255 | ;; `start-process' can't deal with relative |
| 256 | ;; first: stdin tty , stdout pipe | 256 | ;; filenames |
| 257 | ;; rest : stdin pipe, stdout pipe | 257 | (append (list (expand-file-name command)) args))) |
| 258 | ;; last : stdin pipe, stdout tty | ||
| 259 | ;; We have: | ||
| 260 | ;; first: stdin tty , stdout tty | ||
| 261 | ;; last : stdin pipe, stdout pipe | ||
| 262 | ;; In other words, the first and last elements have the | ||
| 263 | ;; wrong kind of stdout. (Perhaps this does not matter much...) | ||
| 264 | ;; FIXME which is better for the first element: | ||
| 265 | ;; tty/tty (as now), or pipe/pipe? | ||
| 266 | (let ((process-connection-type | ||
| 267 | (unless (and eshell-in-pipeline-p | ||
| 268 | (not (eq eshell-in-pipeline-p 'first))) | ||
| 269 | process-connection-type))) | ||
| 270 | (apply 'start-process | ||
| 271 | (file-name-nondirectory command) nil | ||
| 272 | ;; `start-process' can't deal with relative filenames | ||
| 273 | (append (list (expand-file-name command)) args)))) | ||
| 274 | (eshell-record-process-object proc) | 258 | (eshell-record-process-object proc) |
| 275 | (set-process-buffer proc (current-buffer)) | 259 | (set-process-buffer proc (current-buffer)) |
| 276 | (if (eshell-interactive-output-p) | 260 | (if (eshell-interactive-output-p) |