diff options
author | 2014-05-27 21:38:01 -0400 | |
---|---|---|
committer | 2014-05-27 21:38:01 -0400 | |
commit | dc336268adfbf2b05b34ab006de5990f8ce9086c (patch) | |
tree | 22fb72ef5ad32f47571fa250515108188d7e22f9 /src/mono_opt.sml | |
parent | d941d873c0203009ccf44aa4aed97671703ca375 (diff) | |
parent | 4cee29f03879d25963e3d8a8dda879e0a007033c (diff) |
Merge.
Diffstat (limited to 'src/mono_opt.sml')
-rw-r--r-- | src/mono_opt.sml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mono_opt.sml b/src/mono_opt.sml index 228c53e6..ae306e68 100644 --- a/src/mono_opt.sml +++ b/src/mono_opt.sml @@ -118,6 +118,9 @@ fun unAs s = end fun checkUrl s = CharVector.all Char.isGraph s andalso Settings.checkUrl s +val checkData = CharVector.all (fn ch => Char.isAlphaNum ch + orelse ch = #"_" + orelse ch = #"-") val checkAtom = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"+" orelse ch = #"-" @@ -442,6 +445,13 @@ fun exp e = | ESignalBind ((ESignalReturn e1, loc), e2) => optExp (EApp (e2, e1), loc) + | EFfiApp ("Basis", "blessData", [((se as EPrim (Prim.String s), loc), _)]) => + (if checkData s then + () + else + ErrorMsg.errorAt loc ("Invalid HTML5 data-* attribute " ^ s); + se) + | EFfiApp ("Basis", "bless", [((se as EPrim (Prim.String s), loc), _)]) => (if checkUrl s then () |