diff --git a/lib/coffee-script/coffee-script.js b/lib/coffee-script/coffee-script.js index 9c91e2bf..9f17ffde 100644 --- a/lib/coffee-script/coffee-script.js +++ b/lib/coffee-script/coffee-script.js @@ -51,8 +51,7 @@ if (options.filename) { err.message = "In " + options.filename + ", " + err.message; } - console.error(err.message); - process.exit(1); + throw err; } header = "Generated by CoffeeScript " + this.VERSION; return "// " + header + "\n" + js; diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js index b722a328..47cdca42 100644 --- a/lib/coffee-script/nodes.js +++ b/lib/coffee-script/nodes.js @@ -2887,7 +2887,7 @@ args = []; if ((mentionsArgs = expressions.contains(this.literalArgs)) || expressions.contains(this.literalThis)) { if (mentionsArgs && expressions.classBody) { - throw SyntaxError("Class bodies don't have arguments"); + throw SyntaxError("Class bodies shouldn't reference arguments"); } meth = new Literal(mentionsArgs ? 'apply' : 'call'); args = [new Literal('this')]; diff --git a/src/coffee-script.coffee b/src/coffee-script.coffee index 4164a4b2..1f72d840 100644 --- a/src/coffee-script.coffee +++ b/src/coffee-script.coffee @@ -40,8 +40,7 @@ exports.compile = compile = (code, options = {}) -> return js unless options.header catch err err.message = "In #{options.filename}, #{err.message}" if options.filename - console.error err.message - process.exit 1 + throw err header = "Generated by CoffeeScript #{@VERSION}" "// #{header}\n#{js}"