GNU bug report logs -
#25025
python-shell-calculate-command is wrong
Previous Next
Reported by: Fabrice Popineau <fabrice.popineau <at> gmail.com>
Date: Fri, 25 Nov 2016 06:26:01 UTC
Severity: normal
Tags: confirmed, fixed
Merged with 20744
Found in version 25.1
Fixed in version 26.1
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
Message #14 received at 25025 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2016-11-25 03:32, Eli Zaretskii wrote:
>> From: Clément Pit--Claudel <clement.pit <at> gmail.com>
>> Date: Fri, 25 Nov 2016 02:03:38 -0500
>>
>> On 2016-11-25 01:24, Fabrice Popineau wrote:
>>> The python shell name is not passed to any underlying shell.
>>> It is used to create a process, so it must not be quoted in anyway.
>>
>> Are you sure? Looking at the code, I see this:
>>
>> (python-shell-make-comint
>> (or cmd (python-shell-calculate-command)) …)
>>
>> And python-shell-make-comint does this:
>>
>> (split-string-and-unquote cmd)
>>
>> (ok, this is weird). But still, if the command is "C:\Program Files\Python\python.exe", then we *do* need the shell quoting, right?
>
> The quoting needs to be done only where a shell command is created
> that is about to be passed to a shell. I believe in this case the
> quoting is done too early.
Certainly; but it seems like we'll need to modify more than just python-shell-calculate-command; in fact, we probably could remove it entirely: there's no need to glue together the command name and its arguments before passing them to comint, is there?
I was just pointing out that Fabrice's solution of writing
(format "%s %s"
python-shell-interpreter
python-shell-interpreter-args))
would probably break things. Won't it?
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 7 years and 276 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.