Index: emacs/src/fileio.c
diff -c emacs/src/fileio.c:1.542 emacs/src/fileio.c:1.543
*** emacs/src/fileio.c:1.542 Fri May 13 23:07:41 2005
--- emacs/src/fileio.c Sat May 21 15:28:13 2005
***************
*** 1651,1658 ****
p += 2;
}
else if (IS_DIRECTORY_SEP (p[0]) && p[1] == '.' && p[2] == '.'
! /* `/../' is the "superroot" on certain file systems. */
&& o != target
&& (IS_DIRECTORY_SEP (p[3]) || p[3] == 0))
{
while (o != target && (--o) && !IS_DIRECTORY_SEP (*o))
--- 1651,1666 ----
p += 2;
}
else if (IS_DIRECTORY_SEP (p[0]) && p[1] == '.' && p[2] == '.'
! /* `/../' is the "superroot" on certain file systems.
! Turned off on DOS_NT systems because they have no
! "superroot" and because this causes us to produce
! file names like "d:/../foo" which fail file-related
! functions of the underlying OS. (To reproduce, try a
! long series of "../../" in default_directory, longer
! than the number of levels from the root.) */
! #ifndef DOS_NT
&& o != target
+ #endif
&& (IS_DIRECTORY_SEP (p[3]) || p[3] == 0))
{
while (o != target && (--o) && !IS_DIRECTORY_SEP (*o))
_______________________________________________
Emacs-diffs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-diffs