<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lisp/eshell/esh-proc.el, branch feature/android</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>; Add tests for synchronous processes in Eshell</title>
<updated>2023-04-02T21:15:45+00:00</updated>
<author>
<name>Jim Porter</name>
</author>
<published>2023-04-01T04:32:44+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=00144fa287eb168c1ba8e411e43fe13b9d2732ac'/>
<id>00144fa287eb168c1ba8e411e43fe13b9d2732ac</id>
<content type='text'>
Normally, Eshell only uses synchronous processes on MS-DOS, so this is
hard to test.  To get around this, let the tests explicitly request
synchronous processes.

* lisp/eshell/esh-proc.el (eshell-supports-asynchronous-processes):
New variable...
(eshell-gather-process-output): ... use it, and remove some incorrect
code updating Eshell's internal markers (the async code path doesn't
do this, so neither should the sync path).

* lisp/eshell/esh-cmd.el (eshell-execute-pipeline): Use
'eshell-supports-asynchronous-processes'.

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/emacs-command): New function.
(esh-proc-test/emacs-echo, esh-proc-test/emacs-upcase): New variables.
(esh-proc-test/synchronous-proc/simple/interactive)
(esh-proc-test/synchronous-proc/simple/command-result)
(esh-proc-test/synchronous-proc/pipeline/interactive)
(esh-proc-test/synchronous-proc/pipeline/command-result): New tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Normally, Eshell only uses synchronous processes on MS-DOS, so this is
hard to test.  To get around this, let the tests explicitly request
synchronous processes.

* lisp/eshell/esh-proc.el (eshell-supports-asynchronous-processes):
New variable...
(eshell-gather-process-output): ... use it, and remove some incorrect
code updating Eshell's internal markers (the async code path doesn't
do this, so neither should the sync path).

* lisp/eshell/esh-cmd.el (eshell-execute-pipeline): Use
'eshell-supports-asynchronous-processes'.

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/emacs-command): New function.
(esh-proc-test/emacs-echo, esh-proc-test/emacs-upcase): New variables.
(esh-proc-test/synchronous-proc/simple/interactive)
(esh-proc-test/synchronous-proc/simple/command-result)
(esh-proc-test/synchronous-proc/pipeline/interactive)
(esh-proc-test/synchronous-proc/pipeline/command-result): New tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure that Eshell users can run lines of command output as input</title>
<updated>2023-02-10T06:32:51+00:00</updated>
<author>
<name>Jim Porter</name>
</author>
<published>2023-02-06T05:37:08+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ab7c2f809219b0c29e7ee2b5ac66f18b0e657080'/>
<id>ab7c2f809219b0c29e7ee2b5ac66f18b0e657080</id>
<content type='text'>
Previously, this failed to work properly because any additional input
the user entered would have no 'field' property, confusing
'eshell-get-old-input'.  To fix this, we simply ensure that any
user-entered text in the output field retains said output field
(bug#61310).

* lisp/eshell/esh-util.el (eshell-command-output-properties): New
variable.
(eshell--mark-as-output, eshell--mark-yanked-as-output): New
functions, mostly copied from comint.

* lisp/eshell/esh-proc.el (eshell-interactive-process-filter):
* lisp/eshell/esh-mode.el (eshell-interactive-print): Call
'eshell--mark-as-output'.
(eshell-get-old-input): Remove properties from the returned string
just to be safe.

* test/lisp/eshell/eshell-tests.el (eshell-test-value): New variable.
(eshell-test/get-old-input/rerun-command)
(eshell-test/get-old-input/run-output): New tests.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test/field-properties)
(em-prompt-test/field-properties/no-highlight): Use
'eshell-command-output-properties'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, this failed to work properly because any additional input
the user entered would have no 'field' property, confusing
'eshell-get-old-input'.  To fix this, we simply ensure that any
user-entered text in the output field retains said output field
(bug#61310).

* lisp/eshell/esh-util.el (eshell-command-output-properties): New
variable.
(eshell--mark-as-output, eshell--mark-yanked-as-output): New
functions, mostly copied from comint.

* lisp/eshell/esh-proc.el (eshell-interactive-process-filter):
* lisp/eshell/esh-mode.el (eshell-interactive-print): Call
'eshell--mark-as-output'.
(eshell-get-old-input): Remove properties from the returned string
just to be safe.

* test/lisp/eshell/eshell-tests.el (eshell-test-value): New variable.
(eshell-test/get-old-input/rerun-command)
(eshell-test/get-old-input/run-output): New tests.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test/field-properties)
(em-prompt-test/field-properties/no-highlight): Use
'eshell-command-output-properties'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-29</title>
<updated>2023-01-27T10:30:38+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2023-01-27T10:30:38+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=12e419ad1157973ceae8b610e3ddf2e76cbeb488'/>
<id>12e419ad1157973ceae8b610e3ddf2e76cbeb488</id>
<content type='text'>
f8c95d1a768 Fix xt-mouse on terminals that report UTF-8 encoded coord...
4bf7cb71edc Fix go-ts-mode indentation and set indent offset to 8 (Bu...
ff9498624fc ; * src/insdel.c (insert_from_buffer): Fix assertions.
41f497c8bee Fix doc strings of window-splitting commands
cdf74254ffa Fix indentation for c-ts-mode (bug#61026)
4bd06ce2a9f Fix call to treesit_record_change in insdel.c
00675aa724a Add support for building tree-sitter modules with MinGW
af28191b04f * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
42e02480c2b * doc/emacs/text.texi (Outline Minor Mode): New node spli...
37c1c924666 ; * etc/NEWS: Minor reordering.
cfb180329b5 ruby-ts-mode: Don't reindent when "class" or "def" is und...
abb3becb9fb treesit-install-language-grammar: Provide default repo url
c6613403e5c Fix Dired face for directory symlinks
37454de0c8f Pacify --without-x unused function warning
9a21cb10751 ; * etc/NEWS: Fix typos.
f30a4f51fef Announce outline.el keymaps
8198803f660 ; Don't mention in the Gnus manual user options that were...
8a1498c01f7 Fix fontification of function-valued variables (bug#61053)
cfe26f31893 Add new java indent rules
987e53f3e2d ; * doc/misc/erc.texi: Improve Local Modules section.
3846e79c93b ; Fix filename mismatches in prop lines of ERC tests
ecf500b5e34 Handle relative file names in vc-resynch-window and vc-re...
695e9f71c3f Use named keymaps for outline buttons
e31a5623965 * lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's p...
deee3a92623 ; Fix last change in etc/NEWS
bc78285e686 ; * etc/NEWS: Fix typos.
c15c0f7f018 CC Mode: Change the default value of objc-font-lock-extra...
7f438ff543b Don't try to make a pipe process for remote processes in ...
cb9628373a8 * lisp/startup.el (command-line): Fix warning message.  (...
e6c5f32e77d * lisp/find-dired.el (find-dired): Fix bug where M-p skip...

# Conflicts:
#	etc/NEWS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
f8c95d1a768 Fix xt-mouse on terminals that report UTF-8 encoded coord...
4bf7cb71edc Fix go-ts-mode indentation and set indent offset to 8 (Bu...
ff9498624fc ; * src/insdel.c (insert_from_buffer): Fix assertions.
41f497c8bee Fix doc strings of window-splitting commands
cdf74254ffa Fix indentation for c-ts-mode (bug#61026)
4bd06ce2a9f Fix call to treesit_record_change in insdel.c
00675aa724a Add support for building tree-sitter modules with MinGW
af28191b04f * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
42e02480c2b * doc/emacs/text.texi (Outline Minor Mode): New node spli...
37c1c924666 ; * etc/NEWS: Minor reordering.
cfb180329b5 ruby-ts-mode: Don't reindent when "class" or "def" is und...
abb3becb9fb treesit-install-language-grammar: Provide default repo url
c6613403e5c Fix Dired face for directory symlinks
37454de0c8f Pacify --without-x unused function warning
9a21cb10751 ; * etc/NEWS: Fix typos.
f30a4f51fef Announce outline.el keymaps
8198803f660 ; Don't mention in the Gnus manual user options that were...
8a1498c01f7 Fix fontification of function-valued variables (bug#61053)
cfe26f31893 Add new java indent rules
987e53f3e2d ; * doc/misc/erc.texi: Improve Local Modules section.
3846e79c93b ; Fix filename mismatches in prop lines of ERC tests
ecf500b5e34 Handle relative file names in vc-resynch-window and vc-re...
695e9f71c3f Use named keymaps for outline buttons
e31a5623965 * lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's p...
deee3a92623 ; Fix last change in etc/NEWS
bc78285e686 ; * etc/NEWS: Fix typos.
c15c0f7f018 CC Mode: Change the default value of objc-font-lock-extra...
7f438ff543b Don't try to make a pipe process for remote processes in ...
cb9628373a8 * lisp/startup.el (command-line): Fix warning message.  (...
e6c5f32e77d * lisp/find-dired.el (find-dired): Fix bug where M-p skip...

# Conflicts:
#	etc/NEWS
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't try to make a pipe process for remote processes in Eshell</title>
<updated>2023-01-23T17:48:09+00:00</updated>
<author>
<name>Jim Porter</name>
</author>
<published>2023-01-23T06:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7f438ff543b7bd83cee6c75be1d16abc1215d37f'/>
<id>7f438ff543b7bd83cee6c75be1d16abc1215d37f</id>
<content type='text'>
Tramp currently isn't able to handle this, so the result will just
produce an error (bug#61024).

* lisp/eshell/esh-proc.el (eshell-gather-process-output): Check for a
remote 'default-directory' before trying to make a pipe process.

* test/lisp/eshell/esh-proc-tests.el
(esh-var-test/output/remote-redirect): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tramp currently isn't able to handle this, so the result will just
produce an error (bug#61024).

* lisp/eshell/esh-proc.el (eshell-gather-process-output): Check for a
remote 'default-directory' before trying to make a pipe process.

* test/lisp/eshell/esh-proc-tests.el
(esh-var-test/output/remote-redirect): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set the 'field' property for Eshell output</title>
<updated>2023-01-14T19:09:02+00:00</updated>
<author>
<name>Jim Porter</name>
</author>
<published>2023-01-08T21:00:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=558f04c39e036d2f681f72556627768d7bee9ab5'/>
<id>558f04c39e036d2f681f72556627768d7bee9ab5</id>
<content type='text'>
This makes Eshell work more like 'M-x shell', and lets the &lt;home&gt; key
move to the beginning of the user's input at the prompt (bug#60666).

* lisp/eshell/em-prompt.el (eshell-emit-prompt): Add 'field' property
to prompt.
(eshell-bol-ignoring-prompt): New function.

* lisp/eshell/esh-io.el: Declare 'eshell-interactive-print'...
(eshell-output-object-to-target): ... use it.

* lisp/eshell/esh-mode.el (eshell-output-filter-functions): Update
docstring.
(eshell-interactive-print): Set the output to have a field value of
'command-output'.
(eshell-output-filter): Rename to...
(eshell-interactive-filter): ... this, and take a buffer instead of a
process.

* lisp/eshell/esh-proc.el (eshell-interactive-process-filter): New
function, adapted from 'eshell-output-filter'...
(eshell-gather-process-output): ... use it.

* test/lisp/eshell/em-prompt-tests.el: New file.

* etc/NEWS: Announce this change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes Eshell work more like 'M-x shell', and lets the &lt;home&gt; key
move to the beginning of the user's input at the prompt (bug#60666).

* lisp/eshell/em-prompt.el (eshell-emit-prompt): Add 'field' property
to prompt.
(eshell-bol-ignoring-prompt): New function.

* lisp/eshell/esh-io.el: Declare 'eshell-interactive-print'...
(eshell-output-object-to-target): ... use it.

* lisp/eshell/esh-mode.el (eshell-output-filter-functions): Update
docstring.
(eshell-interactive-print): Set the output to have a field value of
'command-output'.
(eshell-output-filter): Rename to...
(eshell-interactive-filter): ... this, and take a buffer instead of a
process.

* lisp/eshell/esh-proc.el (eshell-interactive-process-filter): New
function, adapted from 'eshell-output-filter'...
(eshell-gather-process-output): ... use it.

* test/lisp/eshell/em-prompt-tests.el: New file.

* etc/NEWS: Announce this change.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-29</title>
<updated>2023-01-01T10:47:47+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-01-01T10:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3c55fbd4adfcf5d0d0ee8fdbbd6f012fa951f0b2'/>
<id>3c55fbd4adfcf5d0d0ee8fdbbd6f012fa951f0b2</id>
<content type='text'>
cae528457c ; Add 2023 to copyright years.
b394359261 Improve documentation of 'isearch-open-overlay-temporary'
ab3210e709 Document 'use-package' in the 2 main manuals

# Conflicts:
#	etc/refcards/ru-refcard.tex
#	lib/explicit_bzero.c
#	m4/explicit_bzero.m4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cae528457c ; Add 2023 to copyright years.
b394359261 Improve documentation of 'isearch-open-overlay-temporary'
ab3210e709 Document 'use-package' in the 2 main manuals

# Conflicts:
#	etc/refcards/ru-refcard.tex
#	lib/explicit_bzero.c
#	m4/explicit_bzero.m4
</pre>
</div>
</content>
</entry>
<entry>
<title>; Add 2023 to copyright years.</title>
<updated>2023-01-01T10:31:12+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-01-01T10:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=cae528457cb862dc886a34240c9d4c73035b6659'/>
<id>cae528457cb862dc886a34240c9d4c73035b6659</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; remove incorrect quoting of condition names</title>
<updated>2022-12-30T10:24:31+00:00</updated>
<author>
<name>Mattias Engdegård</name>
</author>
<published>2022-12-30T10:11:14+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c34230f12aa966df091dd7b3cb2e32ce43ad811d'/>
<id>c34230f12aa966df091dd7b3cb2e32ce43ad811d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix typos</title>
<updated>2022-11-20T11:59:39+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2022-11-20T11:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=16318bfb518aa7bc06e502e6fad7e53ec91067f9'/>
<id>16318bfb518aa7bc06e502e6fad7e53ec91067f9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix encoding and decoding of process I/O in Eshell on Windows</title>
<updated>2022-10-15T10:59:49+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2022-10-15T10:59:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=63d084d4e435ae80e41ed19cfc48658819f84477'/>
<id>63d084d4e435ae80e41ed19cfc48658819f84477</id>
<content type='text'>
* lisp/eshell/esh-proc.el (eshell-gather-process-output): Set up
encoding and decoding of text to/from the subprocess for
MS-Windows.  (Bug#58281)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/eshell/esh-proc.el (eshell-gather-process-output): Set up
encoding and decoding of text to/from the subprocess for
MS-Windows.  (Bug#58281)
</pre>
</div>
</content>
</entry>
</feed>
