all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Clément Pit--Claudel" <clement.pitclaudel@live.com>
To: 24401@debbugs.gnu.org
Subject: bug#24401: python-shell-completion-native-try returns incorrect results with python 3.5.2
Date: Fri, 9 Sep 2016 19:07:54 -0400	[thread overview]
Message-ID: <1d47cad6-227f-280a-2645-d97b45bbda44@live.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 3054 bytes --]

Hi all,

Calling ‘run-python’ in ‘emacs -Q’ with ‘python-shell-interpreter’ set to "python3", I get the following warning:

    Warning (python): Your ‘python-shell-interpreter’ doesn’t seem to support
    readline, yet ‘python-shell-completion-native’ was t and "python3" is not
    part of the ‘python-shell-completion-native-disabled-interpreters’ list.
    Native completions have been disabled locally.

This warning is specific to Python 3 (it doesn't happen with Python 2.7). Additionally, the warning is spurious; native completion works fine.  This whole feature is new in Emacs 25.

The problem seems to be in

    (defun python-shell-completion-native-try ()
      "Return non-nil if can trigger native completion."
      (let ((python-shell-completion-native-enable t)
            (python-shell-completion-native-output-timeout
             python-shell-completion-native-try-output-timeout))
        (python-shell-completion-native-get-completions
         (get-buffer-process (current-buffer))
         nil "")))

The last call returns nil, apparently because ‘…-get-completions’ doesn't work with an empty input string in Python 3.5.2 with Emacs 25; however, if I change that last call as follows:

    (python-shell-completion-native-get-completions
     (get-buffer-process (current-buffer))
     nil "_")
          ^ add an underscore here, or another character that has completions

Then the warning message doesn't appear any more. Put more succinctly:

    Emacs 25, Python 2.7 (no warnings):

        Python 2.7.12 (default, Jul  1 2016, 15:12:24)
        [GCC 5.4.0 20160609] on linux2
        Type "help", "copyright", "credits" or "license" for more information.
        >>> python.el: native completion setup loaded

        (python-shell-completion-native-get-completions (get-buffer-process (current-buffer)) nil "")
        ⇒ ("and" "as" "assert" "break" "class" "continue" "def" "del" "elif" "else" "except" "exec" "finally" "for" "from" …)

        (python-shell-completion-native-get-completions (get-buffer-process (current-buffer)) nil "_")
        ⇒ ("__package__" "__PYTHON_EL_native_completion_setup" "__pyfile" "__name__" "__code" "__doc__" "__import__" "__debug__")

    Emacs 25, Python 3.5 (shows a warning):

        Python 3.5.2 (default, Jul  5 2016, 12:43:10)
        [GCC 5.4.0 20160609] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> python.el: native completion setup loaded

        (python-shell-completion-native-get-completions (get-buffer-process (current-buffer)) nil "")
        ⇒ nil ;; ← This is the bug

        (python-shell-completion-native-get-completions (get-buffer-process (current-buffer)) nil "_")
        ⇒ ("__name__" "__package__" "__spec__" "__PYTHON_EL_native_completion_setup" "__doc__" "__loader__" "__code" "__pyfile" "__build_class__" "__import__" "__debug__")

Can we add the suggested underscore?

Cheers,
Clément.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

             reply	other threads:[~2016-09-09 23:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-09 23:07 Clément Pit--Claudel [this message]
2016-09-09 23:30 ` bug#24401: python-shell-completion-native-try returns incorrect results with python 3.5.2 Noam Postavsky
2016-09-10  4:00   ` Clément Pit--Claudel
2016-10-27  1:34     ` Lukas Juhrich
2016-10-27  3:35       ` Clément Pit--Claudel
2016-10-27  3:55       ` Clément Pit--Claudel
2016-10-29 14:12     ` Clément Pit--Claudel
2016-10-29 14:34       ` Eli Zaretskii
2016-10-29 15:03         ` Clément Pit--Claudel
2016-10-29 15:08           ` Eli Zaretskii
2016-10-31 12:38             ` Clément Pit--Claudel
2016-11-01  0:30               ` npostavs
2016-11-05  1:59                 ` npostavs
2016-11-05  3:28                   ` Clément Pit--Claudel
2016-11-29 16:38 ` bug#24401: Davor Rotim
2016-11-29 17:21   ` bug#24401: Clément Pit--Claudel
2016-11-29 20:27     ` bug#24401: Clément Pit--Claudel
2016-11-29 20:40 ` bug#24401: Davor Rotim
2016-11-29 22:35   ` bug#24401: Clément Pit--Claudel
2016-11-30  9:39 ` bug#24401: Davor Rotim
2016-11-30 14:22   ` bug#24401: Noam Postavsky
2016-11-30 15:09 ` bug#24401: Davor Rotim
2016-12-01  2:57   ` bug#24401: Clément Pit--Claudel
2016-12-01  8:47 ` bug#24401: Davor Rotim
2016-12-01 14:28   ` bug#24401: Clément Pit--Claudel
2016-12-02 16:31   ` bug#24401: Clément Pit--Claudel
2016-12-01 20:23 ` bug#24401: Davor Rotim
2016-12-01 20:40   ` bug#24401: Clément Pit--Claudel
2016-12-01 21:29 ` bug#24401: Davor Rotim
2016-12-01 21:45   ` bug#24401: Clément Pit--Claudel
2016-12-02  7:22     ` bug#24401: Eli Zaretskii
2016-12-02 17:13 ` bug#24401: Davor Rotim
2016-12-02 21:24   ` bug#24401: Clément Pit--Claudel
2016-12-02 21:51 ` bug#24401: Davor Rotim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1d47cad6-227f-280a-2645-d97b45bbda44@live.com \
    --to=clement.pitclaudel@live.com \
    --cc=24401@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.