src/Pure/PIDE/command.ML
changeset 59472 513300fa2d09
parent 59466 6fab87db556c
child 59685 c043306d2598
--- a/src/Pure/PIDE/command.ML	Thu Jan 29 16:35:29 2015 +0100
+++ b/src/Pure/PIDE/command.ML	Thu Jan 29 17:07:49 2015 +0100
@@ -136,10 +136,8 @@
 
 (* eval *)
 
-type eval_state =
-  {failed: bool, malformed: bool, command: Toplevel.transition, state: Toplevel.state};
-val init_eval_state =
-  {failed = false, malformed = false, command = Toplevel.empty, state = Toplevel.toplevel};
+type eval_state = {failed: bool, command: Toplevel.transition, state: Toplevel.state};
+val init_eval_state = {failed = false, command = Toplevel.empty, state = Toplevel.toplevel};
 
 datatype eval = Eval of {exec_id: Document_ID.exec, eval_process: eval_state lazy};
 
@@ -195,35 +193,31 @@
     SOME prf => status tr (Proof.status_markup prf)
   | NONE => ());
 
-fun eval_state keywords span tr ({malformed, state, ...}: eval_state) =
-  if malformed then
-    {failed = true, malformed = malformed, command = tr, state = Toplevel.toplevel}
-  else
-    let
-      val _ = Multithreading.interrupted ();
+fun eval_state keywords span tr ({state, ...}: eval_state) =
+  let
+    val _ = Multithreading.interrupted ();
 
-      val malformed' = Toplevel.is_malformed tr;
-      val st = reset_state keywords tr state;
+    val st = reset_state keywords tr state;
 
-      val _ = status tr Markup.running;
-      val (errs1, result) = run keywords true tr st;
-      val errs2 = (case result of NONE => [] | SOME st' => check_cmts span tr st');
-      val errs = errs1 @ errs2;
-      val _ = List.app (Future.error_message (Toplevel.pos_of tr)) errs;
-    in
-      (case result of
-        NONE =>
-          let
-            val _ = status tr Markup.failed;
-            val _ = status tr Markup.finished;
-            val _ = if null errs then (report tr Markup.bad; Exn.interrupt ()) else ();
-          in {failed = true, malformed = malformed', command = tr, state = st} end
-      | SOME st' =>
-          let
-            val _ = proof_status tr st';
-            val _ = status tr Markup.finished;
-          in {failed = false, malformed = malformed', command = tr, state = st'} end)
-    end;
+    val _ = status tr Markup.running;
+    val (errs1, result) = run keywords true tr st;
+    val errs2 = (case result of NONE => [] | SOME st' => check_cmts span tr st');
+    val errs = errs1 @ errs2;
+    val _ = List.app (Future.error_message (Toplevel.pos_of tr)) errs;
+  in
+    (case result of
+      NONE =>
+        let
+          val _ = status tr Markup.failed;
+          val _ = status tr Markup.finished;
+          val _ = if null errs then (report tr Markup.bad; Exn.interrupt ()) else ();
+        in {failed = true, command = tr, state = st} end
+    | SOME st' =>
+        let
+          val _ = proof_status tr st';
+          val _ = status tr Markup.finished;
+        in {failed = false, command = tr, state = st'} end)
+  end;
 
 in