<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chemacs.git/lisp/progmodes/python.el, branch devmain</title>
<subtitle>emacs
</subtitle>
<id>http://cgit.adnoto.dev/chemacs.git/atom?h=devmain</id>
<link rel='self' href='http://cgit.adnoto.dev/chemacs.git/atom?h=devmain'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/'/>
<updated>2026-05-24T05:10:34Z</updated>
<entry>
<title>Add treesit-ready-p check back to tree-sitter major modes (bug#80909)</title>
<updated>2026-05-24T05:10:34Z</updated>
<author>
<name>Yuan Fu</name>
<email>casouri@gmail.com</email>
</author>
<published>2026-05-19T03:56:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=4c55d04ebe31f2a84273dfa2f765ca02e18ffb9d'/>
<id>urn:sha1:4c55d04ebe31f2a84273dfa2f765ca02e18ffb9d</id>
<content type='text'>
* lisp/progmodes/c-ts-mode.el (c-ts-mode):
(c++-ts-mode):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode):
(go-mod-ts-mode):
(go-work-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/sh-script.el (bash-ts-mode):
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
(tsx-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode):
* lisp/treesit-x.el (treesit-generic-mode-setup): Add the check.
</content>
</entry>
<entry>
<title>Improve Python setup codes to avoid leaving global names</title>
<updated>2026-03-07T11:32:11Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-03-06T07:27:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=b9b59447a154ba6796b18cfb3821cb748b5dfdfb'/>
<id>urn:sha1:b9b59447a154ba6796b18cfb3821cb748b5dfdfb</id>
<content type='text'>
* lisp/progmodes/python.el (python-shell-setup-code)
(python-shell-readline-detect): Improve Python code.  (Bug#80551)
</content>
</entry>
<entry>
<title>Use a custom Pdb class in the Python shell</title>
<updated>2026-02-21T14:51:28Z</updated>
<author>
<name>Liu Hui</name>
<email>liuhui1610@gmail.com</email>
</author>
<published>2026-01-30T10:10:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=f2b99c4c0b1cca4360a6c516ca99e716e531fae5'/>
<id>urn:sha1:f2b99c4c0b1cca4360a6c516ca99e716e531fae5</id>
<content type='text'>
The custom Pdb class enables native completion in pdb by
wrapping the pdb's native completer.  It also makes necessary
function definitions like __PYTHON_EL_* available between pdb
frames, and enables non-native completion/ffap/eldoc
functionalities when debugging inside python modules.

* lisp/progmodes/python.el (python-shell-send-setup-code): Fix
the separator between python-shell-setup-codes.
(python-shell-completion-native-setup): Move common completion
setup code ...
(python-shell-completion-setup-code): ... here.
(python-shell-completion-at-point): Enable native completion for
pdb and respect the delimiter of pdb completer.
(python-shell-pdb-setup-code): New variable.
(python-shell-comint-watch-for-first-prompt-output-filter): Send
setup codes only once.
(python-ffap-module-path, python-eldoc--get-doc-at-point): Stop
sending setup code in every function call.
* test/lisp/progmodes/python-tests.el (python-tests--pdb-1)
(python-shell-pdb-1): New test.
* etc/NEWS: Mention the change.  (bug#80182)
</content>
</entry>
<entry>
<title>Remove (featurep 'project) guards in python.el</title>
<updated>2026-02-19T17:36:52Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-02-19T14:48:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=71d7ea23dbccd93888021ba0dfc3a392ef36f624'/>
<id>urn:sha1:71d7ea23dbccd93888021ba0dfc3a392ef36f624</id>
<content type='text'>
* lisp/progmodes/python.el: Since they are included in emacs 29.1,
remove the Package-Requires for seq, project, and flymake.
(require 'project): Remove 'noerror argument.
(python-shell-get-process-name): Remove (featurep 'project).
Use 'project-name'.
(run-python)
(python--import-sources): Remove (featurep 'project).  (Bug#80405)
</content>
</entry>
<entry>
<title>Revert "Use 'project-name-cached' in 'python-shell-get-process-name'"</title>
<updated>2026-02-13T07:43:29Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-02-11T04:29:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=06395ba77d6e5a90df4dee1c9c3fdb0522d5b21f'/>
<id>urn:sha1:06395ba77d6e5a90df4dee1c9c3fdb0522d5b21f</id>
<content type='text'>
This reverts commit 482748592f61abed6f675e7b62b2d56e4e18a146.

Commit 583a112169f0c964552b94f84ea0c942377a14e6 removed
'project-name-cached' and also resolved bug#80045.
</content>
</entry>
<entry>
<title>Change the type of 'python-eldoc-function-timeout' to number</title>
<updated>2026-02-07T12:44:27Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-01-31T14:12:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=3107c66c844355269c02dd3418e80275a33ed296'/>
<id>urn:sha1:3107c66c844355269c02dd3418e80275a33ed296</id>
<content type='text'>
* etc/NEWS: Announce the change.
* lisp/progmodes/python.el (python-eldoc-function-timeout):
Change the type.  (Bug#80045)
</content>
</entry>
<entry>
<title>Use 'project-name-cached' in 'python-shell-get-process-name'</title>
<updated>2026-02-07T12:41:48Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-01-31T14:11:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=482748592f61abed6f675e7b62b2d56e4e18a146'/>
<id>urn:sha1:482748592f61abed6f675e7b62b2d56e4e18a146</id>
<content type='text'>
* lisp/progmodes/python.el
(python-shell-get-project-name): New function.
(python-shell-get-process-name): Use it.  (Bug#80045)

Co-authored-by: Liu Hui &lt;liuhui1610@gmail.com&gt;
</content>
</entry>
<entry>
<title>Revert "Performance improvement of 'python-shell-get-process'"</title>
<updated>2026-02-07T12:41:10Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-01-31T14:10:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=3d7e78b810b11b71b95a87ffabf2995dd8fe2fe9'/>
<id>urn:sha1:3d7e78b810b11b71b95a87ffabf2995dd8fe2fe9</id>
<content type='text'>
This reverts commit 83b4f1ba26844c178e57ecb93ea8db36e8e6fa89.
We concluded that it is better to use 'project-name-cached'.
(Bug#80045)
</content>
</entry>
<entry>
<title>Fix down-list navigation in python-ts-mode</title>
<updated>2026-01-21T18:02:56Z</updated>
<author>
<name>Juri Linkov</name>
<email>juri@linkov.net</email>
</author>
<published>2026-01-21T18:02:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=8063921808c85b9041beeccd9995003bd17bcb11'/>
<id>urn:sha1:8063921808c85b9041beeccd9995003bd17bcb11</id>
<content type='text'>
* lisp/progmodes/python.el (python-ts-mode):
Set 'treesit-sexp-thing-down-list' to 'list' to override
sexp navigation with list navigation (bug#72478).

* lisp/emacs-lisp/lisp.el (up-list): Mention 'up-list-function' in docstring.
</content>
</entry>
<entry>
<title>Performance improvement of 'python-shell-get-process'</title>
<updated>2026-01-17T16:09:03Z</updated>
<author>
<name>kobarity</name>
<email>kobarity@gmail.com</email>
</author>
<published>2026-01-04T13:50:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=83b4f1ba26844c178e57ecb93ea8db36e8e6fa89'/>
<id>urn:sha1:83b4f1ba26844c178e57ecb93ea8db36e8e6fa89</id>
<content type='text'>
'python-shell-get-process' is frequently called from
'python-eldoc--get-doc-at-point' and etc., invoking
'project-current' unless there is a buffer-specific Inferior
Python process.  When the buffer is a remote buffer not
belonging to any project and has significant latency,
'project-current' may take a long time.  To avoid this,
implement a process cache in 'python-shell-get-process'.

* lisp/progmodes/python.el (python-shell--process-cache)
(python-shell--process-cache-valid): New variables.
(python-shell--invalidate-process-cache): New function.
(python-shell-make-comint): Add a call to the above function.
(python-shell-get-process): Add process cache.  (Bug#80045)
</content>
</entry>
</feed>
