When running vc-diff
on a file in RCS, the diff output is a "context diff" by default. That means that the old and new chunks are displayed one above the other, with the differences highlighted. More modern version control systems produce "unified diffs", where the old and new version of each group of changed lines are adjacent.
Emacs' diff-mode can convert diffs from one format to another. Type C-c C-u to convert a context diff to a unified diff, and C-c C-d to do the opposite.
For example, this context diff:
*** bar.txt 2013/11/19 14:00:03 1.1
--- bar.txt 2013/11/19 14:00:11 1.2
***************
*** 1,5 ****
one
two
! tree
four
five
--- 1,5 ----
one
two
! three
four
five
would be transformed to this unified diff:
--- bar.txt 2013/11/19 14:00:03 1.1
+++ bar.txt 2013/11/19 14:00:11 1.2
@@ -1,5 +1,5 @@
one
two
-tree
+three
four
five
Regardless of which format the diff is currently in, you can jump to the corresponding line in the source file with C-c C-c. If it doesn't find the correct file, use M-x diff-tell-file-name
.