]> git.eshelyaron.com Git - emacs.git/commitdiff
Try "python" before "python3" in python-mode
authorStefan Kangas <stefankangas@gmail.com>
Sun, 29 Sep 2024 21:29:54 +0000 (23:29 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 30 Sep 2024 20:33:28 +0000 (22:33 +0200)
Prefer whatever version of Python that "python" might point to; use
"python3" if it doesn't exist.  On recent versions of typical GNU/Linux
distributions, "python" either does not exist or it points to Python 3.
In (presumed rare) cases where "python" points to Python 2 instead,
users are now expected to manually customize these variables if they
want to use Python 3.

* lisp/progmodes/python.el (python-interpreter)
(python-shell-interpreter): Prefer "python" to "python3".

Ref:
https://lists.gnu.org/r/emacs-devel/2024-09/msg00885.html
(cherry picked from commit dd4c67907eb3084c6f55828c51bca1675a98376d)

etc/NEWS
lisp/progmodes/python.el

index 756598afe6cacaf94e5a660703a4e436333c9fce..417f0c6a08ba9cb918946f8ef8bdec5d0a45bd76 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -403,6 +403,17 @@ toggle.
 Putting (require 'midnight) in your init file no longer activates the
 mode.  Now, one needs to say (midnight-mode +1) instead.
 
+** Python mode
+
+---
+*** Prefer "python" for 'python-interpreter' and 'python-shell-interpreter'.
+On recent versions of mainstream GNU/Linux distributions, "python"
+either does not exist or it points to Python 3.  These user options now
+default to using "python", falling back to "python3" if it does not
+exist.  If "python" points to Python 2 on your system, you now have to
+customize these variables to "python3" if you want to use Python 3
+instead.
+
 \f
 * New Modes and Packages in Emacs 31.1
 
index 0399c328ff5b1e17a38c1dbdf615efbe53f0f960..6e7a398aee7c469af22f53d1597556c3f3b4288c 100644 (file)
   :link '(emacs-commentary-link "python"))
 
 (defcustom python-interpreter
-  (cond ((executable-find "python3") "python3")
-        ((executable-find "python") "python")
+  (cond ((executable-find "python") "python")
+        ((executable-find "python3") "python3")
         (t "python3"))
   "Python interpreter for noninteractive use.
 Some Python interpreters also require changes to
@@ -2739,8 +2739,8 @@ position, else returns nil."
   :safe 'stringp)
 
 (defcustom python-shell-interpreter
-  (cond ((executable-find "python3") "python3")
-        ((executable-find "python") "python")
+  (cond ((executable-find "python") "python")
+        ((executable-find "python3") "python3")
         (t "python3"))
   "Python interpreter for interactive use.
 
@@ -2748,7 +2748,7 @@ Some Python interpreters also require changes to
 `python-shell-interpreter-args'.  In particular, setting
 `python-shell-interpreter' to \"ipython3\" requires setting
 `python-shell-interpreter-args' to \"--simple-prompt\"."
-  :version "28.1"
+  :version "31.1"
   :type 'string)
 
 (defcustom python-shell-internal-buffer-name "Python Internal"