diff runtime/internal/dmain2.d @ 1125:8208374e5bed

Apply fawzi's patch from #235. This has some issues which are addressed in my next commit.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 18 Mar 2009 15:20:07 +0100
parents 51c4d1a64da6
children
line wrap: on
line diff
--- a/runtime/internal/dmain2.d	Wed Mar 18 15:03:17 2009 +0100
+++ b/runtime/internal/dmain2.d	Wed Mar 18 15:20:07 2009 +0100
@@ -230,28 +230,7 @@
             }
             catch (Exception e)
             {
-                while (e)
-                {
-                    if (e.file)
-                    {
-                       // fprintf(stderr, "%.*s(%u): %.*s\n", e.file, e.line, e.msg);
-                       console (e.classinfo.name)("@")(e.file)("(")(e.line)("): ")(e.toString)("\n");
-                    }
-                    else
-                    {
-                       // fprintf(stderr, "%.*s\n", e.toString());
-                       console (e.classinfo.name)(": ")(e.toString)("\n");
-                    }
-                    if (e.info)
-                    {
-                        console ("----------------\n");
-                        foreach (t; e.info)
-                            console (t)("\n");
-                    }
-                    if (e.next)
-                        console ("\n");
-                    e = e.next;
-                }
+                e.writeOut(delegate void(char[]s){ console(s); });
                 result = EXIT_FAILURE;
             }
             catch (Object o)