From 9a1dc3be437a1d9aa0fa9ebc7c7c0bf8be0031a5 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 29 Apr 1996 15:49:43 +0000 Subject: [PATCH] (Fexpand_file_name) [DOS_NT]: Keep dir sep following ~ or ~user, but don't collapse the newdir prefix in that case. --- src/fileio.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/fileio.c b/src/fileio.c index d01b70c7af7..1065a5aa113 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -786,6 +786,7 @@ See also the function `substitute-in-file-name'.") #endif /* VMS */ #ifdef DOS_NT int drive = 0; + int collapse_newdir = 1; #endif /* DOS_NT */ int length; Lisp_Object handler; @@ -1100,9 +1101,7 @@ See also the function `substitute-in-file-name'.") newdir = (unsigned char *) ""; nm++; #ifdef DOS_NT - if (IS_DIRECTORY_SEP (nm[0])) - /* Make nm look like a relative file name. */ - nm++; + collapse_newdir = 0; #endif #ifdef VMS nm++; /* Don't leave the slash in nm. */ @@ -1128,9 +1127,7 @@ See also the function `substitute-in-file-name'.") #else nm = p; #ifdef DOS_NT - if (IS_DIRECTORY_SEP (nm[0])) - /* Make nm look like a relative name. */ - nm++; + collapse_newdir = 0; #endif #endif /* VMS */ } @@ -1234,7 +1231,7 @@ See also the function `substitute-in-file-name'.") /* Keep only a prefix from newdir if nm starts with slash (//server/share for UNC, nothing otherwise). */ - if (IS_DIRECTORY_SEP (nm[0])) + if (IS_DIRECTORY_SEP (nm[0]) && collapse_newdir) { #ifdef WINDOWSNT if (IS_DIRECTORY_SEP (newdir[0]) && IS_DIRECTORY_SEP (newdir[1])) -- 2.39.5