bug-gnu-emacs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]