diff options
author | Adam Chlipala <adam@chlipala.net> | 2011-12-17 13:10:23 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2011-12-17 13:10:23 -0500 |
commit | 800bdda2d12eaf2524d8464e66d23642f700f048 (patch) | |
tree | d66971cb868f768b134688c152b281c7850c46e2 /src/compiler.sml | |
parent | c9b985223bc94657127b48fa3370bff4ea6ed5f3 (diff) |
Allow .urp libraries to set prefix
Diffstat (limited to 'src/compiler.sml')
-rw-r--r-- | src/compiler.sml | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/compiler.sml b/src/compiler.sml index 1318b561..2a890f32 100644 --- a/src/compiler.sml +++ b/src/compiler.sml @@ -500,7 +500,7 @@ fun parseUrp' accLibs fname = | OnlyComment => readSources acc | EndOfFile => rev acc - val prefix = ref (case Settings.getUrlPrefix () of "/" => NONE | s => SOME s) + val prefix = ref (case Settings.getUrlPrefixFull () of "/" => NONE | s => SOME s) val database = ref (Settings.getDbstring ()) val exe = ref (Settings.getExe ()) val sql = ref (Settings.getSql ()) @@ -580,7 +580,16 @@ fun parseUrp' accLibs fname = x)) fun merge (old : job, new : job) = { - prefix = #prefix old, + prefix = case #prefix old of + "/" => #prefix new + | pold => case #prefix new of + "/" => pold + | pnew => (if pold = pnew then + () + else + ErrorMsg.error ("Multiple prefix values that don't agree: " + ^ pold ^ ", " ^ pnew); + pold), database = mergeO (fn (old, _) => old) (#database old, #database new), exe = #exe old, sql = #sql old, |