Subject: bug#30285: dired-do-chmod vs. top line of dired

From: Drew Adams <[email-masked]>
Date: Thu, 1 Feb 2018 12:50:16 -0800 (PST)

> Since `dired-mark' from the top line followed by the command in question
> is not obvious for users, we could provide a hint in the error message,
> i.e. mention the availability of ‘m’ on the top line with such message:
> “You can type `m' here to mark all files for this operation”.

Not sure how helpful or necessary that is.  It's liable to
not be helpful (that use case needs no special advertising).
And it might even confuse things.  I think it just gets in
the way of the message, which is, "You are not on a file line."

I think we should show the same error message from any non-file
line - not just the top line or top-two lines.  And I think it
should just say that point is not on a file line.

Users who are interested or who wonder about the error message
can consult the doc string of the command.

That's the place, if any is needed, where such info as you
mention should be conveyed.  Such info is not part of the
message we're trying to get across here, which is just that
this command cannot be used if point is not on a file line.

Dired lets you do all kinds of things.  There are lots of ways
top mark files and lots of ways to act on marked files.  This
command should not be advertising any such ways in its error
message.

> I agree with Drew that better to use existing functions, and not to
> duplicate them.  Non sunt multiplicanda entia sine necessitate.

;-)

> Moreover, we should not change the old semantic of Dired commands:
> if users have a habit of operating on the first files by going to the
> top
> line and typing e.g. ‘M-< C-5 M’ to change modes of the first 5 files,
> this is just fine, we should not prohobit this behaviour now.
> 
> So what we need to do is just check if the list of files returned from
> ‘dired-get-marked-files’ is nil, and show some message in this case in
> all places that you found where the prompt with [0 files] makes no
> sense.

Yes.  Just a simple fix for this minor usability bug, please.