`python-shell-calculate-command' was using `shell-quote-argument' as if
it was generating a shell command, but its callers don't pass the result
to a shell, and they expect to parse it with `split-string-and-unquote'.
This caused problems depending on the flavor of shell quoting in
effect (Bug#25025).
* lisp/progmodes/python.el (python-shell-calculate-command): Use
`combine-and-quote-strings' to quote the interpreter, so that it can be
parsed by `python-shell-make-comint' successfully using
`split-string-and-unquote'.
(defun python-shell-calculate-command ()
"Calculate the string used to execute the inferior Python process."
(format "%s %s"
- (shell-quote-argument python-shell-interpreter)
+ ;; `python-shell-make-comint' expects to be able to
+ ;; `split-string-and-unquote' the result of this function.
+ (combine-and-quote-strings (list python-shell-interpreter))
python-shell-interpreter-args))
(define-obsolete-function-alias