[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ediff-files uses wrong coding system for temporary file
From: |
Joe Wells |
Subject: |
Re: ediff-files uses wrong coding system for temporary file |
Date: |
Wed, 26 Sep 2007 00:27:31 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) |
Has anyone else been able to reproduce this bug?
Joe
Joe Wells <jbw@macs.hw.ac.uk> writes:
> To reproduce:
>
> 1. Pick a UTF-8-encoded file with lots of non-ASCII characters. (For
> example, you can pick “latin-ltx.el” from the Emacs distribution.)
> Assume for the sake of discussion that this file is named “X”.
>
> This file should be uncompressed. (If it is compressed, adjust the
> following instructions to make an _uncompressed_ copy of it.)
>
> 2. Copy this file to a fresh name:
>
> cp X /tmp/Y
>
> 3. Compress the copy:
>
> gzip /tmp/Y
>
> 4. Start a fresh Emacs:
>
> emacs -Q
>
> 5. Use ediff-files on the original file and its compressed copy:
>
> M-x ediff-files RET X RET /tmp/Y RET
>
> 6. Observe many differences reported, despite the fact that the files
> should be considered identical.
>
> The cause of the problem is that Ediff uses ediff-make-temp-file to
> make a temporary uncompressed version of the compressed file to use as
> input to “diff”. It uses the value of ediff-coding-system-for-write
> for the coding system when writing this temporary file. The value of
> ediff-coding-system-for-write at this point in time differs from the
> coding system of the original file. It should probably instead use
> the coding system of the compressed file.
>
> I hope this report is helpful.
>
> Joe
>
> ======================================================================
> In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
> of 2007-06-27 on artemis
> Windowing system distributor `The X.Org Foundation', version 11.0.70000000
> configured using `configure '--prefix=/home/jbw/local2' '--enable-debug'
> '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb''
>
> Important settings:
> value of $LC_ALL: nil
> value of $LC_COLLATE: nil
> value of $LC_CTYPE: en_US.UTF-8
> value of $LC_MESSAGES: nil
> value of $LC_MONETARY: nil
> value of $LC_NUMERIC: nil
> value of $LC_TIME: jbw
> value of $LANG: nil
> locale-coding-system: utf-8
> default-enable-multibyte-characters: t
>
> Minor modes in effect:
> shell-dirtrack-mode: t
> outline-minor-mode: t
> desktop-save-mode: t
> url-handler-mode: t
> partial-completion-mode: t
> tooltip-mode: t
> mouse-wheel-mode: t
> file-name-shadow-mode: t
> global-font-lock-mode: t
> font-lock-mode: t
> blink-cursor-mode: t
> unify-8859-on-encoding-mode: t
> utf-translate-cjk-mode: t
> auto-compression-mode: t
> temp-buffer-resize-mode: t
> size-indication-mode: t
> line-number-mode: t
> transient-mark-mode: t
- Re: ediff-files uses wrong coding system for temporary file,
Joe Wells <=