From 4e78c1304af5a3bddaa5e9e146b41fb87a108c77 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 31 Dec 2011 13:31:00 -0500 Subject: Error messages about applying 'dynClass' to tags that don't like it --- src/monoize.sml | 9 +++++++++ src/urweb.grm | 3 +++ 2 files changed, 12 insertions(+) (limited to 'src') diff --git a/src/monoize.sml b/src/monoize.sml index 2b3abb61..2e663bc3 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -3034,6 +3034,15 @@ fun monoExp (env, st, fm) (all as (e, loc)) = val (class, fm) = monoExp (env, st, fm) class val (dynClass, fm) = monoExp (env, st, fm) dynClass + val dynamics = ["dyn", "ctextbox", "ccheckbox", "cselect", "coption", "ctextarea"] + + val () = case #1 dynClass of + L'.ENone _ => () + | _ => if List.exists (fn x => x = tag) dynamics then + E.errorAt loc ("Dynamic tag <" ^ tag ^ "> cannot be combined with 'dynClass' attribute; an additional may be useful") + else + () + fun tagStart tag' = let val t = (L'.TFfi ("Basis", "string"), loc) diff --git a/src/urweb.grm b/src/urweb.grm index 7ec580f3..1a9eb855 100644 --- a/src/urweb.grm +++ b/src/urweb.grm @@ -1462,6 +1462,9 @@ xmlOne : NOTAGS (EApp ((EVar (["Basis"], "cdata", Infer) NONE => (EVar (["Basis"], "None", Infer), pos) | SOME c => (EApp ((EVar (["Basis"], "Some", Infer), pos), c), pos)), pos) in + case #3 tag of + NONE => () + | SOME _ => ErrorMsg.errorAt pos "
does not support 'dynClass' attribute"; (EApp (e, xmlOpt), pos) end else if et = "subform" orelse et = "subforms" then -- cgit v1.2.3