gnu.emacs.bug
[Top] [All Lists]

Re: No coding system used for environment variables

Subject: Re: No coding system used for environment variables
From: Jason Rumney
Date: Wed, 05 Mar 2008 08:57:31 +0000
Newsgroups: gnu.emacs.bug


YAMAMOTO Mitsuharu wrote:
2008-03-05 Jason Rumney <jasonr@xxxxxxx>
        * 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?




<Prev in Thread] Current Thread [Next in Thread>