summaryrefslogtreecommitdiffstats
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/copy-file.tl5
1 files changed, 3 insertions, 2 deletions
diff --git a/stdlib/copy-file.tl b/stdlib/copy-file.tl
index 5c87b10f..258192fc 100644
--- a/stdlib/copy-file.tl
+++ b/stdlib/copy-file.tl
@@ -214,10 +214,11 @@
(utimes s 0 nil 0 t))))
(defun path-simplify (comp)
- (let (out)
+ (let ((abs (equal (car comp) ""))
+ out)
(each ((c comp))
(casequal c
- (".." (if (and out (nequal (car out) ".."))
+ (".." (if (and (or out abs) (nequal (car out) ".."))
(pop out)
(push c out)))
(("." ""))