[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange behaviour with dired and UTF8

From: Kenichi Handa
Subject: Re: Strange behaviour with dired and UTF8
Date: Thu, 1 May 2003 15:52:30 +0900 (JST)
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.2.92 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)

In article <address@hidden>, "Jan D." <address@hidden> writes:
> Maybe I am doing this wrong, but here is what I try to do.
> My language environment is ISO-8859-1.
> I have a directory that contains files with file names in UTF-8.
> I start dired on that directory.  I want to see the UTF-8 characters
> so I do C-x RET r utf-8.  File names display OK now.

> But when trying to operate on a file, say opening it, I get
> "File no longer exists; type `g' to update Dired buffer"
> It seems that dired does not keep the original file name around, but
> tries to open with the display name representation of the file name.

> When I type g, I loose the UTF-8 coding and files are now displayed
> as ISO-8859-1 again.  Setting buffer coding to UTF-8 does not help.

> Do I have to set file-name-coding-system to UTF-8?  This solves the
> problem, but my file-name-coding-system is really ISO-8859-1, it is
> just this one directory that is UTF-8.

The current Emacs doesn't have a facility to cope with such
a situation well.

How about this?

(1) Make a customizable variable
    file-name-coding-system-alist; the format is the same as

(2) Make the macro ENCODE_FILE and DECODE_FILE to check that
    variable before using file-name-coding-system and

(3) Enhance the function dired-revert to update
    file-name-coding-system-alist automatically if it is
    called with coding-system-for-read being bound to
    non-nil.  In that case, it may also have to ask a user
    to save that modification for the future session (via

What do people think?  Aren't there any better idea?

Ken'ichi HANDA

reply via email to

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