all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Gregory Heytings <ghe@sdf.org>, Juri Linkov <juri@linkov.net>
Cc: acm@muc.de, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: New multi-command facility displays in the wrong echo area.
Date: Mon, 12 Oct 2020 17:37:33 +0300	[thread overview]
Message-ID: <837drv4ij6.fsf@gnu.org> (raw)
In-Reply-To: <alpine.NEB.2.22.394.2010121047120453.19651@sdf.lonestar.org> (message from Gregory Heytings on Mon, 12 Oct 2020 09:12:05 +0000)

> Date: Mon, 12 Oct 2020 09:12:05 +0000
> From: Gregory Heytings <ghe@sdf.org>
> cc: acm@muc.de, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> 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.

Right.

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

So you suggest in that case to overwrite the minibuffer prompt, like
Emacs 26 did?  I'm not sure I like this: it would bring back many
problems this feature was supposed to fix.  Can we do better than
obliterating the entire minibuffer text?

Juri, any ideas?

In any case, I think the condition could be relaxed: we only care
about how much space is left from the minibuffer text's end till the
end of the screen line, so "if minibuffer text size modulo
window-width is less than something" would be better, I think.  E.g.,
if you use 70 instead of 67 in your recipe, the problem is mostly
gone.

Also, it would be safer to use string-width instead of the number of
characters, or even window-text-pixel-size: some people do customize
the faces used in the minibuffer.

> 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?

This has some history.  You are welcome to read the discussion in
bug#38457, especially starting at

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38457#17

You will see that many issues were discussed, the dangers were
expected, and as result the change became less invasive, which was
especially important because the release cycle was about to start.
However, it didn't sound wise to reject the changes outright because
they've fixed several important use cases that were an annoyance for a
long time.

But yes, any significant change in such basic functionality runs a
risk to break something, especially in relatively rare use cases
(max-mini-window-height set to 1, followed by "C-x o" out of the
minibuffer).  This risk is inherent part of development, and sometimes
mistakes are being made.  We try at least not to make the mistakes we
know about.

> 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.

Maybe because we are now wiser and don't want to repeat past mistakes?

Btw, the C-s use case is special, you can see that if you do just
this:

  C-x C-f
  C-s

Juri, would it make sense to do something special for Isearch in the
"C-x o" case as well?  Or am I wrong, and there's nothing special
with Isearch using the mini-window here?



  parent reply	other threads:[~2020-10-12 14:37 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-09 16:34 New multi-command facility displays in the wrong echo area Alan Mackenzie
2020-10-09 19:47 ` Stefan Monnier
2020-10-09 20:38   ` Alan Mackenzie
2020-10-09 22:12     ` Stefan Monnier
2020-10-09 22:56       ` Drew Adams
2020-10-10  6:52     ` Eli Zaretskii
2020-10-10 10:32       ` Alan Mackenzie
2020-10-10 11:13         ` Eli Zaretskii
2020-10-10 12:36           ` Gregory Heytings via Emacs development discussions.
2020-10-10 12:44           ` Alan Mackenzie
2020-10-10 12:50             ` Eli Zaretskii
2020-10-10 13:00               ` Eli Zaretskii
2020-10-10 20:30                 ` Gregory Heytings via Emacs development discussions.
2020-10-11 14:38                   ` Eli Zaretskii
2020-10-12  9:12                     ` Gregory Heytings via Emacs development discussions.
2020-10-12 12:00                       ` Alan Mackenzie
2020-10-12 12:18                         ` Gregory Heytings via Emacs development discussions.
2020-10-12 14:37                       ` Eli Zaretskii [this message]
2020-10-12 15:41                         ` Gregory Heytings via Emacs development discussions.
2020-10-12 16:01                           ` Eli Zaretskii
2020-10-12 16:31                             ` Gregory Heytings via Emacs development discussions.
2020-10-12 17:20                               ` Eli Zaretskii
2020-10-12 21:06                                 ` Gregory Heytings via Emacs development discussions.
2020-10-13 14:03                                   ` Eli Zaretskii
2020-10-13 19:27                                     ` Gregory Heytings via Emacs development discussions.
2020-10-13 21:22                                       ` Gregory Heytings via Emacs development discussions.
2020-10-12 17:12                         ` Drew Adams
2020-10-12 17:34                           ` Eli Zaretskii
2020-10-12 19:46                         ` Juri Linkov
2020-10-13  2:25                           ` Eli Zaretskii
2020-10-14 20:44                       ` Gregory Heytings via Emacs development discussions.
     [not found]                         ` <1cd65040-f7ad-4613-b3fb-7cfa62bb0488@default>
2020-10-14 22:15                           ` Gregory Heytings via Emacs development discussions.
2020-10-14 22:51                         ` Stefan Monnier
2020-10-16  7:19                           ` Eli Zaretskii
2020-10-16  7:19                         ` Eli Zaretskii
2020-10-10 13:03             ` Gregory Heytings via Emacs development discussions.
2020-10-10 13:47               ` Alan Mackenzie
2020-10-10 20:20                 ` Gregory Heytings via Emacs development discussions.
2020-10-09 21:14   ` Gregory Heytings via Emacs development discussions.
2020-10-09 21:48     ` Gregory Heytings via Emacs development discussions.
2020-10-10 10:15       ` Alan Mackenzie
2020-10-10 13:44         ` Stefan Monnier
     [not found] <<20201009163445.GB4027@ACM>
     [not found] ` <<jwv362nkwss.fsf-monnier+emacs@gnu.org>
     [not found]   ` <<20201009203810.GC4027@ACM>
     [not found]     ` <<83imbi609a.fsf@gnu.org>
2020-10-10 16:11       ` Drew Adams
2020-10-10 20:40         ` Gregory Heytings via Emacs development discussions.
2020-10-11  0:59           ` 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

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

  git send-email \
    --in-reply-to=837drv4ij6.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=ghe@sdf.org \
    --cc=juri@linkov.net \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.