[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ediff-files uses wrong coding system for temporary file
From: |
Joe Wells |
Subject: |
ediff-files uses wrong coding system for temporary file |
Date: |
Wed, 15 Aug 2007 14:10:24 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- ediff-files uses wrong coding system for temporary file,
Joe Wells <=