From: Alan Mackenzie <acm@muc.de>
To: "Óscar Fuentes" <ofv@wanadoo.es>
Cc: emacs-devel@gnu.org
Subject: Re: [External] : Re: command mode-specificity [was: scratch/command 064f146 1/2: Change...]
Date: Thu, 18 Feb 2021 20:14:18 +0000 [thread overview]
Message-ID: <YC7KmqQALvIbF3Qc@ACM> (raw)
In-Reply-To: <87lfbl894v.fsf@telefonica.net>
Hello, Óscar.
On Thu, Feb 18, 2021 at 20:32:16 +0100, Óscar Fuentes wrote:
> Alan Mackenzie <acm@muc.de> writes:
> > Hello, Robert.
> > On Thu, Feb 18, 2021 at 18:55:59 +0100, Robert Pluim wrote:
> >> >>>>> On Thu, 18 Feb 2021 17:35:44 +0000, Alan Mackenzie <acm@muc.de> said:
> >> Alan> No, not from some other mode. We're talking about commands shared by a
> >> Alan> set of modes known only at runtime. If the list of modes cannot be
> >> Alan> updated at runtime, this is a deficiency in the design.
> >> Iʼm having a hard time thinking of an example, eg you might not know
> >> which of the modes provided by the cc-mode package the user actually
> >> uses, but adding all of them to the relevant commands can be done
> >> beforehand. Can you expand?
> > No, it can't be done. There is no list of "all" CC Mode packages.
> > They're largely created and distributed by third parties, i.e.
> > they're outside the orbit of Emacs development. There is no complete
> > list of them.
> AFAIR those modes derive from c-mode, right? It that is so, the
> commands are automatically applicable to them.
Not in the sense of define-derived-mode, no. csharp Mode isn't a "sort
of Java Mode", so it wouldn't make sense to use define-derived-mode here.
So the commands aren't automatically applicable to these modes.
> > For this facility to be general, the list of modes MUST be changeable at
> > runtime.
> Why at runtime? (apart that compile-time and run-time is a somewhat
> diffuse distinction for Elisp) Can't the mode have declarations like
> thos I mentioned?
At runtime, meaning at the time when the user builds or loads csharp
Mode. This is not the build time of Emacs as a whole.
I'm not sure which declarations you mean, but it isn't reasonable to
expect third party maintainers to change their source code for this.
> But apart from that, I see no big problem about changing the list of
> modes at runtime, although I don't know the current implementation, so
> I hope someone else can clarify this.
The current implementation is that the lists of modes has been
shoe-horned onto the `interactive' form. This may be a candidate for
going into read-only memory, I don't know.
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2021-02-18 20:14 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-16 19:50 command mode-specificity [was: scratch/command 064f146 1/2: Change...] Drew Adams
2021-02-16 19:54 ` Stefan Monnier
2021-02-16 20:23 ` [External] : " Drew Adams
2021-02-16 20:53 ` Lars Ingebrigtsen
2021-02-16 22:05 ` Drew Adams
2021-02-16 22:15 ` Lars Ingebrigtsen
2021-02-16 22:31 ` Drew Adams
2021-02-16 22:38 ` Lars Ingebrigtsen
2021-02-16 23:22 ` Drew Adams
2021-02-17 0:35 ` Óscar Fuentes
2021-02-17 15:47 ` Eli Zaretskii
2021-02-17 15:59 ` Dmitry Gutov
2021-02-17 16:15 ` Stefan Monnier
2021-02-17 16:17 ` Eli Zaretskii
2021-02-17 19:52 ` Dmitry Gutov
2021-02-17 20:21 ` Eli Zaretskii
2021-02-17 22:05 ` Dmitry Gutov
2021-02-17 17:36 ` Óscar Fuentes
2021-02-17 18:44 ` Drew Adams
2021-02-17 17:57 ` Drew Adams
2021-02-17 2:39 ` Yuan Fu
2021-02-17 3:22 ` Eli Zaretskii
2021-02-17 0:13 ` Óscar Fuentes
2021-02-17 0:17 ` Drew Adams
2021-02-17 0:54 ` Óscar Fuentes
2021-02-17 18:11 ` Drew Adams
2021-02-17 18:40 ` Stefan Kangas
2021-02-17 19:01 ` Drew Adams
2021-02-17 20:09 ` Yuan Fu
2021-02-17 22:31 ` Lars Ingebrigtsen
2021-02-17 0:40 ` Stefan Monnier
2021-02-17 0:59 ` Óscar Fuentes
2021-02-17 11:20 ` Lars Ingebrigtsen
2021-02-17 14:01 ` Stefan Monnier
2021-02-17 14:19 ` Lars Ingebrigtsen
2021-02-17 15:20 ` Stefan Monnier
2021-02-17 15:42 ` Lars Ingebrigtsen
2021-02-17 16:12 ` Stefan Monnier
2021-02-17 18:26 ` Lars Ingebrigtsen
2021-02-17 18:47 ` Drew Adams
2021-02-17 18:41 ` Drew Adams
2021-02-17 18:28 ` Drew Adams
2021-02-17 16:07 ` Eli Zaretskii
2021-02-17 19:30 ` Lars Ingebrigtsen
2021-02-17 20:07 ` Eli Zaretskii
2021-02-17 21:00 ` Óscar Fuentes
2021-02-18 11:33 ` Lars Ingebrigtsen
2021-02-18 14:37 ` Eli Zaretskii
2021-02-18 15:53 ` Lars Ingebrigtsen
2021-02-20 13:30 ` Lars Ingebrigtsen
2021-02-20 14:43 ` Stefan Monnier
2021-02-20 14:52 ` Lars Ingebrigtsen
2021-02-20 18:00 ` Dmitry Gutov
2021-02-21 13:10 ` Lars Ingebrigtsen
2021-02-21 19:57 ` Dmitry Gutov
2021-02-19 12:09 ` [External] : " Lars Ingebrigtsen
2021-02-19 12:27 ` Eli Zaretskii
2021-02-18 16:30 ` Alan Mackenzie
2021-02-18 16:55 ` Óscar Fuentes
2021-02-18 17:08 ` Alan Mackenzie
2021-02-18 17:20 ` Óscar Fuentes
2021-02-18 17:35 ` Alan Mackenzie
2021-02-18 17:55 ` Robert Pluim
2021-02-18 18:15 ` Yuan Fu
2021-02-19 8:47 ` Robert Pluim
2021-02-19 8:55 ` Eli Zaretskii
2021-02-19 11:21 ` Robert Pluim
2021-02-19 12:25 ` Eli Zaretskii
2021-02-18 18:15 ` Alan Mackenzie
2021-02-18 19:32 ` Óscar Fuentes
2021-02-18 20:14 ` Alan Mackenzie [this message]
2021-02-18 20:24 ` Eli Zaretskii
2021-02-18 19:42 ` Eli Zaretskii
2021-02-18 19:57 ` Alan Mackenzie
2021-02-18 20:04 ` Eli Zaretskii
2021-02-19 12:10 ` Lars Ingebrigtsen
2021-02-19 12:41 ` Dmitry Gutov
2021-02-19 12:57 ` Lars Ingebrigtsen
2021-02-19 13:12 ` Dmitry Gutov
2021-02-17 19:02 ` Yuan Fu
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=YC7KmqQALvIbF3Qc@ACM \
--to=acm@muc.de \
--cc=emacs-devel@gnu.org \
--cc=ofv@wanadoo.es \
/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.