Subject: bug#25025: python-shell-calculate-command is wrong

From: Noam Postavsky <[email-masked]>
Date: Fri, 25 Nov 2016 09:59:43 -0500

merge 25025 20744
quit

On Fri, Nov 25, 2016 at 3:32 AM, Eli Zaretskii <[email-masked]> wrote:
>> From: Clément Pit--Claudel <[email-masked]>
>> 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.
>

I think the whole command should be quoted with
combine-and-quote-strings to balance the call to
split-string-and-unquote.