Subject: Re: bug#10624: 24.0.92; default value of `dired-do-ch*'

From: Juri Linkov <[email-masked]>
Date: Sun, 16 Sep 2012 01:50:06 +0300

> The Emacs mark is not something that is very useful in this context,
> IMO.  It's not obvious and visible.

It is visible when transient-mark-mode is enabled.

> And why use the mark only when transient-mark-mode is enabled?

Because when transient-mark-mode is enabled, it is possible
to deactivate the mark with C-g.

> That obviates use of the region for something more useful in Dired

It doesn't preclude from using the region in other Dired commands.

> What's more, if I read your code correctly, when there is no active
> mark you are still picking up the first of the marked files and using
> its data as the default.

No, you read code incorrectly.  You could pay more attention to the
line with (= (length files) 1)

> 2. Minimal, easy to do now: Use the attributes of the file on the current line,
> providing them as the default for the marked files according to the particular
> command (mod time, various permission fields, etc.).

This makes sense, but it might be too confusing.  For instance,
in the following scenario: type `m' to select a file, after that
point moves to the next line with an arbitrary unselected file
whose attributes will be used as the default value.  This would be
unexpected.

> 3. More complex, but more useful: Let the user hit a key to "copy" the
> attributes of a given file (on the current line - the "source" file), as if to a
> clipboard.  Then use those attributes for subsequent "paste" operations,

I suppose a key to copy the attributes to use as the default value
would be like `w' (`dired-copy-filename-as-kill').  It is worth thinking about.
But it has one drawback that is not too obvious.

> The point is to (a) have a reasonable source-file choice from which attributes
> are taken for the default and (b) push those attributes to the marked files as
> defaults for an operation, in a operation-pertinent way.

Using the mark in transient-mark-mode is a reasonable source-file choice
from which attributes are taken for the default, and could be added among
other possible methods.