equal
deleted
inserted
replaced
47 (* current path *) |
47 (* current path *) |
48 |
48 |
49 val cd = Library.cd o sysify_path; |
49 val cd = Library.cd o sysify_path; |
50 val pwd = unsysify_path o Library.pwd; |
50 val pwd = unsysify_path o Library.pwd; |
51 |
51 |
52 fun full_path path = |
52 fun norm_absolute p = |
53 if Path.is_absolute path then path |
53 let |
54 else Path.append (pwd ()) path; |
54 val p' = pwd (); |
|
55 fun norm p = if can cd p then pwd () |
|
56 else Path.append (norm (Path.dir p)) (Path.base p); |
|
57 val p'' = norm p |
|
58 in (cd p'; p'') end |
|
59 |
|
60 fun full_path path = norm_absolute |
|
61 (if Path.is_absolute path then path |
|
62 else Path.append (pwd ()) path); |
55 |
63 |
56 |
64 |
57 (* tmp_path *) |
65 (* tmp_path *) |
58 |
66 |
59 fun tmp_path path = |
67 fun tmp_path path = |