bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Clément Pit--Claudel
Subject: bug#25025: python-shell-calculate-command is wrong
Date: Fri, 25 Nov 2016 09:44:17 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 2016-11-25 03:32, Eli Zaretskii wrote:
>> From: Clément Pit--Claudel <clement.pit@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?

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]