summaryrefslogtreecommitdiff
path: root/src/compiler.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-12-17 13:10:23 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2011-12-17 13:10:23 -0500
commit72bd165bd051d5d51cd04f05e0bd7c85ca670db2 (patch)
treed66971cb868f768b134688c152b281c7850c46e2 /src/compiler.sml
parent566143a9c881c9e506c79af3f3cc39abebc37d8f (diff)
Allow .urp libraries to set prefix
Diffstat (limited to 'src/compiler.sml')
-rw-r--r--src/compiler.sml13
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,