From 261576f94bb6eddc566c9d7aa557bf7cd20a2c05 Mon Sep 17 00:00:00 2001 From: John Miller Date: Wed, 3 Feb 2016 22:26:53 -0600 Subject: [PATCH] Fix Issue #67. Only six months late. Jupyter changed callback signature for complete_request, breaking ein's autocomplete code. Missed this for so long because I am lazy and almost exclusively used jedi for autocompletion. Ugh. --- lisp/ein-completer.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lisp/ein-completer.el b/lisp/ein-completer.el index 0d674bd..489cbd5 100644 --- a/lisp/ein-completer.el +++ b/lisp/ein-completer.el @@ -52,9 +52,12 @@ (defun ein:completer-finish-completing (args content -metadata-not-used-) (ein:log 'debug "COMPLETER-FINISH-COMPLETING: content=%S" content) - (let ((matched-text (plist-get content :matched_text)) - (matches (plist-get content :matches)) - (completer (ein:completer-choose))) + (let* ((beg (point)) + (delta (- (plist-get content :cursor_end) + (plist-get content :cursor_start))) + (matched-text (buffer-substring beg (- beg delta))) + (matches (plist-get content :matches)) + (completer (ein:completer-choose))) (ein:log 'debug "COMPLETER-FINISH-COMPLETING: completer=%s" completer) (apply completer matched-text matches args))) @@ -64,7 +67,7 @@ (beg (ein:completer-beginning matched-text)) (word (if (and beg matches) (completing-read "Complete: " matches - nil nil matched-text)))) + nil nil matched-text)))) (when word (delete-region beg end) (insert word))))