vc-dir mode in emacs, vc-diff error when not marked file

Rockefeller, Harry
Mon Feb 11 19:55:00 GMT 2013

>On 2/11/2013 12:49 PM, Ken Brown wrote:
>> On 2/11/2013 12:09 PM, Rockefeller, Harry wrote:
>>> When using subversion 1.7.8-2 in emacs 24.2.93-1 "vc-dir" mode and I
>>> "vc-dir-mark" a file then move cursor to a different file and attempt
>>> "vc-diff" the diff is always performed on the marked file and not the
>>> one under the cursor as I would expect.
>> Why would you expect this?  In ordinary directory mode, commands are
>> typically performed on the marked files, regardless of where the
>> cursor is.  Is there documentation that says vc-dir should behave differently?
>> BTW, this has nothing to do with Cygwin.  The behavior you described
>> also occurs on Linux.

>I just read the documentation for ordinary directory mode, and I learned that >you can override the standard behavior by using a prefix argument.
> For example, mark a file, move to a different file, and type `1 D'; emacs will >offer to delete the current file instead of the marked one.

>Maybe vc-dir is similar.  I haven't tested it.

I've posted the emacs help for these functions below.
Maybe this helps explain why I expected the behavior as mentioned above?
But you are correct Ken.  Key "=" in dired is different than "=" in vc-dir.
Function vc-diff is not just a "child object" (to borrow an object oriented
term) of dired-diff; where one might assume dired-diff's default comparison file: "backup file", becomes "latest version in repository" in vc-dir.

Dired, vc-dir, buffer-list, maybe other modes too have similar features
and behaviors where it makes sense.  This is a big plus.  I suppose I tend to push it too far blurring it with my own personal processes.

This has nothing to do with Cygwin and nothing is broken.  No response is necessary or expected.

In vc-dir mode C-hk = shows:

= runs the command vc-diff, which is an interactive autoloaded
compiled Lisp function in `vc.el'.

It is bound to =, <menu-bar> <vc-dir-mode> <diff>, C-x v =,
<menu-bar> <tools> <vc> <vc-diff>.

(vc-diff &optional HISTORIC NOT-URGENT)

Display diffs between file revisions.
Normally this compares the currently selected fileset with their
working revisions.  With a prefix argument HISTORIC, it reads two revision
designators specifying which revisions to compare.

The optional argument NOT-URGENT non-nil means it is ok to say no to
saving the buffer.

In dired mode C-hk = shows:

= runs the command dired-diff, which is an interactive autoloaded
compiled Lisp function in `dired-aux.el'.

It is bound to =, <menu-bar> <immediate> <diff>.

(dired-diff FILE &optional SWITCHES)

Compare file at point with file FILE using `diff'.
If called interactively, prompt for FILE.  If the file at point
has a backup file, use that as the default.  If the mark is active
in Transient Mark mode, use the file at the mark as the default.
(That's the mark set by C-SPC, not by Dired's
m command.)

FILE is the first file given to `diff'.  The file at point
is the second file given to `diff'.

With prefix arg, prompt for second argument SWITCHES, which is
the string of command switches for the third argument of `diff'.

Problem reports:
Unsubscribe info:

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list