# HG changeset patch # User Martin Rudalics # Date 1221470594 0 # Node ID b0fd32c6e590f52b00b7a9d9d8fda38fda80a4a1 # Parent d989cacb2b4e5b3863de36409f2cbfe0b58a97db (file-truename): Don't raise args-out-of-range error when filename has no separator on windows-nt. (Bug#982) diff -r d989cacb2b4e -r b0fd32c6e590 lisp/files.el --- a/lisp/files.el Mon Sep 15 08:21:39 2008 +0000 +++ b/lisp/files.el Mon Sep 15 09:23:14 2008 +0000 @@ -856,10 +856,14 @@ missing rest) (if longname (setq filename longname) - ;; include the preceding directory separator in the missing + ;; Include the preceding directory separator in the missing ;; part so subsequent recursion on the rest works. (setq missing (concat "/" (file-name-nondirectory filename))) - (setq rest (substring filename 0 (* -1 (length missing)))) + (let ((length (length missing))) + (setq rest + (if (> length (length filename)) + "" + (substring filename 0 (- length))))) (setq filename (concat (file-truename rest) missing)))))) (setq done t)))