GNU bug report logs - #76888
31.0.50; start-process: Spawning child process: Invalid argument

Previous Next

Package: emacs;

Reported by: Richard Copley <rcopley <at> gmail.com>

Date: Sun, 9 Mar 2025 12:39:01 UTC

Severity: normal

Found in version 31.0.50

Fixed in version 31.1

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Richard Copley <rcopley <at> gmail.com>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 76888 <at> debbugs.gnu.org
Subject: bug#76888: 31.0.50; start-process: Spawning child process: Invalid argument
Date: Thu, 27 Mar 2025 16:38:04 +0000
On Thu, 27 Mar 2025 at 11:13, Michael Albinus <michael.albinus <at> gmx.de> wrote:
>
> Richard Copley <rcopley <at> gmail.com> writes:
>
> Hi Richard,
>
> > Thanks Michael.
> >
> >> Thank you for the analysis. However, I don't believe that your change is
> >> correct. `buffer' is the working (output) buffer of
> >> start-process-shell-command, so we shall call it here.
> >
> > Yes, but 'start-process-shell-command' takes care of switching to 'buffer'.
>
> Yes. But we're already here, due to the '(with-current-buffer buffer ...'.

OK, never mind.

> >> Instead, I've tried the appended patch. Could you, please, check? It
> >> fixes the problem for me.
> >
> > It doesn't work for me. With your patch, on my system, the original
> > recipe still exhibits the problem on the third invocation of
> > 'async-shell-command'.
> >
> > At the time when '(connection-local-value shell-file-name)' is invoked
> > in your patch, the current buffer is the output buffer (not the buffer
> > from which the user invoked 'async-shell-command'), and the default
> > directory is "/plink:xxx/" (not "c:/"), and the value returned is
> > "/bin/sh" (not the file name of "cmdproxy.exe").
>
> I hoped that the connection-local-value trick works. The
> default-directory of buffer is already changed; there is '(setq
> default-directory directory)' in time.
>
> However, connection-local-value does not work as I've hoped. It simply
> uses the recent (buffer-local) value, if default-directory isn't remote.
>
> So we must kill the local value(s) explicitly. The revised patch
> (appended) seems to work. Tested on my Windows 11 VM with your recipe.

Yes, that works.
Thanks!




This bug report was last modified 55 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.