From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#68559: [PATCH] Improve Python shell completion Date: Sat, 17 Feb 2024 14:20:41 +0100 Message-ID: References: <6BAFD8BF-8F18-4D9F-9DB3-A185AEF2EBCA@gmail.com> <8B4172D0-FC31-4437-99C4-683C892C5F86@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_73F7F4FF-0DF3-4E24-B521-33435BBC4DFB" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33335"; mail-complaints-to="usenet@ciao.gmane.io" Cc: kobarity , Eli Zaretskii , 68559@debbugs.gnu.org To: Liu Hui Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 17 14:23:07 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rbKen-0008WY-BB for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 17 Feb 2024 14:23:05 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rbKeR-0001qS-Qz; Sat, 17 Feb 2024 08:22:43 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rbKeQ-0001qF-LE for bug-gnu-emacs@gnu.org; Sat, 17 Feb 2024 08:22:42 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rbKeQ-0007K7-9b for bug-gnu-emacs@gnu.org; Sat, 17 Feb 2024 08:22:42 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rbKej-0008HP-Tl for bug-gnu-emacs@gnu.org; Sat, 17 Feb 2024 08:23:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Feb 2024 13:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68559 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 68559-submit@debbugs.gnu.org id=B68559.170817613331768 (code B ref 68559); Sat, 17 Feb 2024 13:23:01 +0000 Original-Received: (at 68559) by debbugs.gnu.org; 17 Feb 2024 13:22:13 +0000 Original-Received: from localhost ([127.0.0.1]:60543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rbKdx-0008GK-6t for submit@debbugs.gnu.org; Sat, 17 Feb 2024 08:22:13 -0500 Original-Received: from mail-lj1-f173.google.com ([209.85.208.173]:48310) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rbKdu-0008G6-0D for 68559@debbugs.gnu.org; Sat, 17 Feb 2024 08:22:11 -0500 Original-Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2d09cf00214so21772221fa.0 for <68559@debbugs.gnu.org>; Sat, 17 Feb 2024 05:21:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708176044; x=1708780844; darn=debbugs.gnu.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:sender:from:to:cc:subject:date:message-id:reply-to; bh=Jfk9/oZhjUlUYCD1FD4lYUoWoxFWt0h0EZ5F8v+Ae94=; b=SOlfaa77HDT2FXikeUIQn2ASyxHH9olFIvf5mBh3/LvGgq5yuIA3mQE8cD6MOWcHed HRQf7eEHsb1iI1d1exxGem1AFOyPIjrtFowoTfcZY9n2wOMa270IQVsABW8DOIGYUPk0 BMfB02j52bFhoqTmlC1vg44xZT7LdIWLI9fhE2rCTPBgEzM7A6hmFjgKgNyZBCai1Mdf 4nWAmKB+yyGOGvNuUfvRdlc2IKBtI43o//vxQr6x45AB6IJ04dLzM3EmiG4PRxVE7M/s 0lnilOITb0//viAWacXTe+WE7FbRJNIWQbRDUz5A64QDAKKttGOdgtDGeVw0Fix7VyaM luEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708176044; x=1708780844; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Jfk9/oZhjUlUYCD1FD4lYUoWoxFWt0h0EZ5F8v+Ae94=; b=a5zfiXwxolxCKSaM7Ln/6ENZdRNZ02vp4f8GE1ianJ09+HA0bv2Gw2MTZmEGHU2rZG 1CjVK7c4RU2FxDLKynfS8DqrnXtKCISg8HFa37vHumkjlS0kUg59pT32yfV2IszHBTMs t3PxfK9j/aXEb5Y6b33AZmEtpwGIR0eo3yhNGzlp9ZI4FTNUfZZin9VNP0wwOnEAzcQl Z1ssa5UmYwm8Bb5fs9T3P+DRx879yfhINfmLGxC6EV8D/Gk8ZZ5BoSf5KTnrHAPItkBv phAtdgIc/ltbnJethG5s6j5D8Zp/UQ3XM7S3ewz3yeMs2PuZ58qUzRWBGfK6DfrKkDbl yTOQ== X-Forwarded-Encrypted: i=1; AJvYcCVB8GQcgbTMhBfcVN87tnUHfvn7Nxu+nrWmF+krF8lmVWVSegwnrCqz+1k0qJlBPzZM7A9M0ltzCKhS5fXKETxC1/FzAKQ= X-Gm-Message-State: AOJu0Yy5HYdK7Ijp1Ov0wJ+/dmIQpV6IvjtQgXvrzPL3rtZSYRtxlc8I ze6c9NfBxZcxuWTfPZUGnsryQoJApqqCnx4ULk1RXvCUM72mVvUr X-Google-Smtp-Source: AGHT+IEEhrrWqwDFLEptQpl3o8QTT2NTWdrQNxCR23xO39ioiPNYPqFb+92gmYDBXROz6G/Azd2JoQ== X-Received: by 2002:a05:651c:211f:b0:2d2:3147:423d with SMTP id a31-20020a05651c211f00b002d23147423dmr244980ljq.11.1708176043627; Sat, 17 Feb 2024 05:20:43 -0800 (PST) Original-Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se. [80.217.1.132]) by smtp.gmail.com with ESMTPSA id g2-20020a2e9382000000b002d09bdb7e1fsm311385ljh.24.2024.02.17.05.20.42 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Feb 2024 05:20:43 -0800 (PST) In-Reply-To: X-Mailer: Apple Mail (2.3654.120.0.1.15) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:280125 Archived-At: --Apple-Mail=_73F7F4FF-0DF3-4E24-B521-33435BBC4DFB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 17 feb. 2024 kl. 05.36 skrev Liu Hui : > How about the following change, which only affects libedit-based > readline? It may enable native completion on mac, but I cannot test > it. Thank you, but that change alone doesn't seem to suffice for = python-tests to pass. Log attached. --Apple-Mail=_73F7F4FF-0DF3-4E24-B521-33435BBC4DFB Content-Disposition: attachment; filename=python-tests.log Content-Type: application/octet-stream; x-unix-mode=0644; name="python-tests.log" Content-Transfer-Encoding: 7bit ELC ../../emacs/test/lisp/progmodes/python-tests.elc GEN lisp/progmodes/python-tests.log Running 360 tests (2024-02-17 14:08:16+0100, selector `(not (or (tag :unstable) (tag :nativecomp)))') passed 1/360 python-auto-fill-docstring (0.000969 sec) Fontifying *temp*-195786... Fontifying *temp*-195786... (syntactically...) Fontifying *temp*-195786... (regexps...) Fontifying *temp*-195786... (regexps....) Fontifying *temp*-195786... (regexps.....) Fontifying *temp*-195786... (regexps......) Fontifying *temp*-195786... (regexps.......) Fontifying *temp*-195786... (regexps........) Fontifying *temp*-195786... (regexps.........) Fontifying *temp*-195786... (regexps..........) Fontifying *temp*-195786... (regexps...........) Fontifying *temp*-195786... (regexps............) Fontifying *temp*-195786... (regexps.............) Fontifying *temp*-195786... (regexps..............) Fontifying *temp*-195786... (regexps...............) Fontifying *temp*-195786... (regexps................) passed 2/360 python-bob-infloop-avoid (0.000757 sec) Test python-completion-at-point-1 backtrace: json-parse-string("__PYTHON_EL_eval_file(\"/var/folders/qy/zstv16390 python--parse-json-array("__PYTHON_EL_eval_file(\"/var/folders/qy/zs python-shell-completion-get-completions(#) python-completion-at-point() completion--capf-wrapper(python-completion-at-point all) run-hook-wrapped(completion--capf-wrapper python-completion-at-point completion-at-point() apply(completion-at-point nil) (setq value-3676 (apply fn-3674 args-3675)) (unwind-protect (setq value-3676 (apply fn-3674 args-3675)) (setq fo (if (unwind-protect (setq value-3676 (apply fn-3674 args-3675)) (set (let (form-description-3678) (if (unwind-protect (setq value-3676 (a (let ((value-3676 'ert-form-evaluation-aborted-3677)) (let (form-des (let* ((fn-3674 #'completion-at-point) (args-3675 (condition-case er (let ((inhibit-message t)) (python-shell-send-buffer) (python-tests- (progn (run-python nil t) (insert "\nimport abc\n") (goto-char (poin (unwind-protect (progn (run-python nil t) (insert "\nimport abc\n") (let ((python-indent-guess-indent-offset nil) (python-shell-completi (progn (let ((python-indent-guess-indent-offset nil) (python-shell-c (unwind-protect (progn (let ((python-indent-guess-indent-offset nil) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current (closure (t) nil (let* ((fn-3669 #'executable-find) (args-3670 (cond #f(compiled-function () #)() handler-bind-1(#f(compiled-function () #" 1 1 1) FAILED 3/360 python-completion-at-point-1 (0.474468 sec) at ../../emacs/test/lisp/progmodes/python-tests.el:4903 Test python-completion-at-point-2 backtrace: json-parse-string("__PYTHON_EL_eval_file(\"/var/folders/qy/zstv16390 python--parse-json-array("__PYTHON_EL_eval_file(\"/var/folders/qy/zs python-shell-completion-get-completions(#) python-completion-at-point() completion--capf-wrapper(python-completion-at-point all) run-hook-wrapped(completion--capf-wrapper python-completion-at-point completion-at-point() apply(completion-at-point nil) (setq value-3691 (apply fn-3689 args-3690)) (unwind-protect (setq value-3691 (apply fn-3689 args-3690)) (setq fo (if (unwind-protect (setq value-3691 (apply fn-3689 args-3690)) (set (let (form-description-3693) (if (unwind-protect (setq value-3691 (a (let ((value-3691 'ert-form-evaluation-aborted-3692)) (let (form-des (let* ((fn-3689 #'completion-at-point) (args-3690 (condition-case er (let ((inhibit-message t)) (python-shell-send-buffer) (python-tests- (progn (run-python nil t) (insert "\nimport abc\n") (goto-char (poin (unwind-protect (progn (run-python nil t) (insert "\nimport abc\n") (let ((python-indent-guess-indent-offset nil) (python-shell-completi (progn (let ((python-indent-guess-indent-offset nil) (python-shell-c (unwind-protect (progn (let ((python-indent-guess-indent-offset nil) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current (closure (t) nil (let* ((fn-3684 #'executable-find) (args-3685 (cond #f(compiled-function () #)() handler-bind-1(#f(compiled-function () #" 1 1 1) FAILED 4/360 python-completion-at-point-2 (0.378594 sec) at ../../emacs/test/lisp/progmodes/python-tests.el:4918 Test python-completion-at-point-native-1 backtrace: signal(ert-test-failed (((should (completion-at-point)) :form (compl ert-fail(((should (completion-at-point)) :form (completion-at-point) (if (unwind-protect (setq value-3718 (apply fn-3716 args-3717)) (set (let (form-description-3720) (if (unwind-protect (setq value-3718 (a (let ((value-3718 'ert-form-evaluation-aborted-3719)) (let (form-des (let* ((fn-3716 #'completion-at-point) (args-3717 (condition-case er (let ((inhibit-message t)) (python-shell-completion-native-turn-on) (progn (run-python nil t) (insert "\nimport abc\n") (goto-char (poin (unwind-protect (progn (run-python nil t) (insert "\nimport abc\n") (let ((python-indent-guess-indent-offset nil) (python-shell-completi (progn (let ((python-indent-guess-indent-offset nil) (python-shell-c (unwind-protect (progn (let ((python-indent-guess-indent-offset nil) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current (closure (t) nil (let* ((fn-3711 #'executable-find) (args-3712 (cond #f(compiled-function () #)() handler-bind-1(#f(compiled-function () #)() handler-bind-1(#f(compiled-function () #)() handler-bind-1(#f(compiled-function () #)() handler-bind-1(#f(compiled-function () #" 1 1 1)) apply(signal (json-parse-error ("invalid token near '_'" "" (setq value-3589 (apply fn-3587 args-3588)) (unwind-protect (setq value-3589 (apply fn-3587 args-3588)) (setq fo (if (unwind-protect (setq value-3589 (apply fn-3587 args-3588)) (set (let (form-description-3591) (if (unwind-protect (setq value-3589 (a (let ((value-3589 'ert-form-evaluation-aborted-3590)) (let (form-des (let* ((fn-3587 #'nth) (args-3588 (condition-case err (list 2 (pytho (save-current-buffer (set-buffer (process-buffer shell-process)) (in (let ((shell-process (python-shell-get-process-or-error))) (save-cur (progn (run-python nil t) (insert "") (goto-char (point-min)) (pytho (unwind-protect (progn (run-python nil t) (insert "") (goto-char (po (let ((python-indent-guess-indent-offset nil) (python-shell-completi (progn (let ((python-indent-guess-indent-offset nil) (python-shell-c (unwind-protect (progn (let ((python-indent-guess-indent-offset nil) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current (closure (t) nil (let* ((fn-3582 #'executable-find) (args-3583 (cond #f(compiled-function () #)() handler-bind-1(#f(compiled-function () #" 1 1 1) FAILED 289/360 python-shell-completion-at-point-1 (0.389104 sec) at ../../emacs/test/lisp/progmodes/python-tests.el:4777 skipped 290/360 python-shell-completion-at-point-ipython (0.000458 sec) 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. Consider installing the python package "readline". skipped 291/360 python-shell-completion-at-point-jedi-completer (1.283608 sec) 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. Consider installing the python package "readline". passed 292/360 python-shell-completion-at-point-native-1 (1.418923 sec) passed 293/360 python-shell-completion-native-interpreter-disabled-p-1 (0.000124 sec) Can't guess python-indent-offset, using defaults: 4 passed 294/360 python-shell-get-process-1 (0.215481 sec) passed 295/360 python-shell-get-process-name-1 (0.000597 sec) Can't guess python-indent-offset, using defaults: 4 passed 296/360 python-shell-get-process-name-2 (0.011209 sec) Can't guess python-indent-offset, using defaults: 4 passed 297/360 python-shell-internal-get-or-create-process-1 (0.063736 sec) passed 298/360 python-shell-internal-get-process-name-1 (0.000444 sec) Can't guess python-indent-offset, using defaults: 4 passed 299/360 python-shell-internal-get-process-name-2 (0.011409 sec) passed 300/360 python-shell-make-comint-1 (0.052506 sec) passed 301/360 python-shell-make-comint-2 (0.053577 sec) passed 302/360 python-shell-make-comint-3 (0.050405 sec) passed 303/360 python-shell-make-comint-4 (0.050541 sec) passed 304/360 python-shell-prompt-detect-1 (0.077438 sec) passed 305/360 python-shell-prompt-detect-2 (0.075888 sec) passed 306/360 python-shell-prompt-detect-3 (0.000279 sec) Warning (python): Python shell prompts cannot be detected. If your emacs session hangs when starting python shells recover with `keyboard-quit' and then try fixing the interactive flag for your interpreter by adjusting the `python-shell-interpreter-interactive-arg' or add regexps matching shell prompts in the directory-local friendly vars: + `python-shell-prompt-regexp' + `python-shell-prompt-block-regexp' + `python-shell-prompt-output-regexp' Or alternatively in: + `python-shell-prompt-input-regexps' + `python-shell-prompt-output-regexps' passed 307/360 python-shell-prompt-detect-4 (0.082467 sec) passed 308/360 python-shell-prompt-detect-5 (0.081498 sec) passed 309/360 python-shell-prompt-detect-6 (0.001290 sec) passed 310/360 python-shell-prompt-set-calculated-regexps-1 (0.000174 sec) passed 311/360 python-shell-prompt-set-calculated-regexps-2 (0.000122 sec) passed 312/360 python-shell-prompt-set-calculated-regexps-3 (0.000201 sec) passed 313/360 python-shell-prompt-set-calculated-regexps-4 (0.000169 sec) passed 314/360 python-shell-prompt-set-calculated-regexps-5 (0.000183 sec) passed 315/360 python-shell-prompt-set-calculated-regexps-6 (0.116206 sec) passed 316/360 python-shell-prompt-validate-regexps-1 (0.000154 sec) passed 317/360 python-shell-prompt-validate-regexps-2 (0.000154 sec) passed 318/360 python-shell-prompt-validate-regexps-3 (0.000152 sec) passed 319/360 python-shell-prompt-validate-regexps-4 (0.000115 sec) passed 320/360 python-shell-prompt-validate-regexps-5 (0.000103 sec) passed 321/360 python-shell-prompt-validate-regexps-6 (0.000104 sec) passed 322/360 python-shell-prompt-validate-regexps-7 (0.000063 sec) passed 323/360 python-shell-with-environment-1 (0.000364 sec) passed 324/360 python-shell-with-environment-2 (0.000558 sec) passed 325/360 python-shell-with-environment-3 (0.000565 sec) passed 326/360 python-syntax-after-python-backspace (0.000334 sec) passed 327/360 python-syntax-context-1 (0.000354 sec) passed 328/360 python-tests--fill-long-first-line (0.000998 sec) passed 329/360 python-tests--flymake-command-output-pattern (0.000234 sec) passed 330/360 python-tests--run-python-selects-window (0.096141 sec) passed 331/360 python-tests-look-at-1 (0.000453 sec) passed 332/360 python-tests-look-at-2 (0.000298 sec) passed 333/360 python-triple-double-quote-pairing (0.004338 sec) passed 334/360 python-triple-single-quote-pairing (0.001394 sec) passed 335/360 python-ts-mode-assignement-face-2 (0.051551 sec) passed 336/360 python-ts-mode-builtin-call-face (0.018900 sec) passed 337/360 python-ts-mode-class-patterns-face (0.002075 sec) passed 338/360 python-ts-mode-compound-keywords-face (0.004958 sec) passed 339/360 python-ts-mode-disabled-string-interpolation (0.002239 sec) passed 340/360 python-ts-mode-dotted-decorator-face-1 (0.002431 sec) passed 341/360 python-ts-mode-dotted-decorator-face-2 (0.002075 sec) passed 342/360 python-ts-mode-interpolation-doc-string (0.001603 sec) passed 343/360 python-ts-mode-interpolation-nested-string (0.001576 sec) passed 344/360 python-ts-mode-isinstance-type-face-1 (0.001774 sec) passed 345/360 python-ts-mode-isinstance-type-face-2 (0.003366 sec) passed 346/360 python-ts-mode-isinstance-type-face-3 (0.002596 sec) passed 347/360 python-ts-mode-level-fontification-wo-interpolation (0.001768 sec) passed 348/360 python-ts-mode-named-assignement-face-1 (0.001438 sec) passed 349/360 python-ts-mode-nested-types-face-1 (0.001659 sec) passed 350/360 python-ts-mode-superclass-type-face (0.001565 sec) passed 351/360 python-ts-mode-types-face-1 (0.001577 sec) passed 352/360 python-ts-mode-types-face-2 (0.003078 sec) passed 353/360 python-ts-mode-types-face-3 (0.001907 sec) passed 354/360 python-ts-mode-union-types-face-1 (0.002662 sec) passed 355/360 python-ts-mode-union-types-face-2 (0.002332 sec) passed 356/360 python-util-clone-local-variables-1 (0.000391 sec) passed 357/360 python-util-forward-comment-1 (0.001119 sec) passed 358/360 python-util-goto-line-1 (0.000271 sec) passed 359/360 python-util-strip-string-1 (0.000134 sec) passed 360/360 python-util-valid-regexp-p-1 (0.000088 sec) Ran 360 tests, 350 results as expected, 7 unexpected, 3 skipped (2024-02-17 14:08:39+0100, 23.058396 sec) 3 expected failures 7 unexpected results: FAILED python-completion-at-point-1 FAILED python-completion-at-point-2 FAILED python-completion-at-point-native-1 FAILED python-completion-at-point-native-2 FAILED python-completion-at-point-native-with-eldoc-1 FAILED python-completion-at-point-native-with-ffap-1 FAILED python-shell-completion-at-point-1 3 skipped results: SKIPPED python-ffap-module-path-1 SKIPPED python-shell-completion-at-point-ipython SKIPPED python-shell-completion-at-point-jedi-completer --Apple-Mail=_73F7F4FF-0DF3-4E24-B521-33435BBC4DFB--