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.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 04 Oct 2023 10:31:12 +0300
with message-id <83leci6dz3.fsf <at> gnu.org>
and subject line Re: bug#66328: 29.1; Incompatible change to `completing-read' breaks existing code
has caused the debbugs.gnu.org bug report #66328,
regarding 29.1; Incompatible change to `completing-read' breaks existing code
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
66328: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66328
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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)
[Message part 3 (message/rfc822, inline)]
> 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.
This bug report was last modified 1 year and 230 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.