Subject: bug#23595: 25.1.50; file with chinese/japanse chars, vc-diff fails (HG, Git, RCS)

From: Dmitry Gutov <[email-masked]>
Date: Mon, 23 May 2016 14:52:03 +0300

On 05/21/2016 04:02 PM, Uwe Brauer wrote:

> Register the file (either with GIT, HG, RCS) modify commit and then run
> vc-diff
> 
> The resulting diff contains either rubbish or fails to run.
> Files attached.

It seems, to an extent, be caused by our setting coding-system-for-read inside vc-diff-internal (to utf-16be-with-signature-unix, which is also the value of buffer-file-coding-system).

Without that, the result of vc-diff (at least with Git) is "Binary files a/test-chin-jap.tex and b/test-chin-jap.tex differ". Emacs 24.5 does the same.

Which is weird, considering both vc-diff-internal and vc-coding-system-for-diff have both been virtually untouched for the last couple of years.

But even if we figure out why happens, you (Uwe) probably want Git, Hg, etc, to treat this file as text, and not binary. Only then you'll be able to get meaningful diffs. I don't have a specific advice on that.