]> git.eshelyaron.com Git - emacs.git/commit
Put Eshell's bookkeeping data for external processes on the process object
authorJim Porter <jporterbugs@gmail.com>
Sun, 28 Aug 2022 18:19:30 +0000 (11:19 -0700)
committerJim Porter <jporterbugs@gmail.com>
Sun, 4 Sep 2022 22:15:01 +0000 (15:15 -0700)
commita87c7aff554213651678e9390dd7500b11419012
tree50a130c8a4e8374e81dc0c8a4f53b8afd629effc
parentab7e94fb1d9b794c9d199435d72f569fba6ab017
Put Eshell's bookkeeping data for external processes on the process object

This allows tracking this information for process objects not recorded
in 'eshell-process-list', which will be useful for pipe processes for
stderr output.

* lisp/eshell/esh-proc.el (eshell-process-list): Add docstring.
(eshell-record-process-object): Only record the process object and
whether it's a subjob.
(eshell-remove-process-entry): Adapt to changes in
'eshell-record-process-object'.
(eshell-record-process-properties): New function...
(eshell-gather-process-output): ... call it.
(eshell-insertion-filter, eshell-sentinel): Use new process
properties, don't require process to be in 'eshell-process-list'.

* test/lisp/eshell/esh-proc-tests.el (esh-proc-test--output-cmd): New
variable.
(esh-proc-test--detect-pty-cmd): Add docstring.
(esh-proc-test/output/to-screen)
(esh-proc-test/output/stdout-and-stderr-to-buffer)
(esh-proc-test/exit-status/success, esh-proc-test/exit-status/failure)
(esh-proc-test/kill-process/foreground-only): New tests.
(esh-proc-test/kill-background-process): Rename to...
(esh-proc-test/kill-process/background-prompt): ... this, and use
'eshell-wait-for-subprocess' instead of 'sit-for'.
lisp/eshell/esh-proc.el
test/lisp/eshell/esh-proc-tests.el