[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#57353: [PATCH] Fix parse-colon-path with UNC directory names
From: |
Richard Copley |
Subject: |
bug#57353: [PATCH] Fix parse-colon-path with UNC directory names |
Date: |
Wed, 24 Aug 2022 15:23:56 +0100 |
On Wed, 24 Aug 2022 at 15:15, Eli Zaretskii <eliz@gnu.org> wrote:
>
> Does the patch below give good results in your use cases?
>
> diff --git a/lisp/files.el b/lisp/files.el
> index 8596d9a..26730df 100644
> --- a/lisp/files.el
> +++ b/lisp/files.el
> @@ -856,10 +856,16 @@ parse-colon-path
> (if (equal "" f) nil
> (let ((dir (file-name-as-directory f)))
> ;; Previous implementation used `substitute-in-file-name'
> - ;; which collapse multiple "/" in front. Do the same for
> - ;; backward compatibility.
> - (if (string-match "\\`/+" dir)
> - (substring dir (1- (match-end 0))) dir))))
> + ;; which collapses multiple "/" in front, while
> + ;; preserving double slash where it matters. Do
> + ;; the same for backward compatibility.
> + (if (string-match "\\`//+" dir)
> + (substring dir
> + (- (match-end 0)
> + (if (memq system-type
> + '(windows-nt 'cygwin
> 'ms-dos))
> + 2 1)))
> + dir))))
> (split-string spath path-separator)))))
>
> (defun cd-absolute (dir)
It does.