From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Current mode command discovery Date: Sun, 14 Feb 2021 21:00:17 +0100 Message-ID: <878s7qifn2.fsf@telefonica.net> References: <87v9aubm96.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33801"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:+9L6dqXhbHcyL029crxAyGPNRcY= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 14 21:01:38 2021 Return-path: Envelope-to: ged-emacs-devel@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 1lBNaM-0008gs-Nb for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Feb 2021 21:01:38 +0100 Original-Received: from localhost ([::1]:36400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBNaL-00081f-Or for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Feb 2021 15:01:37 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBNZA-0007Jp-OK for emacs-devel@gnu.org; Sun, 14 Feb 2021 15:00:24 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:49394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBNZ9-0001Jm-9Z for emacs-devel@gnu.org; Sun, 14 Feb 2021 15:00:24 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1lBNZ8-0007Tw-1C for emacs-devel@gnu.org; Sun, 14 Feb 2021 21:00:22 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:264776 Archived-At: Dmitry Gutov writes: > On 14.02.2021 19:19, Lars Ingebrigtsen wrote: >> This would only be commands that have been marked for the current major >> mode and any active minor modes, I guess? > > BTW, you might be interested in this alternative approach (see > smex-major-mode-commands): > > https://github.com/nonsequitur/smex/blob/master/smex.el#L120-L129 > > No (declare ...) or incompatible changes to 'interactive' necessary. > Of course, it doesn't support arbitrary predicates. OTOH, it should > reliably be fast enough. That only works with major modes, which IMO is enough to disqualify it, but on addition it uses crude heuristics for detecting the commands related to the major mode.