After a fresh install of Emacs and JDE on a new machine, I found that a
patch I thought I'd submitted some time ago is not in either JDE 2.3.5
or CVS.
The problem is caused by a change in behaviour of (expand-file-name ".."
dir) when dir is the root directory on a Windows drive. In previous
versions, the result was "D:/..", but in the current CVS code,
(expand-file-name ".." "D:/") returns "D:/", which is consistent with
what happens on *nix.
The following patch adds support for this in jde-root-dir-p, avoiding
some infinite loops:
*** c:/site-lisp/jde-2.3.5/lisp/jde.el~ 2004-12-16 22:29:36.000000000
+0000
--- c:/site-lisp/jde-2.3.5/lisp/jde.el 2005-09-21 17:29:28.892500000
+0100
***************
*** 1595,1601 ****
(or
(string= parent "//") ; for paths like //host/d/prj/src
(string= parent "\\\\") ; for paths like \\host\d\prj\src
! (string= (substring parent -3) "/.."))) ; for paths like d:/prj/src
((member system-type '(cygwin32 cygwin))
(or (string= (file-truename dir) (file-truename "/"))
(string= parent "//") ; for paths like //host/d/prj/src
--- 1595,1602 ----
(or
(string= parent "//") ; for paths like //host/d/prj/src
(string= parent "\\\\") ; for paths like \\host\d\prj\src
! (string= (substring parent -3) "/..")
! (string= parent dir))) ; for paths like d:/prj/src
((member system-type '(cygwin32 cygwin))
(or (string= (file-truename dir) (file-truename "/"))
(string= parent "//") ; for paths like //host/d/prj/src