Mercurial > urweb
changeset 1338:8c1996489265
Better treatment of relative paths in .urp files
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 14 Dec 2010 10:21:51 -0500 |
parents | b4b5788b20ea |
children | 43677a8a20e9 |
files | src/compiler.sml |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/compiler.sml Tue Dec 14 09:37:23 2010 -0500 +++ b/src/compiler.sml Tue Dec 14 10:21:51 2010 -0500 @@ -368,6 +368,8 @@ fun pu filename = let + val filename = OS.Path.mkAbsolute {path = filename, relativeTo = OS.FileSys.getDir ()} + val dir = OS.Path.dir filename fun opener () = TextIO.openIn (OS.Path.joinBaseExt {base = filename, ext = SOME "urp"}) @@ -705,7 +707,8 @@ bigLibs := libify' arg :: !bigLibs | "path" => (case String.fields (fn ch => ch = #"=") arg of - [n, v] => pathmap := M.insert (!pathmap, n, v) + [n, v] => ((pathmap := M.insert (!pathmap, n, OS.Path.mkAbsolute {path = v, relativeTo = dir})) + handle OS.Path.Path => ErrorMsg.error "Invalid 'path' directory argument") | _ => ErrorMsg.error "path argument not of the form name=value'") | "onError" => (case String.fields (fn ch => ch = #".") arg of