mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-07 04:10:27 -08:00
(Fexpand_file_name): Check multibyteness of
default_directory.
This commit is contained in:
parent
774d7c683a
commit
2b046a720b
2 changed files with 13 additions and 10 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2005-09-14 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* fileio.c (Fexpand_file_name): Check multibyteness of
|
||||
default_directory.
|
||||
|
||||
2005-09-13 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* composite.c (compose_chars_in_text): Delete it.
|
||||
|
|
|
|||
18
src/fileio.c
18
src/fileio.c
|
|
@ -1056,6 +1056,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
#endif /* DOS_NT */
|
||||
int length;
|
||||
Lisp_Object handler, result;
|
||||
int multibyte;
|
||||
|
||||
CHECK_STRING (name);
|
||||
|
||||
|
|
@ -1133,6 +1134,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
|
||||
name = FILE_SYSTEM_CASE (name);
|
||||
nm = SDATA (name);
|
||||
multibyte = STRING_MULTIBYTE (name);
|
||||
|
||||
#ifdef DOS_NT
|
||||
/* We will force directory separators to be either all \ or /, so make
|
||||
|
|
@ -1298,8 +1300,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
if (index (nm, '/'))
|
||||
{
|
||||
nm = sys_translate_unix (nm);
|
||||
return make_specified_string (nm, -1, strlen (nm),
|
||||
STRING_MULTIBYTE (name));
|
||||
return make_specified_string (nm, -1, strlen (nm), multibyte);
|
||||
}
|
||||
#endif /* VMS */
|
||||
#ifdef DOS_NT
|
||||
|
|
@ -1311,8 +1312,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
if (IS_DIRECTORY_SEP (nm[1]))
|
||||
{
|
||||
if (strcmp (nm, SDATA (name)) != 0)
|
||||
name = make_specified_string (nm, -1, strlen (nm),
|
||||
STRING_MULTIBYTE (name));
|
||||
name = make_specified_string (nm, -1, strlen (nm), multibyte);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
|
@ -1321,8 +1321,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
{
|
||||
char temp[] = " :";
|
||||
|
||||
name = make_specified_string (nm, -1, p - nm,
|
||||
STRING_MULTIBYTE (name));
|
||||
name = make_specified_string (nm, -1, p - nm, multibyte);
|
||||
temp[0] = DRIVE_LETTER (drive);
|
||||
name = concat2 (build_string (temp), name);
|
||||
}
|
||||
|
|
@ -1330,8 +1329,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
#else /* not DOS_NT */
|
||||
if (nm == SDATA (name))
|
||||
return name;
|
||||
return make_specified_string (nm, -1, strlen (nm),
|
||||
STRING_MULTIBYTE (name));
|
||||
return make_specified_string (nm, -1, strlen (nm), multibyte);
|
||||
#endif /* not DOS_NT */
|
||||
}
|
||||
}
|
||||
|
|
@ -1443,6 +1441,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
&& !newdir)
|
||||
{
|
||||
newdir = SDATA (default_directory);
|
||||
multibyte |= STRING_MULTIBYTE (default_directory);
|
||||
#ifdef DOS_NT
|
||||
/* Note if special escape prefix is present, but remove for now. */
|
||||
if (newdir[0] == '/' && newdir[1] == ':')
|
||||
|
|
@ -1708,8 +1707,7 @@ See also the function `substitute-in-file-name'. */)
|
|||
CORRECT_DIR_SEPS (target);
|
||||
#endif /* DOS_NT */
|
||||
|
||||
result = make_specified_string (target, -1, o - target,
|
||||
STRING_MULTIBYTE (name));
|
||||
result = make_specified_string (target, -1, o - target, multibyte);
|
||||
|
||||
/* Again look to see if the file name has special constructs in it
|
||||
and perhaps call the corresponding file handler. This is needed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue