diff options
author | Lex Spoon <lex@lexspoon.org> | 2006-07-12 08:38:43 +0000 |
---|---|---|
committer | Lex Spoon <lex@lexspoon.org> | 2006-07-12 08:38:43 +0000 |
commit | a78b5c7699a82252e0bdcd347497cb58a0a67830 (patch) | |
tree | f681eec3b04d7b5cd263ad8c63a1db92d90f9ed4 /src/compiler/scala/tools/nsc/CompilerCommand.scala | |
parent | 02ab29428304c89211b72c98eb9a02cf698c64b7 (diff) | |
download | scala-a78b5c7699a82252e0bdcd347497cb58a0a67830.tar.gz scala-a78b5c7699a82252e0bdcd347497cb58a0a67830.tar.bz2 scala-a78b5c7699a82252e0bdcd347497cb58a0a67830.zip |
tweak the loop over settings,
so that bad settings are not tried twice
Diffstat (limited to 'src/compiler/scala/tools/nsc/CompilerCommand.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/CompilerCommand.scala | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/CompilerCommand.scala b/src/compiler/scala/tools/nsc/CompilerCommand.scala index 4f953ba12b..1678460416 100644 --- a/src/compiler/scala/tools/nsc/CompilerCommand.scala +++ b/src/compiler/scala/tools/nsc/CompilerCommand.scala @@ -47,17 +47,20 @@ class CompilerCommand(arguments: List[String], error: String => unit, interactiv // initialization var args = arguments var ok = true + while (!args.isEmpty && ok) { - val args0 = args if (args.head.startsWith("-")) { if (interactive) { error("no options can be given in interactive mode") ok = false } else { - for (val setting <- settings.allSettings) - args = setting.tryToSet(args); + val args0 = args + for(val setting <- settings.allSettings) + if(args eq args0) + args = setting.tryToSet(args) + if (args eq args0) { - error("unknown option: '" + args.head + "'") + error("bad option: '" + args.head + "'") ok = false } } |