aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoam Postavsky2017-10-02 22:54:36 -0400
committerNoam Postavsky2017-10-02 23:15:43 -0400
commitb33808ce77ef15c1f233790a2c93d9db4cc588ab (patch)
tree1dd6cd1fc51b44617a3a529c9815c63ccb4b4891
parentf6efc067237ff4c531ea1a43b85cd09e78f6ea0c (diff)
downloademacs-b33808ce77ef15c1f233790a2c93d9db4cc588ab.tar.gz
emacs-b33808ce77ef15c1f233790a2c93d9db4cc588ab.zip
Give more helpful messages for python completion setup failures
* lisp/progmodes/python.el (python-shell-completion-native-setup): In case the completion setup failed with some exception, print out the exception type and message. If libedit is detected, raise an exception, since this is known to fail.
-rw-r--r--lisp/progmodes/python.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 365191c56b0..9aa5134ca0d 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -3442,6 +3442,8 @@ def __PYTHON_EL_native_completion_setup():
3442 instance.rlcomplete = new_completer 3442 instance.rlcomplete = new_completer
3443 3443
3444 if readline.__doc__ and 'libedit' in readline.__doc__: 3444 if readline.__doc__ and 'libedit' in readline.__doc__:
3445 raise Exception('''libedit based readline is known not to work,
3446 see etc/PROBLEMS under \"In Inferior Python mode, input is echoed\".''')
3445 readline.parse_and_bind('bind ^I rl_complete') 3447 readline.parse_and_bind('bind ^I rl_complete')
3446 else: 3448 else:
3447 readline.parse_and_bind('tab: complete') 3449 readline.parse_and_bind('tab: complete')
@@ -3450,7 +3452,9 @@ def __PYTHON_EL_native_completion_setup():
3450 3452
3451 print ('python.el: native completion setup loaded') 3453 print ('python.el: native completion setup loaded')
3452 except: 3454 except:
3453 print ('python.el: native completion setup failed') 3455 import sys
3456 print ('python.el: native completion setup failed, %s: %s'
3457 % sys.exc_info()[:2])
3454 3458
3455__PYTHON_EL_native_completion_setup()" process) 3459__PYTHON_EL_native_completion_setup()" process)
3456 (when (and 3460 (when (and