]> matita.cs.unibo.it Git - helm.git/commitdiff
Ctrl^D in matitatop fixed (was broken by the new parser of Zack and Luca)
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 19 Jul 2005 13:10:06 +0000 (13:10 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 19 Jul 2005 13:10:06 +0000 (13:10 +0000)
helm/matita/matitacLib.ml

index 076be5416a0e5b6f7d63fb14fd8de9e2a8342563..c77bb76bd6293c6714e0c9fed0752789a1ed4eba 100644 (file)
@@ -73,6 +73,7 @@ let run_script is eval_function  =
     eval_function status is cb
   with
   | MatitaEngine.Drop  
+  | End_of_file
   | CicNotationParser.Parse_error _ as exn -> raise exn
   | exn -> 
       MatitaLog.error (MatitaExcPp.to_string exn);
@@ -119,17 +120,13 @@ let rec interactive_loop () =
   | MatitaEngine.Drop -> pp_ocaml_mode ()
   | Sys.Break -> MatitaLog.error "user break!"; interactive_loop ()
   | MatitaTypes.Command_error _ -> interactive_loop ()
+  | End_of_file ->
+     print_newline ();
+     clean_exit (Some 0)
   | CicNotationParser.Parse_error (floc,err) ->
-     (* check for EOI *)
-     if Stream.peek str = None then
-      begin
-       print_newline ();
-       clean_exit (Some 0)
-      end
-     else
-      let (x, y) = CicNotationPt.loc_of_floc floc in
-      MatitaLog.error (sprintf "Parse error at %d-%d: %s" x y err);
-      interactive_loop ()
+     let (x, y) = CicNotationPt.loc_of_floc floc in
+     MatitaLog.error (sprintf "Parse error at %d-%d: %s" x y err);
+     interactive_loop ()
   | exn -> MatitaLog.error (Printexc.to_string exn); interactive_loop ()
 
 let go () =