Subject: bug#30938: 27.0; `dired-do-create-files' etc.: do NOT always raise error if no files

From: Drew Adams <[email-masked]>
Date: Sun, 25 Mar 2018 09:36:08 -0700 (PDT)

Emacs 27 has introduced an unfortunate incompatible change.

It has added an extra optional arg, ERROR, to `dired-get-marked-files',
which is fine.

The bug is that calls to `dired-get-marked-files' have been changed all
over the place to systematically pass a non-nil value for optional arg
ERROR.  In general, this is completely inappropriate when the command
invoking `dired-get-marked-files' is not called interactively.

There is NO reason to suppose that a `user-error' occurred when a given
command is invoked non-interactively.

The logic behind this change is wrong - much too simplistic.  A non-nil
ERROR arg should perhaps be passed when called from some commands, but
typically only when such a command is called interactively.  Only then
might Emacs legitimately assume (and even this is arguable, in general)
that the user has committed an error.

Please revert this change as soon as possible, while you look for a
better way to do what you intended to do for it.  Please do not impose
raising such a user error on commands when they are not invoked
interactively.  It is perfectly reasonable for some such commands to be
invoked when there are no marked files, in which case the action should
typically be a no-op - it should not be to raise an error (much less a
"user" error).

In GNU Emacs 27.0.50 (build 3, x86_64-w64-mingw32)
 of 2018-03-21
Repository revision: e70d0c9e66d7a8609450b2889869d16aeb0363b5
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install -C 'CFLAGS=-O2 -static -g3''