Subject: bug#41087: 27.0.91; How to remove Emacs 27 changes to minibuffer?

From: Noam Postavsky <[email-masked]>
Date: Tue, 05 May 2020 10:57:06 -0400

Drew Adams <[email-masked]> writes:

> I think that some of the problems come from the changes to minibuffer
> and echo-area behavior.  Regardless of whether that is the case, I want
> to undo those changes.  Is there an option for that? (I hope so.)  If
> not, what changes do I need to make from Lisp, to get back the prior
> behavior?

Here's my guesses (none tested) about each item you list.  Of course,
these particular may or may not be the cause of your troubles (whatever
they are).

> ** Minibuffer
>
> +++
> *** A new user option, 'minibuffer-beginning-of-buffer-movement', has
> been introduced to allow controlling how the 'M-<' command works in
> the minibuffer.  If non-nil, point will move to the end of the prompt
> (if point is after the end of the prompt).

AFAICT, this one is already disabled by default (i.e.,
minibuffer-beginning-of-buffer-movement is nil by default).

> +++
> *** When the minibuffer is active, echo-area messages are displayed at
> the end of the minibuffer instead of hiding the minibuffer by the echo
> area display.  The new user option 'minibuffer-message-clear-timeout'
> controls how messages displayed in this situation are removed from the
> minibuffer.

(setq set-message-function nil)
(setq clear-message-function nil)

[485b423e8f0]: 2019-12-22 00:02:10 +0200
  New variable set-message-function to show message at the end of the minibuffer
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=485b423e8f0df2711a850be7f254665f64ab0bdb

> ---
> *** Minibuffer now uses 'minibuffer-message' to display error messages
> at the end of the active minibuffer.

(remove-hook 'minibuffer-setup-hook 'minibuffer-error-initialize)

[2aae0630552]: 2019-06-03 23:27:19 +0300
  User-friendly display of error messages at the end of minibuffer
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=2aae063055283ee64ecf339c812a1fe6d1cb106e>

> +++
> *** 'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer.

You'd have to evaluate the old lisp code of y-or-n-p.

[a26a8cc1c85]: 2019-11-10 00:04:13 +0200
  'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer (bug#38076)
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=a26a8cc1c85f29fb11209c16d53a8ae4e4ab7ced

> ---
> *** Some commands that previously used 'read-char-choice' now read
> a character using the minibuffer by 'read-char-from-minibuffer'.

You'd have to evaluate the old lisp of files--ask-user-about-large-file
and hack-local-variables-confirm.

[027f218ad22]: 2019-11-10 00:32:09 +0200
  hack-local-variables-confirm uses the minibuffer to read answer (bug#38076)
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=027f218ad227c3966df94b22566c2e89a307362d