all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Lars Ingebrigtsen <larsi@gnus.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Andrea Corallo <akrl@sdf.org>, emacs-devel@gnu.org
Subject: Re: Smarter M-x that filters on major-mode
Date: Thu, 11 Feb 2021 14:46:11 +0100	[thread overview]
Message-ID: <87r1lmd8f0.fsf@gnus.org> (raw)
In-Reply-To: <87v9aydg3f.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 11 Feb 2021 12:00:20 +0100")

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Would extending the object (and stash it in the seventh slot) make
> sense?  It'd make the bytecode massively incompatible with previous
> versions, but it generally is pretty incompatible.

That was a rabbit hole I don't really want to go down --
`make-byte-code' has a

(make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING
INTERACTIVE-SPEC &rest ELEMENTS)

signature, which makes it non-trivial to extend with another parameter,
especially with how it's called.

So instead I made INTERACTIVE-SPEC be a cons cell, where the first
element is the spec itself and the second is the modes list.

With that, I've now got a functioning Emacs, and I'm using
gnus-summary-mode as the test subject: `M-x gnusTAB' now gives me 200
fewer things to read through when issues in the Gnus group buffer.  :-)

I guess I could take this to a branch...  but...  the changes seem kinda
straighforward, so I'm not sure that's worth it, and by pushing directly
to the trunk, people can get started with
`C-M-% ^  (interactive RET   (command the-correct-mode RET'-ing as they
want, and then see `M-x TAB' grow progressively shorter each time...

Two things: 1) I'm slightly worried that this change will affect the native
branch (so I've added Andrea to the CCs), and 2) I'm not sure whether to
use `derived-mode-p' or not in the `M-x' default predicate:

(defun command-for-mode (symbol)
  "Say whether SYMBOL should be offered as a completion.
This is true if it's a command and the command modes match the current
major mode."
  (and (commandp symbol)
       (or (null (command-modes symbol))
           (member major-mode (command-modes symbol)))))

`derived-mode-p' would be more accurate, but is also kind of slow?
Hm...  pre-compute stuff?  Cache?  Hm...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



  reply	other threads:[~2021-02-11 13:46 UTC|newest]

Thread overview: 154+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09 12:30 Experimentally unbind M-o on the trunk Gregory Heytings
2021-02-09 15:24 ` Lars Ingebrigtsen
2021-02-10 14:51   ` Jean Louis
2021-02-10  8:44 ` Alfred M. Szmidt
2021-02-10 13:57   ` Tassilo Horn
2021-02-10 14:54   ` Jean Louis
2021-02-10 15:12     ` Alfred M. Szmidt
2021-02-10 15:45       ` Eli Zaretskii
2021-02-10 16:47         ` Alfred M. Szmidt
2021-02-10 17:19           ` Eli Zaretskii
2021-02-10 19:17           ` Matt Armstrong
2021-02-10 16:56         ` Alan Mackenzie
2021-02-10 17:29           ` Eli Zaretskii
2021-02-10 18:02             ` andrés ramírez
2021-02-10 17:58           ` [External] : " Drew Adams
2021-02-11  5:27           ` Jean Louis
2021-02-10 19:10         ` Matt Armstrong
2021-02-10 19:16           ` Lars Ingebrigtsen
2021-02-11  2:50             ` Smarter M-x that filters on major-mode Stefan Kangas
2021-02-11  3:44               ` Stefan Monnier
2021-02-11  5:02                 ` Yuan Fu
2021-02-11  6:15                   ` [External] : " Drew Adams
2021-02-11  6:11                 ` Drew Adams
2021-02-11  8:58                 ` Lars Ingebrigtsen
2021-02-11 11:00                   ` Lars Ingebrigtsen
2021-02-11 13:46                     ` Lars Ingebrigtsen [this message]
2021-02-11 14:16                     ` Eli Zaretskii
2021-02-11 15:04                       ` Lars Ingebrigtsen
2021-02-11 16:05                         ` Stefan Monnier
2021-02-11 16:13                           ` Lars Ingebrigtsen
2021-02-11 16:14                             ` Lars Ingebrigtsen
2021-02-11 19:09                             ` Óscar Fuentes
2021-02-11 19:52                               ` Lars Ingebrigtsen
2021-02-11 20:39                                 ` Óscar Fuentes
2021-02-11 21:08                                   ` Lars Ingebrigtsen
2021-02-11 22:22                                     ` Jose A. Ortega Ruiz
2021-02-12  9:32                                       ` Lars Ingebrigtsen
2021-02-12 16:18                                         ` jao
2021-02-12 17:05                                           ` Stefan Kangas
2021-02-12 17:58                                             ` jao
2021-02-12 17:36                                           ` Stefan Monnier
2021-02-12 17:57                                             ` jao
2021-02-12 18:12                                             ` Dmitry Gutov
2021-02-12 18:16                                               ` Stefan Monnier
2021-02-12 23:58                                                 ` Óscar Fuentes
2021-02-13  0:14                                                   ` [External] : " Drew Adams
2021-02-13  0:47                                                     ` Óscar Fuentes
2021-02-13  2:26                                                       ` Drew Adams
2021-02-13  3:18                                                       ` Stefan Monnier
2021-02-13 11:33                                                   ` Lars Ingebrigtsen
2021-02-13 11:28                                             ` Lars Ingebrigtsen
2021-02-13 11:30                                               ` Lars Ingebrigtsen
2021-02-14  2:40                                               ` [External] : " Drew Adams
2021-02-14  4:30                                                 ` Stefan Monnier
2021-02-14 23:30                                                   ` Drew Adams
2021-02-14 23:36                                                     ` Stefan Monnier
2021-02-14 13:30                                                 ` Lars Ingebrigtsen
2021-02-14 14:20                                                   ` Basil L. Contovounesios
2021-02-14 14:23                                                     ` Lars Ingebrigtsen
2021-02-14 14:32                                                       ` Basil L. Contovounesios
2021-02-14 14:45                                                         ` Lars Ingebrigtsen
2021-02-15 18:16                                                           ` Sean Whitton
2021-02-14 15:00                                                       ` Dmitry Gutov
2021-02-14 15:03                                                       ` Alan Mackenzie
2021-02-14 16:11                                                         ` Stefan Kangas
2021-02-14 16:49                                                           ` Alan Mackenzie
2021-02-14 23:33                                                             ` Stefan Kangas
2021-02-15 15:15                                                               ` Alan Mackenzie
2021-02-16 17:07                                                                 ` Stefan Kangas
2021-02-14 16:57                                                           ` Eli Zaretskii
2021-02-14 17:10                                                             ` Lars Ingebrigtsen
2021-02-14 17:59                                                               ` Basil L. Contovounesios
2021-02-14 18:02                                                                 ` Lars Ingebrigtsen
2021-02-14 18:44                                                                   ` Basil L. Contovounesios
2021-02-14 18:53                                                                     ` Lars Ingebrigtsen
2021-02-14 19:01                                                                       ` Basil L. Contovounesios
2021-02-15  2:59                                                                         ` Lars Ingebrigtsen
2021-02-15  5:25                                                                           ` [External] : " Drew Adams
2021-02-15 12:34                                                                           ` Eric S Fraga
2021-02-14 16:15                                                         ` Óscar Fuentes
2021-02-14 16:55                                                         ` Eli Zaretskii
2021-02-14 17:43                                                       ` Juri Linkov
2021-02-14 18:00                                                         ` Lars Ingebrigtsen
2021-02-14 23:30                                                           ` [External] : " Drew Adams
2021-02-14 23:30                                                         ` Drew Adams
2021-02-15  2:49                                                       ` Stefan Monnier
2021-02-15  3:09                                                         ` Lars Ingebrigtsen
2021-02-14 15:20                                                   ` Lars Ingebrigtsen
2021-02-13 11:22                                           ` Lars Ingebrigtsen
2021-02-12 17:37                                         ` [External] : " Drew Adams
2021-02-13 11:48                                           ` Lars Ingebrigtsen
2021-02-11 14:38                   ` Stefan Monnier
2021-02-11 15:29                     ` Lars Ingebrigtsen
2021-02-11 17:29                     ` Lars Ingebrigtsen
2021-02-11 17:43                       ` Lars Ingebrigtsen
2021-02-11 18:57                     ` Lars Ingebrigtsen
2021-02-11 21:12                       ` Lars Ingebrigtsen
2021-02-11 23:21                         ` Stefan Monnier
2021-02-12  8:59                           ` Lars Ingebrigtsen
2021-02-12 13:39                             ` Stefan Monnier
2021-02-13 11:43                               ` Lars Ingebrigtsen
2021-02-12  9:59                     ` Lars Ingebrigtsen
2021-02-12 10:29                       ` Lars Ingebrigtsen
2021-02-12 10:47                         ` Robert Pluim
2021-02-12 11:19                           ` Lars Ingebrigtsen
2021-02-12 13:40                             ` Robert Pluim
2021-02-13 11:44                               ` Lars Ingebrigtsen
2021-02-11  8:40               ` tomas
2021-02-11 15:56                 ` [External] : " Drew Adams
2021-02-11 19:03                 ` Óscar Fuentes
2021-02-11 20:05                   ` Eli Zaretskii
2021-02-11 20:11                     ` tomas
2021-02-11 20:12                     ` Lars Ingebrigtsen
2021-02-12  7:06                 ` Jean Louis
2021-02-11  8:53               ` Lars Ingebrigtsen
2021-02-12 16:39               ` Basil L. Contovounesios
2021-02-12 17:20                 ` Stefan Kangas
2021-02-12 17:56                   ` Basil L. Contovounesios
2021-02-11  4:55           ` Experimentally unbind M-o on the trunk Yuri Khan
2021-02-11  5:15             ` Matt Armstrong
2021-02-11  6:29               ` [External] : " Drew Adams
2021-02-11 14:02             ` Eli Zaretskii
2021-02-11 15:46               ` Matt Armstrong
2021-02-11 16:08               ` Yuri Khan
2021-02-11 16:58                 ` Eli Zaretskii
2021-02-11 17:28                   ` [External] : " Drew Adams
2021-02-11 19:03                     ` Eli Zaretskii
2021-02-11 19:31                       ` Drew Adams
2021-02-11 17:53                   ` Yuri Khan
2021-02-11 18:06                     ` [External] : " Drew Adams
2021-02-11 19:26                     ` Eli Zaretskii
2021-02-11 20:32                       ` Yuri Khan
2021-02-11 20:43                         ` Eli Zaretskii
2021-02-12  4:38                           ` Yuri Khan
2021-02-12  7:18                             ` Eli Zaretskii
2021-02-11 18:07                   ` Yuri Khan
2021-02-11 19:39                     ` Eli Zaretskii
2021-02-11  5:15         ` Jean Louis
2021-02-11 14:04           ` Eli Zaretskii
2021-02-11 18:55             ` Jean Louis
2021-02-11 19:46               ` Eli Zaretskii
2021-02-11 20:20                 ` Jean Louis
2021-02-11 20:38                   ` Eli Zaretskii
2021-02-10 15:14   ` Eli Zaretskii
2021-02-10 14:50 ` Jean Louis
2021-02-10 16:37   ` [External] : " Drew Adams
2021-02-10 17:19     ` Stefan Kangas
2021-02-10 17:55     ` Clément Pit-Claudel
2021-02-10 18:29       ` Drew Adams
2021-02-11  5:07     ` Jean Louis
2021-02-11  6:18       ` Drew Adams
2021-02-12  6:54         ` Jean Louis
2021-02-12 17:35           ` Drew Adams
  -- strict thread matches above, loose matches on Subject: below --
2021-02-14 23:54 Smarter M-x that filters on major-mode Boruch Baum

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=87r1lmd8f0.fsf@gnus.org \
    --to=larsi@gnus.org \
    --cc=akrl@sdf.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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.