From: Matthias Meulien <orontee@gmail.com>
To: 64397@debbugs.gnu.org
Subject: bug#64397: 29.0.91; Limited configuration of commands based on python-interpreter
Date: Sat, 01 Jul 2023 18:10:21 +0200 [thread overview]
Message-ID: <87edlrbok2.fsf@gmail.com> (raw)
In-Reply-To: <87leg0b0oy.fsf@gmail.com> (Matthias Meulien's message of "Sat, 01 Jul 2023 08:33:33 +0200")
[-- Attachment #1: Type: text/plain, Size: 67 bytes --]
Here's a patch adding a python-interpreter-args custom variable.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Custom-var-python-interpreter-args-bug-64397.patch --]
[-- Type: text/x-diff, Size: 4937 bytes --]
From 729e8892c129c2f3c6dfd0f119259d586fe11118 Mon Sep 17 00:00:00 2001
From: Matthias Meulien <orontee@gmail.com>
Date: Sat, 1 Jul 2023 16:07:01 +0200
Subject: [PATCH] Custom var python-interpreter-args (bug#64397)
* lisp/progmodes/python.el (python-interpreter): Mention new variable
in documentation.
(python-interpreter-args): New custom variable.
(python--list-imports, python--do-isort, python-fix-imports): Make
process use customisable arguments.
---
lisp/progmodes/python.el | 50 +++++++++++++++++++++++++++++-----------
1 file changed, 36 insertions(+), 14 deletions(-)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 50d712ebb0c..ef6da75a1c1 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -297,11 +297,18 @@ python
(defcustom python-interpreter "python"
"Python interpreter for noninteractive use.
+
+Some Python interpreters also require changes to
+`python-interpreter-args'.
+
To customize the Python shell, modify `python-shell-interpreter'
instead."
:version "29.1"
:type 'string)
+(defcustom python-interpreter-args ""
+ "Default arguments for the Python interpreter."
+ :type 'string)
\f
;;; Bindings
@@ -2573,7 +2580,7 @@ python-shell-internal-buffer-name
:safe 'stringp)
(defcustom python-shell-interpreter-args "-i"
- "Default arguments for the Python interpreter."
+ "Default arguments for the Python interpreter for shell."
:type 'string)
(defcustom python-shell-interpreter-interactive-arg "-i"
@@ -6488,18 +6495,25 @@ python--list-imports
(let* ((temp (current-buffer))
(status (if (bufferp source)
(with-current-buffer source
- (call-process-region (point-min) (point-max)
- python-interpreter
- nil (list temp nil) nil
- "-c" python--list-imports
- (or name "")))
+ (apply #'call-process-region
+ (point-min) (point-max)
+ python-interpreter
+ nil (list temp nil) nil
+ (append
+ (split-string-shell-command
+ python-interpreter-args)
+ `("-c" ,python--list-imports)
+ (list (or name "")))))
(with-current-buffer buffer
(apply #'call-process
python-interpreter
nil (list temp nil) nil
- "-c" python--list-imports
- (or name "")
- (mapcar #'file-local-name source)))))
+ (append
+ (split-string-shell-command
+ python-interpreter-args)
+ `("-c" ,python--list-imports)
+ (list (or name ""))
+ (mapcar #'file-local-name source))))))
lines)
(unless (eq 0 status)
(error "%s exited with status %s (maybe isort is missing?)"
@@ -6544,7 +6558,11 @@ python--do-isort
(point-min) (point-max)
python-interpreter
nil (list temp nil) nil
- "-m" "isort" "-" args))
+ (append
+ (split-string-shell-command
+ python-interpreter-args)
+ '("-m" "isort" "-")
+ args)))
(tick (buffer-chars-modified-tick)))
(unless (eq 0 status)
(error "%s exited with status %s (maybe isort is missing?)"
@@ -6614,10 +6632,14 @@ python-fix-imports
(with-temp-buffer
(let ((temp (current-buffer)))
(with-current-buffer buffer
- (call-process-region (point-min) (point-max)
- python-interpreter
- nil temp nil
- "-m" "pyflakes"))
+ (apply #'call-process-region
+ (point-min) (point-max)
+ python-interpreter
+ nil temp nil
+ (append
+ (split-string-shell-command
+ python-interpreter-args)
+ '("-m" "pyflakes"))))
(goto-char (point-min))
(when (looking-at-p ".* No module named pyflakes$")
(error "%s couldn't find pyflakes" python-interpreter))
--
2.39.2
[-- Attachment #3: Type: text/plain, Size: 14 bytes --]
--
Matthias
next prev parent reply other threads:[~2023-07-01 16:10 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-01 6:33 bug#64397: 29.0.91; Limited configuration of commands based on python-interpreter Matthias Meulien
2023-07-01 16:10 ` Matthias Meulien [this message]
2023-07-06 7:21 ` Eli Zaretskii
2023-07-06 14:51 ` kobarity
2023-07-07 8:09 ` Augusto Stoffel
2023-07-06 20:39 ` Matthias Meulien
2023-07-08 7:52 ` Eli Zaretskii
2023-07-08 11:28 ` kobarity
2023-07-08 13:50 ` Eli Zaretskii
2023-07-08 16:28 ` Matthias Meulien
2023-07-09 12:17 ` kobarity
2023-07-13 5:50 ` Eli Zaretskii
2023-07-13 21:44 ` Matthias Meulien
2023-07-15 8:30 ` Eli Zaretskii
2023-07-17 19:17 ` Matthias Meulien
2023-07-20 16:02 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87edlrbok2.fsf@gmail.com \
--to=orontee@gmail.com \
--cc=64397@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.