GNU bug report logs - #63552
29.0.91; M-x completion-predicate does not account for python-ts-mode

Previous Next

Package: emacs;

Reported by: Basil Contovounesios <contovob <at> tcd.ie>

Date: Wed, 17 May 2023 11:56:01 UTC

Severity: minor

Tags: patch

Found in version 29.0.91

Fixed in version 29.1

Done: Basil Contovounesios <contovob <at> tcd.ie>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63552 in the body.
You can then email your comments to 63552 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to arstoffel <at> gmail.com, bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Wed, 17 May 2023 11:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Basil Contovounesios <contovob <at> tcd.ie>:
New bug report received and forwarded. Copy sent to arstoffel <at> gmail.com, bug-gnu-emacs <at> gnu.org. (Wed, 17 May 2023 11:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Basil Contovounesios <contovob <at> tcd.ie>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.91; M-x completion-predicate does not account for python-ts-mode
Date: Wed, 17 May 2023 12:54:56 +0100
[Message part 1 (text/plain, inline)]
Severity: minor
Tags: patch

At the time of https://bugs.gnu.org/57184 python-ts-mode did not yet
exist, so the completion-predicates added to python.el as part of that
report understandably assumed only python-mode exists.

Here's what that means in practice:

0. emacs -Q
1. (setq read-extended-command-predicate
         #'command-completion-default-include-p)
2. C-x C-e
3. M-x python-ts-mode RET
4. M-x python-sort TAB
   => [No match]

And yet python-sort-imports is present in the local map:

5. C-g
6. C-h f python-sort-imports RET
   => It is bound to C-c TAB s.

By contrast, in python-mode:

7. M-x python-mode RET
8. M-x python-sort TAB
   => Completes to python-sort-imports

The following patch fixes this by associating M-x completion with
python-base-mode rather than python-mode:

[0001-Fix-M-x-completion-predicate-under-python-ts-mode.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
WDYT?

Thanks,

-- 
Basil

In GNU Emacs 29.0.91 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw3d scroll bars) of 2023-05-17 built on blc
Repository revision: b5bfd808c6b40f47fdef8eb9986bc3127ca63c12
Repository branch: wt/emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.2 LTS

Configured using:
 'configure CC=gcc-12 'CFLAGS=-Og -ggdb3' --prefix=/home/bic/.local
 --with-program-suffix=-29 --with-file-notification=yes --with-x
 --with-x-toolkit=lucid'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XAW3D XDBE XIM XINPUT2 XPM
LUCID ZLIB

Important settings:
  value of $LC_MONETARY: en_IE.UTF-8
  value of $LC_NUMERIC: en_IE.UTF-8
  value of $LC_TIME: en_IE.UTF-8
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Python

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils python
rx project byte-opt gv bytecomp byte-compile pcase treesit cl-seq comint
ansi-osc ring cl-loaddefs cl-lib ansi-color rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
xinput2 x multi-tty make-network-process emacs)

Memory information:
((conses 16 55041 6025)
 (symbols 48 7135 0)
 (strings 32 20473 1599)
 (string-bytes 1 602759)
 (vectors 16 13421)
 (vector-slots 8 186939 9110)
 (floats 8 27 35)
 (intervals 56 274 0)
 (buffers 984 10))

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Wed, 17 May 2023 12:41:02 GMT) Full text and rfc822 format available.

Message #8 received at 63552 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Basil Contovounesios <contovob <at> tcd.ie>
Cc: 63552 <at> debbugs.gnu.org, arstoffel <at> gmail.com
Subject: Re: bug#63552: 29.0.91;
 M-x completion-predicate does not account for python-ts-mode
Date: Wed, 17 May 2023 15:40:03 +0300
> Cc: Augusto Stoffel <arstoffel <at> gmail.com>
> Date: Wed, 17 May 2023 12:54:56 +0100
> From:  Basil Contovounesios via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> At the time of https://bugs.gnu.org/57184 python-ts-mode did not yet
> exist, so the completion-predicates added to python.el as part of that
> report understandably assumed only python-mode exists.
> 
> Here's what that means in practice:
> 
> 0. emacs -Q
> 1. (setq read-extended-command-predicate
>          #'command-completion-default-include-p)
> 2. C-x C-e
> 3. M-x python-ts-mode RET
> 4. M-x python-sort TAB
>    => [No match]
> 
> And yet python-sort-imports is present in the local map:
> 
> 5. C-g
> 6. C-h f python-sort-imports RET
>    => It is bound to C-c TAB s.
> 
> By contrast, in python-mode:
> 
> 7. M-x python-mode RET
> 8. M-x python-sort TAB
>    => Completes to python-sort-imports
> 
> The following patch fixes this by associating M-x completion with
> python-base-mode rather than python-mode:

Thanks.

We need to fix tis on the emacs-29 branch, so I wonder whether the fix
can be simpler?  After all, we just need to test one more major mode,
right?

If a simpler fix is less clean, we could install a simpler change on
emacs-29 and a cleaner one on master.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Wed, 17 May 2023 13:00:02 GMT) Full text and rfc822 format available.

Message #11 received at 63552 <at> debbugs.gnu.org (full text, mbox):

From: Basil Contovounesios <contovob <at> tcd.ie>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 63552 <at> debbugs.gnu.org, arstoffel <at> gmail.com
Subject: Re: bug#63552: 29.0.91; M-x completion-predicate does not account
 for python-ts-mode
Date: Wed, 17 May 2023 13:59:48 +0100
[Message part 1 (text/plain, inline)]
Eli Zaretskii [2023-05-17 15:40 +0300] wrote:

> We need to fix tis on the emacs-29 branch, so I wonder whether the fix
> can be simpler?  After all, we just need to test one more major mode,
> right?

Right.  How's this for emacs-29:

[0001-Fix-M-x-completion-predicate-under-python-ts-mode.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
> If a simpler fix is less clean, we could install a simpler change on
> emacs-29 and a cleaner one on master.

And this for master, once the patch above is merged:

[0001-Simplify-python.el-completion-predicate.patch (text/x-diff, attachment)]
[Message part 5 (text/plain, inline)]
Thanks,

-- 
Basil

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Wed, 17 May 2023 13:34:02 GMT) Full text and rfc822 format available.

Message #14 received at 63552 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Basil Contovounesios <contovob <at> tcd.ie>
Cc: 63552 <at> debbugs.gnu.org, arstoffel <at> gmail.com
Subject: Re: bug#63552: 29.0.91; M-x completion-predicate does not account
 for python-ts-mode
Date: Wed, 17 May 2023 16:33:19 +0300
> From: Basil Contovounesios <contovob <at> tcd.ie>
> Cc: 63552 <at> debbugs.gnu.org,  arstoffel <at> gmail.com
> Date: Wed, 17 May 2023 13:59:48 +0100
> 
> Eli Zaretskii [2023-05-17 15:40 +0300] wrote:
> 
> > We need to fix tis on the emacs-29 branch, so I wonder whether the fix
> > can be simpler?  After all, we just need to test one more major mode,
> > right?
> 
> Right.  How's this for emacs-29:

Perfect, please install.

> And this for master, once the patch above is merged:

LGTM, thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Wed, 17 May 2023 14:17:01 GMT) Full text and rfc822 format available.

Message #17 received at 63552 <at> debbugs.gnu.org (full text, mbox):

From: Basil Contovounesios <contovob <at> tcd.ie>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 63552 <at> debbugs.gnu.org, arstoffel <at> gmail.com
Subject: Re: bug#63552: 29.0.91; M-x completion-predicate does not account
 for python-ts-mode
Date: Wed, 17 May 2023 15:16:07 +0100
Eli Zaretskii [2023-05-17 09:33 -0400] wrote:

>> From: Basil Contovounesios <contovob <at> tcd.ie>
>> Cc: 63552 <at> debbugs.gnu.org,  arstoffel <at> gmail.com
>> Date: Wed, 17 May 2023 13:59:48 +0100
>> 
>> Eli Zaretskii [2023-05-17 15:40 +0300] wrote:
>> 
>> > We need to fix tis on the emacs-29 branch, so I wonder whether the fix
>> > can be simpler?  After all, we just need to test one more major mode,
>> > right?
>> 
>> Right.  How's this for emacs-29:
>
> Perfect, please install.

Done:

Fix M-x completion-predicate under python-ts-mode
d879847cd4d 2023-05-17 15:14:09 +0100
https://git.sv.gnu.org/cgit/emacs.git/commit/?id=d879847cd4d

>> And this for master, once the patch above is merged:
>
> LGTM, thanks.

Thanks.  I'll wait until someone else merges emacs-29 into master first
since it's not easy for me to do so at the moment.

-- 
Basil




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Thu, 18 May 2023 11:56:02 GMT) Full text and rfc822 format available.

Message #20 received at 63552 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Basil Contovounesios <contovob <at> tcd.ie>
Cc: 63552 <at> debbugs.gnu.org, arstoffel <at> gmail.com
Subject: Re: bug#63552: 29.0.91; M-x completion-predicate does not account
 for python-ts-mode
Date: Thu, 18 May 2023 14:55:45 +0300
> From: Basil Contovounesios <contovob <at> tcd.ie>
> Cc: 63552 <at> debbugs.gnu.org,  arstoffel <at> gmail.com
> Date: Wed, 17 May 2023 15:16:07 +0100
> 
> > LGTM, thanks.
> 
> Thanks.  I'll wait until someone else merges emacs-29 into master first
> since it's not easy for me to do so at the moment.

I've done the merge from emacs-29 to master now, so you can go ahead
with the changes on master.




bug marked as fixed in version 29.1, send any further explanations to 63552 <at> debbugs.gnu.org and Basil Contovounesios <contovob <at> tcd.ie> Request was from Basil Contovounesios <contovob <at> tcd.ie> to control <at> debbugs.gnu.org. (Thu, 18 May 2023 12:16:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63552; Package emacs. (Thu, 18 May 2023 12:16:02 GMT) Full text and rfc822 format available.

Message #25 received at 63552-done <at> debbugs.gnu.org (full text, mbox):

From: Basil Contovounesios <contovob <at> tcd.ie>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 63552-done <at> debbugs.gnu.org, arstoffel <at> gmail.com
Subject: Re: bug#63552: 29.0.91; M-x completion-predicate does not account
 for python-ts-mode
Date: Thu, 18 May 2023 13:15:27 +0100
close 63552 29.1
quit

Eli Zaretskii [2023-05-18 07:55 -0400] wrote:

>> From: Basil Contovounesios <contovob <at> tcd.ie>
>> Cc: 63552 <at> debbugs.gnu.org,  arstoffel <at> gmail.com
>> Date: Wed, 17 May 2023 15:16:07 +0100
>> 
>> Thanks.  I'll wait until someone else merges emacs-29 into master first
>> since it's not easy for me to do so at the moment.
>
> I've done the merge from emacs-29 to master now, so you can go ahead
> with the changes on master.

Great, thank you.  Done and closing:

Simplify python.el completion-predicate
d1404d3a119 2023-05-18 13:10:09 +0100
https://git.sv.gnu.org/cgit/emacs.git/commit/?id=d1404d3a119

-- 
Basil




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 16 Jun 2023 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 309 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.