unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: juri@linkov.net, Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 38457@debbugs.gnu.org
Subject: bug#38457: 27.0.50; dabbrev-expand regression due to message change
Date: Tue, 10 Dec 2019 18:34:48 +0200	[thread overview]
Message-ID: <83h828b0lz.fsf@gnu.org> (raw)
In-Reply-To: <83tv68c0nb.fsf@gnu.org> (message from Eli Zaretskii on Tue, 10 Dec 2019 05:36:24 +0200)

> Date: Tue, 10 Dec 2019 05:36:24 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 38457@debbugs.gnu.org, stephen.berman@gmx.net
> 
> > > I don't see how this is a "hack" when it uses the same technique as
> > > your changes in 'message': checking a variable that is bound by other
> > > functions.  The advantage of my proposal is that it makes the new
> > > functionality opt-in, so that any commands which need this could have
> > > it by simply binding a variable, and would otherwise maintain its old
> > > behavior, which was there for eons.
> > 
> > Such variable already exists.  It's called message-in-echo-area.
> > You can enable it in the release branch if you want.
> > But then please reopen bug#34614, bug#19064, bug#17272, bug#446.
> 
> Sorry, I don't understand the proposal.  How will this variable help
> if we leave the current code in 'message' as it is?  And what do you
> mean by "enabling" message-in-echo-area?

Actually, the more I think about this the less I like the idea of
calling minibuffer-message instead of 'message' under some
circumstances, any circumstances.  minibuffer-message is meant for
very different use case: temporarily displaying a message for a short
time.  The messages it displays are usually ephemeral and dispensable;
if the user misses such a message, no big deal.

By contrast, 'message' is used for similar use cases, but also for
radically different ones, including those where several related
messages are displayed in quick succession (a notable example is
"Foo..." followed by "Foo...done"), or where a message is left in the
echo area indefinitely if no input event arrives.  Crucially, Lisp
programs do not tell 'message' which use case is required; instead,
the following calls to 'message' or other events produce the required
effects.  To produce the same effect with minibuffer-message will
require too many changes all over the place.

So I think it is simply wrong to call minibuffer-message instead of
'message'.  There are too many different behavior aspects.  Several
examples were already given, including debug-on-message.  One other
aspect that I just bumped into is recording messages in the *Messages*
buffer: minibuffer-message never did that, until a recent (and
undocumented) change, also related to attempts to fix messages
overwriting y-or-n-p prompts, so now we have one more incompatible
change in minibuffer-message's behavior waiting to bite us down the
road.

Therefore, I suggest to take a step back and discuss a better solution
for these problems.

The original problem was, AFAIU, that various minibuffer prompts
become obscured by echo-area display of messages.  So one possible
solution is to modify the subroutines of 'message', e.g.,
set_message_1, to detect the conditions of the minibuffer being
active, and insert the contents of the minibuffer into the echo-area
buffer before the message text.  Does anyone see problems with this?





  parent reply	other threads:[~2019-12-10 16:34 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02 11:06 bug#38457: 27.0.50; dabbrev-expand regression due to message change Stephen Berman
2019-12-02 16:02 ` Eli Zaretskii
2019-12-02 23:00 ` Juri Linkov
2019-12-03  0:15   ` Stephen Berman
2019-12-03  3:36   ` Eli Zaretskii
2019-12-03 23:44     ` Juri Linkov
2019-12-04  3:38       ` Eli Zaretskii
2019-12-04 23:16         ` Juri Linkov
2019-12-05  3:43           ` Eli Zaretskii
2019-12-06  0:10             ` Juri Linkov
2019-12-06  7:44               ` Eli Zaretskii
2019-12-07 23:05                 ` Juri Linkov
2019-12-08  3:28                   ` Eli Zaretskii
2019-12-08  5:18                     ` Eli Zaretskii
2019-12-08 21:50                       ` Juri Linkov
2019-12-09  3:36                         ` Eli Zaretskii
2019-12-09  7:43                           ` Lars Ingebrigtsen
2019-12-09 14:00                             ` Eli Zaretskii
2019-12-09 15:55                               ` Eli Zaretskii
2019-12-11  7:32                               ` Lars Ingebrigtsen
2019-12-11  7:35                                 ` Lars Ingebrigtsen
2019-12-11 16:30                                   ` Eli Zaretskii
2019-12-11 16:28                                 ` Eli Zaretskii
2019-12-24 16:30                                   ` Lars Ingebrigtsen
2019-12-24 17:50                                     ` Eli Zaretskii
2019-12-09 23:45                           ` Juri Linkov
2019-12-10  3:36                             ` Eli Zaretskii
2019-12-10  7:19                               ` HaiJun Zhang
2019-12-10 16:11                                 ` Eli Zaretskii
2019-12-10 17:52                                   ` Drew Adams
2019-12-10 17:51                                 ` Drew Adams
2019-12-10 16:34                               ` Eli Zaretskii [this message]
2019-12-10 17:08                                 ` Stefan Monnier
2019-12-10 17:49                                   ` Eli Zaretskii
2019-12-10 17:57                                     ` Eli Zaretskii
2019-12-10 23:45                                       ` Juri Linkov
2019-12-11 16:19                                         ` Eli Zaretskii
2019-12-11 17:34                                           ` Stefan Monnier
2019-12-11 17:50                                             ` Eli Zaretskii
2019-12-11 18:53                                               ` Stefan Monnier
2019-12-11 23:12                                           ` Juri Linkov
2019-12-12  4:39                                             ` Eli Zaretskii
2019-12-12 22:45                                               ` Juri Linkov
2019-12-13  8:25                                                 ` Eli Zaretskii
2019-12-10 19:45                                     ` Stefan Monnier
2019-12-10 20:11                                       ` Eli Zaretskii
2019-12-10 21:45                                         ` Stefan Monnier
2019-12-11  3:24                                     ` HaiJun Zhang
2019-12-11  3:40                                       ` Eli Zaretskii
2019-12-11  3:59                                         ` HaiJun Zhang
2019-12-11 16:26                                           ` Eli Zaretskii
2019-12-12  4:33                                             ` HaiJun Zhang
2019-12-12  5:29                                               ` Eli Zaretskii
2019-12-12 22:58                                               ` Juri Linkov
2019-12-13  7:02                                                 ` Eli Zaretskii
2019-12-13  9:07                                                   ` Eli Zaretskii
2019-12-12 13:21                                             ` Stefan Monnier
2019-12-11  3:35                                 ` HaiJun Zhang
2019-12-11 16:11                                   ` Eli Zaretskii
2019-12-11 16:42                                 ` Eli Zaretskii
2019-12-11 23:24                                   ` Juri Linkov
2019-12-12  5:36                                     ` Eli Zaretskii
2019-12-12 11:08                                       ` Dmitry Gutov
2019-12-12 23:07                                       ` Juri Linkov
2019-12-13  8:46                                         ` Eli Zaretskii
2019-12-11 23:28                               ` Juri Linkov
2019-12-12  5:41                                 ` Eli Zaretskii
2019-12-12 23:12                                   ` Juri Linkov
2019-12-13  8:57                                     ` Eli Zaretskii
2019-12-14 23:10                                       ` Juri Linkov
2019-12-15 15:35                                         ` Eli Zaretskii
2019-12-15 23:59                                           ` Juri Linkov
2019-12-16 16:09                                             ` Eli Zaretskii
2019-12-16 22:29                                               ` Juri Linkov
2019-12-16 23:26                                                 ` Dmitry Gutov
2019-12-17  6:27                                                   ` HaiJun Zhang
2019-12-17 16:19                                                     ` Eli Zaretskii
2019-12-17 23:53                                                     ` Juri Linkov
2019-12-18  3:38                                                       ` HaiJun Zhang
2019-12-17 16:11                                                 ` Eli Zaretskii
2019-12-17 23:51                                                   ` Juri Linkov
2019-12-18 16:24                                                     ` Eli Zaretskii
2019-12-19  0:12                                                       ` Juri Linkov
2019-12-19 15:36                                                         ` Eli Zaretskii
2019-12-19 22:16                                                           ` Juri Linkov
2019-12-19 22:30                                                             ` Dmitry Gutov
2019-12-19 23:17                                                               ` Juri Linkov
2019-12-20  7:34                                                                 ` Eli Zaretskii
2019-12-19 22:52                                                             ` Juri Linkov
2019-12-20  7:59                                                               ` Eli Zaretskii
2019-12-21 22:09                                                                 ` Juri Linkov
2019-12-20  7:54                                                             ` Eli Zaretskii
2019-12-21 22:02                                                               ` Juri Linkov
2019-12-22 19:02                                                                 ` Eli Zaretskii
2019-12-20 14:29                                                             ` Dmitry Gutov
2019-12-21 22:03                                                               ` Juri Linkov
2019-12-23 10:10                                                                 ` Dmitry Gutov
2019-12-23 22:58                                                                   ` Juri Linkov
2019-12-24  0:42                                                                     ` Dmitry Gutov
2019-12-24 23:47                                                                       ` Juri Linkov
2019-12-25 16:30                                                                         ` Dmitry Gutov
2019-12-25 16:44                                                                           ` Eli Zaretskii
2019-12-25 16:49                                                                             ` Dmitry Gutov
2020-01-18  0:59                                                                               ` Dmitry Gutov
2020-01-18  8:19                                                                                 ` Eli Zaretskii
2020-01-20 12:30                                                                                   ` Dmitry Gutov
2020-01-21 16:15                                                                                     ` Eli Zaretskii
2020-01-22  0:46                                                                                       ` Dmitry Gutov
2020-01-18  1:00                                                                           ` Dmitry Gutov
2019-12-05 15:24         ` Kévin Le Gouguec
2019-12-05 16:36           ` Eli Zaretskii
2019-12-06  0:06           ` Juri Linkov
2019-12-06  7:41             ` Eli Zaretskii
2019-12-06 17:15               ` Kévin Le Gouguec
     [not found] <<8736e3vve8.fsf@gmx.net>
     [not found] ` <<8736e2coyv.fsf@mail.linkov.net>
     [not found]   ` <<83y2vujd0y.fsf@gnu.org>
     [not found]     ` <<87blspm0sm.fsf@mail.linkov.net>
     [not found]       ` <<837e3ckbem.fsf@gnu.org>
     [not found]         ` <<871rtjn0kt.fsf@mail.linkov.net>
     [not found]           ` <<83lfrrigj8.fsf@gnu.org>
     [not found]             ` <<87eexiqps5.fsf@mail.linkov.net>
     [not found]               ` <<83lfrphp94.fsf@gnu.org>
     [not found]                 ` <<87wob7g2jk.fsf@mail.linkov.net>
     [not found]                   ` <<83k177ebs0.fsf@gnu.org>
     [not found]                     ` <<AE02ADC8-6567-4EB1-8A44-E60BC4B5807A@gnu.org>
     [not found]                       ` <<87muc27prn.fsf@mail.linkov.net>
     [not found]                         ` <<83tv6acgq5.fsf@gnu.org>
     [not found]                           ` <<87eexdoygh.fsf@mail.linkov.net>
     [not found]                             ` <<83tv68c0nb.fsf@gnu.org>
     [not found]                               ` <<83h828b0lz.fsf@gnu.org>
2019-12-10 17:53                                 ` 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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=83h828b0lz.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=38457@debbugs.gnu.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).