[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [External] : Re: How to get all commands defined in a specified file
From: |
mbork |
Subject: |
Re: [External] : Re: How to get all commands defined in a specified file (or files)? |
Date: |
Mon, 11 Nov 2024 23:00:59 +0100 |
On 2024-11-11, at 20:38, Drew Adams <drew.adams@oracle.com> wrote:
>> > say that I'd like to define a `execute-extended-command' alternative
>> > which would only allow to run commands defined in a specified file.
>> How
>> > can I get all such commands? I know about `symbol-file', but I don't
>> > know how it works (and it's complicated enough that I'm not sure I
>> want
>> > to study it ATM;-) - I tried to instrument it for edebug, but a quick
>> > run revealed only that it's pretty mysterious). I also looked at the
>> > property plist of a function name and saw that the filename is not
>> kept
>> > there. Any hints?
>>
>> We have a facility to mark commands as relevant to a major mode or a
>> list of major modes. If your file defines a major mode, you can use
>> this for doing what you want. See the command
>> execute-extended-command-for-buffer. A more general facility is the
>> variable read-extended-command-predicate.
>
> Maybe also...
>
> Has the file been loaded, so the commands are already defined?
> Or are they at least autoloaded?
Let's assume they are loaded, though if it worked for autoloaded
functions, too, it would be even better.
> Does the file use a library-specific prefix for all of its
> function names?
Definitely not.
> If so, you can filter all commands (`commandp') according
> to that library prefix.
I'm not sure what you mean here -- isn't `commandp' way too general
here?
Best,
--
Marcin Borkowski
https://mbork.pl
https://crimsonelevendelightpetrichor.net/