unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: 52876@debbugs.gnu.org
Subject: bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar
Date: Wed, 29 Dec 2021 17:14:22 +0000	[thread overview]
Message-ID: <SJ0PR10MB5488AE90A4495AD71ED90967F3449@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)

`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)





             reply	other threads:[~2021-12-29 17:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-29 17:14 Drew Adams [this message]
2022-01-15 10:04 ` bug#52876: 27.2; Call `describe-specified-language-support' without menu-bar Lars Ingebrigtsen
2022-01-15 22:21   ` bug#52876: [External] : " Drew Adams

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR10MB5488AE90A4495AD71ED90967F3449@SJ0PR10MB5488.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=52876@debbugs.gnu.org \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).