Subject: 29.1; Incompatible change to `completing-read' breaks existing code
From: Drew Adams <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Tue, 3 Oct 2023 22:11:41 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

How did the signature of `completing-read' get changed?  I didn't notice
any proposal or discussion about this in [email-masked].  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)