GNU bug report logs - #25025
python-shell-calculate-command is wrong

Previous Next

Package: emacs;

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


View this message in rfc822 format

From: npostavs <at> users.sourceforge.net
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 25025 <at> debbugs.gnu.org, clement.pit <at> gmail.com
Subject: bug#25025: python-shell-calculate-command is wrong
Date: Fri, 02 Dec 2016 10:07:57 -0500
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
>> Date: Fri, 2 Dec 2016 09:16:04 -0500
>> Cc: 25025 <at> debbugs.gnu.org, Clément Pit--Claudel <clement.pit <at> gmail.com>
>> 
>> On Fri, Dec 2, 2016 at 2:35 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> >> --- a/lisp/progmodes/python.el
>> >> +++ b/lisp/progmodes/python.el
>> >> @@ -2379,7 +2379,7 @@ python-shell-internal-get-process-name
>> >>  (defun python-shell-calculate-command ()
>> >>    "Calculate the string used to execute the inferior Python process."
>> >>    (format "%s %s"
>> >> -          (shell-quote-argument python-shell-interpreter)
>> >> +          (combine-and-quote-strings (list python-shell-interpreter))
>> >>            python-shell-interpreter-args))
>> >
>> > Isn't combine-and-quote-strings wrong for quoting shell commands?
>> > AFAIR, it doesn't DTRT with some special characters that can appear in
>> > file names on Unix.  Am I mistaken?
>> 
>> It's not a shell command though, hence this bug.
>
> No, but the code in question generates a shell command, from the file
> name of the interpreter and its arguments.  Right?

Okay, let me rephrase.  `python-shell-calculate-command' currently
generates a shell command, but none of its callers treat the result as a
shell command (they don't pass it to a shell, they parse it with
`split-string-and-unquote').  Therefore, the easiest fix is to change
`python-shell-calculate-command' to no longer generate a shell command.

The other possiblity is to change the callers to treat
`python-shell-calculate-command's result as a shell command, but that
looks more difficult (though it may be the better solution overall).




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.