* 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).