[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] fix python-mode native completion with readline 8.0
From: |
ekurzinger |
Subject: |
[PATCH] fix python-mode native completion with readline 8.0 |
Date: |
Sat, 22 Feb 2020 14:56:18 -0800 |
Hi Everyone,
I've noticed that python-mode's native completion feature doesn't seem to work
with readline 8.0. When python-mode is enabled it displays the following
warning, and native completion is turned off:
Warning (python): Your âpython-shell-interpreterâ doesnât seem to support
readline, yet âpython-shell-completion-native-enableâ was t and "python3"
is not part of the âpython-shell-completion-native-disabled-interpretersâ
list. Native completions have been disabled locally.
With readline 7.0 there are no issues. I believe this is because, as of version
8.0, readline will append a couple of escape codes to its completion candidates
(^[[0m and ^[[K) which interfere with one of the regexps python-mode uses for
native completions.
This small patch resolves the issue for me, and shouldn't break existing
functionality on older readline versions. Let me know what you think.
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index a2d85d0bef..60508340c3 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -3629,7 +3629,7 @@ python-shell-completion-native-get-completions
(comint-redirect-perform-sanity-check nil)
(comint-redirect-insert-matching-regexp t)
(comint-redirect-finished-regexp
- "1__dummy_completion__[[:space:]]*\n")
+
"1__dummy_completion__\\(\x1b\\[0m\x1b\\[K\\)?[[:space:]]*\n")
(comint-redirect-output-buffer redirect-buffer))
;; Compatibility with Emacs 24.x. Comint changed and
;; now `comint-redirect-filter' gets 3 args. This
Cheers,
Erik
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] fix python-mode native completion with readline 8.0,
ekurzinger <=