all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Gregory Heytings <ghe@sdf.org>
Cc: Eli Zaretskii <eliz@gnu.org>,
	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 12:00:14 +0000	[thread overview]
Message-ID: <20201012120014.GA22249@ACM> (raw)
In-Reply-To: <alpine.NEB.2.22.394.2010121047120453.19651@sdf.lonestar.org>

Hello, Gregory.

On Mon, Oct 12, 2020 at 09:12:05 +0000, Gregory Heytings wrote:

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

Well, whoever sees/doesn't see this did set max-mini-window-height to 1.
Surely this is a case of you ask for it, you get it.

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

Perhaps there's a less heuristic way of dealing with it.  I haven't
looked into it closely.

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

Bugs are always obvious after somebody's pointed them out.  Well done
for finding them!

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

Emacs is ~45 years old.  Some of the maintainers have been on the job
for more than half of that time.  They've developed a feel for what fits
in harmoniously and what could easily jar and cause problems in the
future.  Given the complexity of Emacs, we can't really afford to wait
until potential problems become real problems - there might just be too
many of these to cope with.

For what it's worth, others (including me) have had effective bug fixes
rejected on various grounds.  For better or for worse, it's just part of
Emacs development.

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2020-10-12 12:00 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 [this message]
2020-10-12 12:18                         ` Gregory Heytings via Emacs development discussions.
2020-10-12 14:37                       ` Eli Zaretskii
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=20201012120014.GA22249@ACM \
    --to=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ghe@sdf.org \
    --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.