]> code.delx.au - gnu-emacs/commitdiff
Fix file-in-directory-p when the directory is UNC
authorEli Zaretskii <eliz@gnu.org>
Fri, 19 Jun 2015 17:47:44 +0000 (20:47 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 19 Jun 2015 17:47:44 +0000 (20:47 +0300)
* lisp/files.el (file-in-directory-p): Support files and
directories that begin with "//".  (Bug#20844)

lisp/files.el

index 4656adac7b0dc99ffeb0e9b6a89ef10928ac7293..540d61335cd3d3862d91d8c109808c832aa29d01 100644 (file)
@@ -5279,7 +5279,12 @@ Return nil if DIR is not an existing directory."
              dir  (file-truename dir))
        (let ((ls1 (split-string file "/" t))
              (ls2 (split-string dir  "/" t))
-             (root (if (string-match "\\`/" file) "/" ""))
+             (root
+               (cond
+                ;; A UNC on Windows systems, or a "super-root" on Apollo.
+                ((string-match "\\`//" file) "//")
+                ((string-match "\\`/" file) "/")
+                (t "")))
              (mismatch nil))
          (while (and ls1 ls2 (not mismatch))
            (if (string-equal (car ls1) (car ls2))