unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: max.brieiev@gmail.com
To: Gregory Heytings <gregory@heytings.org>
Cc: 48254@debbugs.gnu.org
Subject: bug#48254: 28.0.50; minibuffer does not show the prompt of a command on first invocation
Date: Tue, 11 May 2021 12:15:46 +0300	[thread overview]
Message-ID: <87wns51vi5.fsf@gmail.com> (raw)
In-Reply-To: <618a480bbebbc24aa804@heytings.org> (Gregory Heytings's message of "Sun, 09 May 2021 22:37:32 +0000")

Gregory Heytings <gregory@heytings.org> writes:

> I'm not sure I understand what you want.  Where do you want the Dvorak
> input method to be active, and where do you want it to be disabled?

My preference here would be to enter text (longer than a single key
press) with dvorak, but to answer one-key-press prompts with dvorak
disabled.

But no matter what my preference is, things should remain consistent. As
you see from previous message, confirmation prompt after 'C-x C-c'
(seems to be `map-y-or-n-p`) must be completed with qwerty, but regular
`y-or-n-p` prompts must be completed with dvorak. Is this expected?

> As I said earlier, if you don't want to enable english-dvorak in the
> minibuffer, all you have to do is to remove the line:
>
> (add-hook 'minibuffer-setup-hook (lambda () (set-input-method "english-dvorak")))

I want to enter text into minibuffer with dvorak, so I keep this
line. In overall, this works good, the issue is when you have to press
just a single key to complete the prompt.

> Then you'll have a consistent behavior: the Dvorak input method will
> be active in buffers you edit, and for everything else (key bindings,
> minibuffer interaction, help buffers, ...) it will be disabled.

Key bindings for any major mode ignore active input method, as far as I
can tell, input method is respected only for self insert commad. So
plain keys in dired or help window are always qwerty layout no matter
what input method is enabled, which I think is the right thing. Hence my
preference is that when I am expected to complete the prompt with a
single key in minibuffer I would like to do it with current inputh
method disabled. But by default this holds true only for some prompts.

> (defun enable-english-dvorak ()
>   (if (memq this-command '(find-file execute-extended-command switch-to-buffer))
>       (set-input-method "english-dvorak")))
> (add-hook 'minibuffer-setup-hook #'enable-english-dvorak)
>
> and adapt the command list to suit your needs.
>
> Does that solve the problem you have?

Thanks. For me this should probably be something like this:

(defun enable-english-dvorak ()
  (if (or (not (memq this-command '(y-or-n-p map-y-or-n-p)))
          (and read-answer-short (equal this-command 'read-answer)))
      (set-input-method "english-dvorak")))
(add-hook 'minibuffer-setup-hook #'enable-english-dvorak)

Thanks again for taking your time to answer my concerns.





  reply	other threads:[~2021-05-11  9:15 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-06 13:47 bug#48254: 28.0.50; minibuffer does not show the prompt of a command on first invocation max.brieiev
2021-05-06 19:23 ` Gregory Heytings
2021-05-07 14:45   ` max.brieiev
2021-05-07 15:28     ` Gregory Heytings
2021-05-08  8:26       ` max.brieiev
2021-05-09 22:37         ` Gregory Heytings
2021-05-11  9:15           ` max.brieiev [this message]
2021-05-11  9:35             ` Gregory Heytings
2021-05-11  9:47               ` max.brieiev
2021-05-11 11:01                 ` Gregory Heytings
2021-05-11  9:40             ` max.brieiev
2021-05-11 17:47             ` Juri Linkov

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=87wns51vi5.fsf@gmail.com \
    --to=max.brieiev@gmail.com \
    --cc=48254@debbugs.gnu.org \
    --cc=gregory@heytings.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).