[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: No coding system used for environment variables
From: |
Jason Rumney |
Subject: |
Re: No coding system used for environment variables |
Date: |
Wed, 05 Mar 2008 08:57:31 +0000 |
User-agent: |
Thunderbird 2.0.0.12 (Windows/20080213) |
YAMAMOTO Mitsuharu wrote:
2008-03-05 Jason Rumney <jasonr@gnu.org>
* fileio.c (Fexpand_file_name): Decode home directory names.
(Fsubstitute_in_file_name): Decode substituted variables.
But I'd strongly suggest to revert this changes at this timing of
pretest for upcoming Emacs 22.2.
It fixes a serious bug. Users with non-ASCII names in their user names
get strange behaviour of filename expansion.
First, some coding systems are not
ready until some .elc files get loaded (a chicken-and-egg problem).
It should not present a chicken and egg problem, as no files are loaded
during bootstrap that require expansion of ~ or environment variables.
Second, as DECODE_FILE causes GC and string compaction in general,
some variables such as `nm' in Fexpand_file_name may not point to
valid data after that.
This is a problem on some systems that still do not support stack
marking for GC protection of such variables. But I think this bug is
important enough to fix those problems rather than revert the patch.
You may also want to see a related patch in
http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-05/msg00115.html
Was there a problem with that patch? Why was it not installed at the time?