# HG changeset patch # User Adam Chlipala # Date 1260647470 18000 # Node ID 757397bb960990911b7ec303fd8734566d4f8a6d # Parent 757dbac0454df64823e4c025a9846a4da94454fc Fix lexing of string literals in XML; treat EError as impure in MonoReduce diff -r 757dbac0454d -r 757397bb9609 src/mono_reduce.sml --- a/src/mono_reduce.sml Sat Dec 12 11:02:20 2009 -0500 +++ b/src/mono_reduce.sml Sat Dec 12 14:51:10 2009 -0500 @@ -56,6 +56,7 @@ | ERecv _ => true | ESleep _ => true | ENamed n => IS.member (syms, n) + | EError _ => true | ERel n => let val (_, t, _) = E.lookupERel env n @@ -96,7 +97,7 @@ | ECase (e, pes, _) => impure e orelse List.exists (fn (_, e) => impure e) pes - | EError (e, _) => impure e + | EError _ => true | EReturnBlob {blob = e1, mimeType = e2, ...} => impure e1 orelse impure e2 | ERedirect (e, _) => impure e diff -r 757dbac0454d -r 757397bb9609 src/urweb.lex --- a/src/urweb.lex Sat Dec 12 11:02:20 2009 -0500 +++ b/src/urweb.lex Sat Dec 12 14:51:10 2009 -0500 @@ -290,7 +290,7 @@ ("Expected float, received: " ^ yytext); continue ())); "\"" => (YYBEGIN STRING; - xmlString := true; + xmlString := true; strEnder := #"\""; strStart := yypos; str := []; continue ()); "{" => (YYBEGIN INITIAL;