* Re: master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows
[not found] ` <20221015110102.361A6C1AB48@vcs2.savannah.gnu.org>
@ 2022-10-17 14:42 ` Robert Pluim
2022-10-17 15:01 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Robert Pluim @ 2022-10-17 14:42 UTC (permalink / raw)
To: emacs-devel; +Cc: Eli Zaretskii
>>>>> On Sat, 15 Oct 2022 07:01:02 -0400 (EDT), Eli Zaretskii <eliz@gnu.org> said:
Eli> (process-environment (eshell-environment-variables))
Eli> + (coding-system-for-read coding-system-for-read)
Eli> + (coding-system-for-write coding-system-for-write)
Isnʼt passing `:coding' to `make-process' preferred to binding
`coding-system-for-{read,write}'? It has less of a global effect.
Robert
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows
2022-10-17 14:42 ` master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows Robert Pluim
@ 2022-10-17 15:01 ` Eli Zaretskii
2022-10-17 15:11 ` Robert Pluim
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2022-10-17 15:01 UTC (permalink / raw)
To: Robert Pluim; +Cc: emacs-devel
> From: Robert Pluim <rpluim@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>
> Date: Mon, 17 Oct 2022 16:42:35 +0200
>
> >>>>> On Sat, 15 Oct 2022 07:01:02 -0400 (EDT), Eli Zaretskii <eliz@gnu.org> said:
> Eli> (process-environment (eshell-environment-variables))
> Eli> + (coding-system-for-read coding-system-for-read)
> Eli> + (coding-system-for-write coding-system-for-write)
>
> Isnʼt passing `:coding' to `make-process' preferred to binding
> `coding-system-for-{read,write}'? It has less of a global effect.
But I _want_ a more global effect here.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows
2022-10-17 15:01 ` Eli Zaretskii
@ 2022-10-17 15:11 ` Robert Pluim
2022-10-17 15:40 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Robert Pluim @ 2022-10-17 15:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
>>>>> On Mon, 17 Oct 2022 18:01:57 +0300, Eli Zaretskii <eliz@gnu.org> said:
>> From: Robert Pluim <rpluim@gmail.com>
>> Cc: Eli Zaretskii <eliz@gnu.org>
>> Date: Mon, 17 Oct 2022 16:42:35 +0200
>>
>> >>>>> On Sat, 15 Oct 2022 07:01:02 -0400 (EDT), Eli Zaretskii <eliz@gnu.org> said:
Eli> (process-environment (eshell-environment-variables))
Eli> + (coding-system-for-read coding-system-for-read)
Eli> + (coding-system-for-write coding-system-for-write)
>>
>> Isnʼt passing `:coding' to `make-process' preferred to binding
>> `coding-system-for-{read,write}'? It has less of a global effect.
Eli> But I _want_ a more global effect here.
You do? I thought the whole point was to influence the coding system
used by `make-process', which you can do by passing in :coding.
Robert
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows
2022-10-17 15:11 ` Robert Pluim
@ 2022-10-17 15:40 ` Eli Zaretskii
2022-10-17 16:05 ` Robert Pluim
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2022-10-17 15:40 UTC (permalink / raw)
To: Robert Pluim; +Cc: emacs-devel
> From: Robert Pluim <rpluim@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Mon, 17 Oct 2022 17:11:07 +0200
>
> >>>>> On Mon, 17 Oct 2022 18:01:57 +0300, Eli Zaretskii <eliz@gnu.org> said:
>
> >> From: Robert Pluim <rpluim@gmail.com>
> >> Cc: Eli Zaretskii <eliz@gnu.org>
> >> Date: Mon, 17 Oct 2022 16:42:35 +0200
> >>
> >> >>>>> On Sat, 15 Oct 2022 07:01:02 -0400 (EDT), Eli Zaretskii <eliz@gnu.org> said:
> Eli> (process-environment (eshell-environment-variables))
> Eli> + (coding-system-for-read coding-system-for-read)
> Eli> + (coding-system-for-write coding-system-for-write)
> >>
> >> Isnʼt passing `:coding' to `make-process' preferred to binding
> >> `coding-system-for-{read,write}'? It has less of a global effect.
>
> Eli> But I _want_ a more global effect here.
>
> You do? I thought the whole point was to influence the coding system
> used by `make-process', which you can do by passing in :coding.
The case for using :coding here is quite weak:
. the let-binding in this case is restricted to creation of the
processes, so here it doesn't have more "global" effect that
:coding
. there are two processes being created, not one; let-binding
affects both of them, whereas :coding would have to be applied to
each one separately
. :coding overrides coding-system-for-read/write, which is somewhat
surprising and perhaps unexpected; while we could have code that
sets :coding only if coding-system-for-read/write are nil, it
would be a trickier code, and perhaps not self-explanatory without
a suitable commentary
Now let me turn the table and ask you why is :coding preferred, in
your opinion?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows
2022-10-17 15:40 ` Eli Zaretskii
@ 2022-10-17 16:05 ` Robert Pluim
2022-10-17 16:14 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Robert Pluim @ 2022-10-17 16:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
>>>>> On Mon, 17 Oct 2022 18:40:32 +0300, Eli Zaretskii <eliz@gnu.org> said:
Eli> . the let-binding in this case is restricted to creation of the
Eli> processes, so here it doesn't have more "global" effect that
Eli> :coding
Eli> . there are two processes being created, not one; let-binding
Eli> affects both of them, whereas :coding would have to be applied to
Eli> each one separately
Eli> . :coding overrides coding-system-for-read/write, which is somewhat
Eli> surprising and perhaps unexpected; while we could have code that
Eli> sets :coding only if coding-system-for-read/write are nil, it
Eli> would be a trickier code, and perhaps not self-explanatory without
Eli> a suitable commentary
Eli> Now let me turn the table and ask you why is :coding preferred, in
Eli> your opinion?
Because weʼve had bugs where coding-system-for-read/write was used,
and processes created further down the call chain would use it, and by
the time they did its value had changed, which would have been avoided
by using :coding (I seem to remember an issue with an invocation of
gpg, although I wouldnʼt be surprised if there was some asynchronicity
involved as well)
Robert
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows
2022-10-17 16:05 ` Robert Pluim
@ 2022-10-17 16:14 ` Eli Zaretskii
0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2022-10-17 16:14 UTC (permalink / raw)
To: Robert Pluim; +Cc: emacs-devel
> From: Robert Pluim <rpluim@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Mon, 17 Oct 2022 18:05:20 +0200
>
> Eli> Now let me turn the table and ask you why is :coding preferred, in
> Eli> your opinion?
>
> Because weʼve had bugs where coding-system-for-read/write was used,
> and processes created further down the call chain would use it, and by
> the time they did its value had changed, which would have been avoided
> by using :coding (I seem to remember an issue with an invocation of
> gpg, although I wouldnʼt be surprised if there was some asynchronicity
> involved as well)
But that's in no way a general preference, just a practical
consideration. And the kind of problems you mention don't exist in
this case.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-10-17 16:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <166583166191.28035.1408947255493373295@vcs2.savannah.gnu.org>
[not found] ` <20221015110102.361A6C1AB48@vcs2.savannah.gnu.org>
2022-10-17 14:42 ` master 63d084d4e4: Fix encoding and decoding of process I/O in Eshell on Windows Robert Pluim
2022-10-17 15:01 ` Eli Zaretskii
2022-10-17 15:11 ` Robert Pluim
2022-10-17 15:40 ` Eli Zaretskii
2022-10-17 16:05 ` Robert Pluim
2022-10-17 16:14 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).