summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/settings/MutableSettings.scala')
-rw-r--r--src/compiler/scala/tools/nsc/settings/MutableSettings.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/settings/MutableSettings.scala b/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
index d2a3cc6699..b96d9fbb1e 100644
--- a/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/MutableSettings.scala
@@ -53,6 +53,13 @@ class MutableSettings(val errorFn: String => Unit)
errorFn("bad option: '" + x + "'")
(false, args)
}
+ // discard empties, sometimes they appear because of ant or etc.
+ // but discard carefully, because an empty string is valid as an argument
+ // to an option, e.g. -cp "" . So we discard them only when they appear
+ // in option position.
+ else if (x == "") {
+ loop(xs, residualArgs)
+ }
else lookupSetting(x) match {
case Some(s) if s.shouldStopProcessing => (checkDependencies, newArgs)
case _ => loop(newArgs, residualArgs)
@@ -63,7 +70,7 @@ class MutableSettings(val errorFn: String => Unit)
else (checkDependencies, args)
}
}
- loop(arguments filterNot (_ == ""), Nil)
+ loop(arguments, Nil)
}
def processArgumentString(params: String) = processArguments(splitParams(params), true)