all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Dmitry Gutov <dgutov@yandex.ru>, Eli Zaretskii <eliz@gnu.org>
Cc: oub@mat.ucm.es, 23595@debbugs.gnu.org
Subject: bug#23595: 25.1.50; file with chinese/japanse chars, vc-diff fails (HG, Git, RCS)
Date: Mon, 23 May 2016 15:16:56 -0700	[thread overview]
Message-ID: <32b48032-8b30-d1d4-259c-8715aad3e7b8@cs.ucla.edu> (raw)
In-Reply-To: <21f6198c-a2fc-365f-caf7-79fad5027f1c@yandex.ru>

On 05/23/2016 02:02 PM, Dmitry Gutov wrote:
> Not sure what's the best place to do it, but the patch below gives me 
> 24.5's behavior (correctly decoding the short "Binary files ... 
> differ" output). Could someone try it together with Paul's solution?
>

It worked for me in the Bug#23595 test case, with Git configured with 
utf16<->utf8 filters as I described. However, it reintroduces a bug when 
the version-controlled uses ISO-2022-JP. If I make a trivial change to 
etc/HELLO, for example, the patch can cause vc-diff to display mojibake, 
as the output of "git diff" uses ISO0-2022-JP but vc-diff decodes it as 
UTF-8. Although this is the same mojibake that Emacs 24.5 generates so 
the behavior is not a regression from 24.5, it is a regression from 
current emacs-25.

We are on thin ice here no matter what. One idea to improve on the 
current emacs-25 behavior is to test whether a simple ASCII message like 
"Binary files differ" encodes as itself using the file's coding system, 
and to use the file's coding system if it does and locale-coding-system 
if it doesn't.

> diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
> index 25b41e3..b62b68d 100644
> --- a/lisp/vc/vc.el
> +++ b/lisp/vc/vc.el
> @@ -1696,6 +1696,8 @@ vc-diff-internal
>      (setq coding-system-for-read
>            (coding-system-change-eol-conversion coding-system-for-read
>                             'dos)))
> +    (unless (coding-system-get coding-system-for-read 
> :ascii-compatible-p)
> +      (setq coding-system-for-read nil)) 







  reply	other threads:[~2016-05-23 22:16 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-21 13:02 bug#23595: 25.1.50; file with chinese/japanse chars, vc-diff fails (HG, Git, RCS) Uwe Brauer
2016-05-23 11:52 ` Dmitry Gutov
2016-05-23 12:41   ` Uwe Brauer
2016-05-23 13:17     ` Dmitry Gutov
2016-05-23 16:52       ` Eli Zaretskii
2016-05-23 16:51     ` Eli Zaretskii
2016-05-23 16:48   ` Eli Zaretskii
2016-05-23 17:00     ` Uwe Brauer
2016-05-23 17:31       ` Eli Zaretskii
2016-05-23 20:37         ` Uwe Brauer
2016-05-23 21:01           ` Lars Ingebrigtsen
2016-05-24  2:33           ` Eli Zaretskii
2016-05-23 21:02     ` Dmitry Gutov
2016-05-23 22:16       ` Paul Eggert [this message]
2016-05-23 22:28         ` Dmitry Gutov
2016-05-24  0:07           ` Paul Eggert
2016-05-24  9:47             ` Dmitry Gutov
2016-05-25  6:51               ` Paul Eggert
2016-05-25 12:44                 ` Dmitry Gutov
2016-05-25 12:48                 ` Overriding the value of indent-tabs-mode in Emacs code Dmitry Gutov
2016-05-25 21:44                   ` Paul Eggert
2016-05-25 22:00                     ` Dmitry Gutov
2016-05-25 22:11                       ` Paul Eggert
2016-05-25 22:18                         ` Dmitry Gutov
2016-05-25 22:36                           ` Paul Eggert
2016-05-25 22:47                             ` Dmitry Gutov
2016-05-25 23:24                               ` Michael Heerdegen
2016-05-25 23:30                                 ` Dmitry Gutov
2016-05-25 23:54                                   ` Stefan Monnier
2016-05-26 10:59                                     ` Dmitry Gutov
2016-05-26 12:18                                       ` Stefan Monnier
2016-05-27 19:45                                     ` John Wiegley
2016-05-27 19:50                                       ` Stefan Monnier
2016-05-27 20:19                                       ` Paul Eggert
2016-05-27 20:53                                         ` John Wiegley
2016-05-26  0:00                                   ` Michael Heerdegen
2016-05-25 23:40                                 ` Karl Fogel
2016-05-26  0:02                                   ` Michael Heerdegen
2016-05-24  2:40         ` bug#23595: 25.1.50; file with chinese/japanse chars, vc-diff fails (HG, Git, RCS) Eli Zaretskii
2016-05-24 15:36           ` Eli Zaretskii
2016-05-24  2:36       ` Eli Zaretskii
2016-05-24  9:35         ` Dmitry Gutov
2016-05-24 15:40           ` Eli Zaretskii
2016-05-25  0:09             ` Dmitry Gutov
2016-05-25 16:22               ` Eli Zaretskii
2016-05-25 23:21                 ` Dmitry Gutov
2016-05-26 10:44                   ` Uwe Brauer
2016-05-26 15:35                   ` Eli Zaretskii
2016-06-19 19:09                     ` Dmitry Gutov
2016-05-25  6:19           ` Paul Eggert
2016-05-25 16:27             ` Eli Zaretskii
2016-05-25  6:19         ` Paul Eggert
2016-05-25 16:26           ` Eli Zaretskii
2016-05-23 17:40 ` Paul Eggert
2016-05-23 18:15   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=32b48032-8b30-d1d4-259c-8715aad3e7b8@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=23595@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=oub@mat.ucm.es \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.