summaryrefslogtreecommitdiff
path: root/src/fileio.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-02-27 16:51:25 +0000
committerRichard M. Stallman <rms@gnu.org>1996-02-27 16:51:25 +0000
commit01937013f02f575c4e343b8d62d516f37007a51b (patch)
tree28c6b587328a6d3273485340aa621528e0db70ae /src/fileio.c
parent22041a64c03479c3b178b842c5c76f4046fb0739 (diff)
downloademacs-01937013f02f575c4e343b8d62d516f37007a51b.tar.gz
(Fexpand_file_name): Fix confusion in detecting
that default_directory is already absolute so need not be expanded.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 5ea29061950..221ef67cd8e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -795,10 +795,15 @@ See also the function `substitute-in-file-name'.")
The EQ test avoids infinite recursion. */
if (! NILP (default_directory) && !EQ (default_directory, name)
- /* This saves time in a common case. */
+ /* Save time in some common cases. */
+#ifdef DOS_NT
+ /* Detect MSDOS file names with device names. */
&& ! (XSTRING (default_directory)->size >= 3
- && IS_DIRECTORY_SEP (XSTRING (default_directory)->data[0])
- && IS_DEVICE_SEP (XSTRING (default_directory)->data[1])))
+ && IS_DEVICE_SEP (o[1]) && IS_DIRECTORY_SEP (o[2]))
+#endif
+ /* Detect Unix absolute file names. */
+ && ! (XSTRING (default_directory)->size >= 2
+ && IS_DIRECTORY_SEP (o[0])))
{
struct gcpro gcpro1;