Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/TopLevel/interact/evalloop.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/TopLevel/interact/evalloop.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 674, Thu Jun 22 06:45:00 2000 UTC revision 675, Fri Jun 23 09:18:18 2000 UTC
# Line 168  Line 168 
168           | showhist C.SilentException = ()           | showhist C.SilentException = ()
169           | showhist e = showhist' (edit(SMLofNJ.exnHistory e))           | showhist e = showhist' (edit(SMLofNJ.exnHistory e))
170    
171         fun loop () =         fun loop () = let
172                evalLoop interactParams source             (* save the current BTrace history... *)
173               val bt_restore = SMLofNJ.Internals.BTrace.save ()
174           in
175               (evalLoop interactParams source
176                (* make sure the BTrace history is being unwound correctly... *)
177                handle e => (bt_restore (); raise e))
178                handle EndOfFile => (say "\n")                handle EndOfFile => (say "\n")
179                    | Interrupt => (say "\nInterrupt\n";                    | Interrupt => (say "\nInterrupt\n";
180                                flush(); loop())                                flush(); loop())
# Line 192  Line 197 
197                        val name = exnName exn                        val name = exnName exn
198                         in                         in
199                             if (msg = name)                             if (msg = name)
200                            then say (concat[                        then say (concat
201                                 "\nuncaught exception ", exnName exn, "\n"                                      ["\nuncaught exception ",
202                                 ])                                       exnName exn, "\n"])
203                            else say (concat[                        else say (concat
204                                 "\nuncaught exception ", exnName exn,                                      ["\nuncaught exception ", exnName exn,
205                                   " [", exnMsg exn, "]\n"                                       " [", exnMsg exn, "]\n"]);
                                ]);  
206                          showhist exn;                          showhist exn;
207                          flush();                          flush();
208                          loop()                          loop()
209                       end                       end
210                    | C.SilentException => (flush (); loop ())                    | C.SilentException => (flush (); loop ())
211                    | exn => (                  | SMLofNJ.Internals.BTrace.BTrace r =>
212                        say (concat["\nuncaught exception ",                    (say (concat ("*** BACK-TRACE ***\n" :: r ()));
213                       flush ();
214                       loop ())
215                    | exn => (say (concat["\nuncaught exception ",
216                                  exnMsg exn, "\n"]);                                  exnMsg exn, "\n"]);
217                        showhist exn;                        showhist exn;
218                        flush();                        flush();
219                        loop())                        loop())
220           end
221       in loop()       in loop()
222      end (* fun interact *)      end (* fun interact *)
223    

Legend:
Removed from v.674  
changed lines
  Added in v.675

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0