In GNU Emacs 22.1.50.3 (i686-pc-linux-gnu, GTK+ Version 2.10.11)
of 2007-08-28 on trpaslik
Windowing system distributor `The X.Org Foundation', version 11.0.70200000
configured using `configure '--with-gtk' '--prefix' '/usr/local' '--with-xpm' '--with-jpeg' '--with-png' '--with-gif''
The recent change to vc-svn.el seems to be a little wrong. vc-svn-diff does (dolist (f files) ... where files is its first argument. However, that first argument isn't always a list. See how it's called here:
(defun vc-svn-diff-tree (dir &optional rev1 rev2)
"Diff all files at and below DIR."
(vc-svn-diff (file-name-as-directory dir) rev1 rev2))
I was visiting a svn-controlled source file and typed C-u C-x v = RET 567 RET, hoping to compare version 567 of the current source file with the version I was looking at, but instead got the above error.
Checking with "C-x ESC ESC", I see that vc-version-diff wasn't called how I was expecting it to be. I see that what was called to get the error was:
(vc-version-diff "/home/chris/programs/" "567" "")
whereas what I would expect to see is:
(vc-version-diff "/home/chris/programs/file.c" "567" "")
Somehow the first RET I typed, to the "File or dir to diff (default visited file)" prompt didn't default to the visited file, but instead literally used the directory itself.