diff -r 6030e0b46fe2 -r 2b8512340180 src/main.cpp --- a/src/main.cpp Sat Dec 22 18:25:31 2012 -0800 +++ b/src/main.cpp Sat Dec 22 19:48:43 2012 -0800 @@ -45,7 +45,7 @@ } } virtual void beginCompilationErrors(const char *file) { - fprintf(stderr, "\nDisplaying compilation errors for \"%s\"\n", file); + fprintf(stderr, "Displaying compilation errors for \"%s\"\n", file); } virtual void reportCompilationError(const char *message, unsigned line, unsigned col) { fprintf(stderr, " line %d, col %d: %s\n", line, col, message); @@ -110,12 +110,15 @@ int rval = 0; Keima::InstallMessageReporter(&s_Reporter); - { + do { MainCollector entry; Keima::SetPublicFunctionListener(&entry); HandleScope scope; - Compile(argv[1]); + if (!Compile(argv[1])) { + rval = 1; + break; + } Keima::CollectGarbage(); @@ -131,7 +134,7 @@ if (!Keima::Invoke(fun, NULL, 0, true, &rval)) rval = 1; } - } + } while (0); Keima::Shutdown();