Subject: Re: bug#34939: Some minibuffer behaviour is annoying

From: Juri Linkov <[email-masked]>
Date: Sun, 31 Mar 2019 22:49:51 +0300

> (1) when I press backspace and the prompt is empty, minibuffer tells me
> "Text is read-only". You. Don't. Say.

Messages in the echo area should not conceal the minibuffer.  Period.

There is a special function minibuffer-message for this purpose:

  (add-hook 'minibuffer-setup-hook
            (lambda ()
              (setq-local command-error-function
                          (lambda (error context _command)
                            (minibuffer-message
                             (concat context (get (car error)
                                                  'error-message)))))))

> (2) When I try to quit and some buffer is unchanged, I get the usual
> deal asking me what I want. The problem I have here [in addition to
> the problem discussed in (1), adapted to this case: "Type C-h for
> help."] is that I must use C-g, but not good old escape.

To avoid all such problems, just bind keyboard-escape-quit globally
when not on a tty where an ESC prefix still might be needed:

  (when window-system
    (define-key global-map [escape] 'keyboard-escape-quit))