* bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar
@ 2021-12-29 17:14 Drew Adams
2022-01-15 10:04 ` Lars Ingebrigtsen
0 siblings, 1 reply; 3+ messages in thread
From: Drew Adams @ 2021-12-29 17:14 UTC (permalink / raw)
To: 52876
`describe-specified-language-support' raises an error if it is called
other than by way of the menu-bar. Please remove this restriction -
make it possible to invoke it any other way as well.
See this comment in mule-cmds.el:
;; This function is intended to be called from the menu:
;; [menu-bar mule describe-language-environment LANGUAGE]
;; and should not run it by `M-x describe-current-input-method-function'.
That comment doesn't say _WHY_ there's this design constraint. Why
should it be important that it be called only from the menu-bar, and
(for example) with no variable or argument that provides whatever
context/values are needed for it to do its job?
This seems to be an unnecessary, arbitrary limitation. The code seems
fragile and inflexible. It should not matter how/where such a command
is invoked.
___
A use case: an environment (library lacarte.el is one) that lets you
access commands in menu-bar menus using completion (so, direct access
anywhere in the menu hierarchy, with substring completion etc.).
It should be possible to invoke the command in any way: that way (menu
completion), `M-x', or with a keyboard key binding.
___
If there are other commands with similar limitations, please fix them
as well. (`setup-specified-language-environment', perhaps?)
__
And I wonder if there are related bugs in mule-cmds.el. I see this:
;; FIXME: This "read-key-sequence + call-interactively" loop is trying to
;; reproduce the normal command loop, but this "can't" be done faithfully so
;; it necessarily suffers from breakage in corner cases (e.g. it fails to run
;; pre/post-command-hook, doesn't properly set this-command/last-command, it
;; doesn't handle keyboard macros, ...).
Perhaps that's not directly related. But those features of command
invoking are important. Making the commands in this library more
normal would help all around.
In GNU Emacs 27.2 (build 1, x86_64-w64-mingw32)
of 2021-03-26 built on CIRROCUMULUS
Repository revision: deef5efafb70f4b171265b896505b92b6eef24e6
Repository branch: HEAD
Windowing system distributor 'Microsoft Corp.', version 10.0.19042
System Description: Microsoft Windows 10 Pro (v10.0.2009.19042.1348)
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar
2021-12-29 17:14 bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar Drew Adams
@ 2022-01-15 10:04 ` Lars Ingebrigtsen
2022-01-15 22:21 ` bug#52876: [External] : " Drew Adams
0 siblings, 1 reply; 3+ messages in thread
From: Lars Ingebrigtsen @ 2022-01-15 10:04 UTC (permalink / raw)
To: Drew Adams; +Cc: 52876
Drew Adams <drew.adams@oracle.com> writes:
> `describe-specified-language-support' raises an error if it is called
> other than by way of the menu-bar. Please remove this restriction -
> make it possible to invoke it any other way as well.
>
> See this comment in mule-cmds.el:
>
> ;; This function is intended to be called from the menu:
> ;; [menu-bar mule describe-language-environment LANGUAGE]
> ;; and should not run it by `M-x describe-current-input-method-function'.
We have plenty of commands that are meant to be called from menus
only -- they don't make much sense otherwise. (Ideally they wouldn't be
commands visible to the environment at all, but that's difficult to
achieve.)
Closing.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#52876: [External] : Re: bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar
2022-01-15 10:04 ` Lars Ingebrigtsen
@ 2022-01-15 22:21 ` Drew Adams
0 siblings, 0 replies; 3+ messages in thread
From: Drew Adams @ 2022-01-15 22:21 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 52876@debbugs.gnu.org
> > `describe-specified-language-support' raises an error if it is called
> > other than by way of the menu-bar. Please remove this restriction -
> > make it possible to invoke it any other way as well.
> >
> > See this comment in mule-cmds.el:
> >
> > ;; This function is intended to be called from the menu:
> > ;; [menu-bar mule describe-language-environment LANGUAGE]
> > ;; and should not run it by `M-x describe-current-input-method-function'.
>
> We have plenty of commands that are meant to be called from menus
> only
And? That general observation is irrelevant to a
consideration of any _particular_ command.
> -- they don't make much sense otherwise.
In what way is what `describe-specified-language-support'
does nonsensical if called other than by way of a menu?
That's the question. Saying that we have commands that
in fact don't make sense if called other than from a
menu is NOT in any way, a reason why that's true of this
command. Just doesn't follow logically, at all.
> (Ideally they wouldn't be commands visible to the
> environment at all, but that's difficult to achieve.)
No idea what you're on about, there. But reasoning about
"they" in that way makes no sense.
SOME commands make sense only when called from a menu.
It doesn't follow that every command that we currently
bind only to a menu can't make sense if called another way.
> Closing.
Too bad.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-01-15 22:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-29 17:14 bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar Drew Adams
2022-01-15 10:04 ` Lars Ingebrigtsen
2022-01-15 22:21 ` bug#52876: [External] : " Drew Adams
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.