GNU bug report logs -
#66328
29.1; Incompatible change to `completing-read' breaks existing code
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Tue, 3 Oct 2023 22:13:02 UTC
Severity: normal
Found in version 29.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 66328 in the body.
You can then email your comments to 66328 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#66328
; Package
emacs
.
(Tue, 03 Oct 2023 22:13:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Drew Adams <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 03 Oct 2023 22:13:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
How did the signature of `completing-read' get changed? I didn't notice
any proposal or discussion about this in emacs-devel <at> gnu.org. Did I
just miss it somehow?
It used to be that _any_ REQUIRE-MATCH value that is not `t', nil,
`confirm', or `confirm-after-completion' behaves like `t', except that
type RET doesn't exit if what you type does non-null completion.
That's no longer true if the value is a function! This completely
changes the behavior of `completing-read'.
Not happy with the result, and not happy with how the process - how this
was done, if it wasn't discussed openly in emacs-devel.
In GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-08-02 built on
AVALON
Windowing system distributor 'Microsoft Corp.', version 10.0.19045
System Description: Microsoft Windows 10 Pro (v10.0.2009.19045.3448)
Configured using:
'configure --with-modules --without-dbus --with-native-compilation=aot
--without-compress-install --with-tree-sitter CFLAGS=-O2'
Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB
(NATIVE_COMP present but libgccjit not available)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#66328
; Package
emacs
.
(Tue, 03 Oct 2023 23:26:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 66328 <at> debbugs.gnu.org (full text, mbox):
On Tue, 3 Oct 2023 22:11:41 +0000 Drew Adams <drew.adams <at> oracle.com> wrote:
> How did the signature of `completing-read' get changed? I didn't notice
> any proposal or discussion about this in emacs-devel <at> gnu.org. Did I
> just miss it somehow?
>
> It used to be that _any_ REQUIRE-MATCH value that is not `t', nil,
> `confirm', or `confirm-after-completion' behaves like `t', except that
> type RET doesn't exit if what you type does non-null completion.
>
> That's no longer true if the value is a function! This completely
> changes the behavior of `completing-read'.
>
> Not happy with the result, and not happy with how the process - how this
> was done, if it wasn't discussed openly in emacs-devel.
There was a short discussion, after the change was made, starting here:
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00539.html
Steve Berman
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#66328
; Package
emacs
.
(Wed, 04 Oct 2023 02:05:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 66328 <at> debbugs.gnu.org (full text, mbox):
> > How did the signature of `completing-read' get changed?
> > I didn't notice any proposal or discussion about this
> > in emacs-devel <at> gnu.org. Did I just miss it somehow?
> >
> > It used to be that _any_ REQUIRE-MATCH value that is
> > not `t', nil, `confirm', or `confirm-after-completion'
> > behaves like `t', except that type RET doesn't exit if
> > what you type does non-null completion.
> >
> > That's no longer true if the value is a function!
> > This completely changes the behavior of `completing-read'.
> >
> > Not happy with the result, and not happy with how the
> > process - how this was done, if it wasn't discussed
> > openly in emacs-devel.
>
> There was a short discussion, after the change was made, starting here:
> https://urldefense.com/v3/__https://lists.gnu.org/archive/html/emacs-
> devel/2022-
> 06/msg00539.html__;!!ACWV5N9M2RV99hQ!Pi4vEIugzynWXlOXCj_8GVnUyeP_8Q9i9ysV
> ZwoUAmd2dc4qwMRUMS8Ce9W_d_8GAlmYBaDccZg8x2-utGVJed4B$
I see; thank you!
Yes, very ugly. And no proposal or discussion;
just Lars changing things. At least Stefan
spoke up (though not about the basic breaking
of compatibility) - after the fait accompli.
I suppose I should have guessed it was something
like that. Wish I'd have seen it at the time,
and realized what the overall effect is.
Really too bad.
The justification given: "adding a new parameter
for this use case seemed a bit overboard." So
just break what that argument has always been
about, and reuse it for something altogether
different? Sigh.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#66328
; Package
emacs
.
(Wed, 04 Oct 2023 07:24:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 66328 <at> debbugs.gnu.org (full text, mbox):
> From: Drew Adams <drew.adams <at> oracle.com>
> Date: Tue, 3 Oct 2023 22:11:41 +0000
>
> How did the signature of `completing-read' get changed? I didn't notice
> any proposal or discussion about this in emacs-devel <at> gnu.org. Did I
> just miss it somehow?
It was discussed here:
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00539.html
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Wed, 04 Oct 2023 07:32:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Drew Adams <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Wed, 04 Oct 2023 07:32:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 66328-done <at> debbugs.gnu.org (full text, mbox):
> Cc: "66328 <at> debbugs.gnu.org" <66328 <at> debbugs.gnu.org>
> From: Drew Adams <drew.adams <at> oracle.com>
> Date: Wed, 4 Oct 2023 02:04:01 +0000
>
> > > How did the signature of `completing-read' get changed?
> > > I didn't notice any proposal or discussion about this
> > > in emacs-devel <at> gnu.org. Did I just miss it somehow?
> > >
> > > It used to be that _any_ REQUIRE-MATCH value that is
> > > not `t', nil, `confirm', or `confirm-after-completion'
> > > behaves like `t', except that type RET doesn't exit if
> > > what you type does non-null completion.
> > >
> > > That's no longer true if the value is a function!
> > > This completely changes the behavior of `completing-read'.
> > >
> > > Not happy with the result, and not happy with how the
> > > process - how this was done, if it wasn't discussed
> > > openly in emacs-devel.
> >
> > There was a short discussion, after the change was made, starting here:
> > https://urldefense.com/v3/__https://lists.gnu.org/archive/html/emacs-
> > devel/2022-
> > 06/msg00539.html__;!!ACWV5N9M2RV99hQ!Pi4vEIugzynWXlOXCj_8GVnUyeP_8Q9i9ysV
> > ZwoUAmd2dc4qwMRUMS8Ce9W_d_8GAlmYBaDccZg8x2-utGVJed4B$
>
> I see; thank you!
>
> Yes, very ugly. And no proposal or discussion;
> just Lars changing things. At least Stefan
> spoke up (though not about the basic breaking
> of compatibility) - after the fait accompli.
>
> I suppose I should have guessed it was something
> like that. Wish I'd have seen it at the time,
> and realized what the overall effect is.
>
> Really too bad.
>
> The justification given: "adding a new parameter
> for this use case seemed a bit overboard." So
> just break what that argument has always been
> about, and reuse it for something altogether
> different? Sigh.
I see no reason to revert that change, so I'm closing this bug.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 01 Nov 2023 11:24:09 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 229 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.