emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Current mode command discovery


From: Kévin Le Gouguec
Subject: Re: Current mode command discovery
Date: Sun, 21 Feb 2021 22:39:34 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Drew Adams <drew.adams@oracle.com> writes:

>> Have we seen a complete, succinct, description
>> of the two "features" (which both apparently
>> filter)?
>> 
>> Could someone please post that description,
>> apart from these long, convoluted threads?
>
> ping.

I believe the NEWS file on the master branch has been kept up-to-date:

https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS

Here are all the relevant snippets I could think of (apologies if I got
confused and cited things that are irrelevant to this thread):

> ** New command 'execute-extended-command-for-buffer'.
> This new command, bound to 'M-S-x', works like
> 'execute-extended-command', but limits the set of commands to the
> commands that have been determined to be particularly useful with the
> current mode.

> ** New user option 'read-extended-command-predicate'.
> This option controls how 'M-x' performs completion of commands when
> you type TAB.  By default, any command that matches what you have
> typed is considered a completion candidate, but you can customize this
> option to exclude commands that are not applicable to the current
> buffer's major and minor modes, and respect the command's completion
> predicate (if any).

> ** New forms to declare how completion should happen has been added.
> '(declare (completion PREDICATE))' can be used as a general predicate
> to say whether the command should be present when completing with
> 'M-x TAB'.  '(declare (modes MODE...))' can be used as a short-hand
> way of saying that the command should be present when completing from
> buffers in major modes derived from MODE..., or, if it's a minor mode,
> whether that minor mode is enabled in the current buffer.

> ** The 'interactive' syntax has been extended to allow listing applicable 
> modes.
> Forms like '(interactive "p" dired-mode)' can be used to annotate the
> commands as being applicable for modes derived from 'dired-mode',
> or if the mode is a minor mode, that the current buffer has that
> minor mode activated.  Note that using this form will create byte code
> that is not compatible with byte code in previous Emacs versions.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]