emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New multi-command facility displays in the wrong echo area.


From: Gregory Heytings
Subject: Re: New multi-command facility displays in the wrong echo area.
Date: Mon, 12 Oct 2020 09:12:05 +0000
User-agent: Alpine 2.22 (NEB 394 2020-01-19)



Thanks. So I think your change is a definite improvement, and I therefore installed it on the emacs-27 branch.


Thank you.  Alas, it's not the only bug of this new feature.  A recipe:

emacs -Q
(progn
  (set-frame-width nil 80)
  (setq max-mini-window-height 1)
  (setq default-directory (concat "/" (make-string 67 ?a)))
  (call-interactively 'find-file))
press C-x o
press C-s

At this point you see no indication that I-search has been started. (If you look close enough, the only thing you can see is a curly arrow in the right fringe of the miniwindow.) Likewise, if you press C-x C-s, you see no indication that changes have been saved (or not). And so forth.

I suggest the following fourth condition in set-minibuffer-message:

(< (buffer-size (window-buffer (active-minibuffer-window))) (/ (frame-width 
(window-frame (active-minibuffer-window))) 2))

Of course it's a heuristic (it could still fail when the face used in the miniwindow is different, and larger than, the default face), but it should catch 99.99% of the remaining error cases.

It is amazing that such a feature got accepted, was included in an official Emacs release, and became Emacs' default behavior, without even trying the two obvious cases to test: what happens when there is not enough free space in the minibuffer? and what happens when the active minibuffer is not on the same frame?

It is even more amazing that, at the same time, my proposed solution to display completion candidates in the minibuffer is rejected on the grounds that it could cause "potential problems", when so far no one has managed to show a case in which it would create an actual problem.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]