emacs-devel
[Top][All Lists]
Advanced

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

Re: Confused by y-or-n-p


From: Alan Mackenzie
Subject: Re: Confused by y-or-n-p
Date: Tue, 5 Jan 2021 11:44:24 +0000

Hello, Gregory.

On Mon, Jan 04, 2021 at 22:17:51 +0000, Gregory Heytings via Emacs development 
discussions. wrote:

> >>>> * If some are opposed, they install the feature with a variable to 
> >>>> enable it, disabled by default.

> >>> This is already being done: every backward-incompatible change is 
> >>> either required to become compatible, or, if that's not feasible, to 
> >>> provide a way to get back the old behavior. In some rare cases this 
> >>> doesn't happen, but such mistakes are rare exceptions, they aren't the 
> >>> rule.

> >> That's not correct, see for example the thread "Stop frames stealing 
> >> eachothers' minibuffers!", in which the longstanding behavior of Emacs' 
> >> minibuffers, which are arguably a central piece of Emacs' UI, is being 
> >> modified on the pretext that it is "unsystematic", without any 
> >> argument, and in spite of the fact that hundreds and thousands of users 
> >> have been using it without complaining about that supposed 
> >> "unsystematicity".

> >> I repeatedly explained that the old behavior should remain available. 
> >> Initially the change explicitly removed the old behavior: "The old 
> >> [behavior] is no longer available." The latest patch sent yesterday, 
> >> only promises to "approximate" the old behavior.

> > That's because the original behavior was deemed buggy.  We don't provide 
> > compatibility options to get old bugs back.  As it turned out, what Alan 
> > considered buggy behavior was not necessarily so, therefore he now tries 
> > to provide a better backward compatibility.


> It did not "turn out", I explained in detail that the behavior that Alan 
> considered buggy was not at all buggy before he started working on this. 

I don't think you "explained" at all, and certainly not before I started
working on it - I initiated the discussion with a proposed patch so as to
minimise the risk of just wasting people's time with bikeshedding.  The
word "explain" would entail you speaking with some special insight, some
special knowledge, some authority.  I don't think you had any of these,
hence making the use of the word "explain" wrong.  Indeed, I found it
offensive for that reason.  You were just expressing your point of view,
one amongst several, that's all.

> And I fear that trying to provide a better backward compatibility after 
> having removed the code of the old behavior is doomed to fail, it will 
> most likely result in an endless bug report / bug fix loop.

You keep referring to an "old behaviour" that I removed, as though there
were something coherent, something valuable, something worth keeping.  I
don't think there's anything of the kind.  I think the former behaviour
just happened by accident as a result of people working on other things,
and nobody consciously made it happen.  I am now consciously trying
to fix it.  If you've argued for an old behaviour on its merits, possibly
in the thread "stealing eachother's minibuffers", could you perhaps point
out the place in that thread, so that I can read it again.

> > As the bug is still being actively worked on, it is premature ti draw 
> > any definitive conclusions from it relevant to the current discussion.


> I do believe it is relevant.

> The general pattern is similar to the y-or-n-p one, in that the code of an 
> UI behavior is removed and replaced by another one.  It is also, I think 
> (but it's just a feeling, I did not follow the discussions at that time), 
> similar to the changes in Emacs 27 about which Drew loudly complained and 
> that make Emacs 27 unuseable for him.

> What could have been done instead is to add some new code next to the 
> existing one to conditionally provide a new behavior, .....

That could not have been done, due to the state of the code in minibuf.c,
in particular, due to the lack of any coherent "existing behaviour".

> .... with an easy way for users who prefer / need the old behavior to
> revert the change.  If this had been done with y-or-n-p, this thread
> would simply not exist.  If this had been done with the new minibuffer
> behavior, the "Stop frames stealing each other's minibuffers" thread
> would be very different.

> And the consequence of that pattern is what Richard fears: my comments, 
> which can be summarized as "please do not remove the old behavior", are 
> perceived by Alan almost as a personal attack.

No.  I see them as a misperception of the state of Emacs on your part.

> This would not happen if we were doing what Richard suggests.

-- 
Alan Mackenzie (Nuremberg, Germany).



reply via email to

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