summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-07-09 11:54:40 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-07-09 11:54:40 -0700
commit414318927dcdf1d151643da0940bf5bb0d8368f3 (patch)
treed9d249751b32ad12d41336835e1d52642a33ad09 /src/compiler
parent72863241ead712ace45071a21b84288959f6ce53 (diff)
parenta07879dbc643f362ed86fe764f6386f160d75aaa (diff)
downloadscala-414318927dcdf1d151643da0940bf5bb0d8368f3.tar.gz
scala-414318927dcdf1d151643da0940bf5bb0d8368f3.tar.bz2
scala-414318927dcdf1d151643da0940bf5bb0d8368f3.zip
Merge pull request #2704 from adriaanm/modularize
Separate jars for XML, Parser Combinators. Use released JLine.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/ant/templates/tool-unix.tmpl2
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Contexts.scala21
2 files changed, 7 insertions, 16 deletions
diff --git a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
index 84ccaba749..abf9925ad9 100644
--- a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
+++ b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
@@ -115,7 +115,7 @@ if [[ -n "$cygwin$mingw" ]]; then
case "$TERM" in
rxvt* | xterm*)
stty -icanon min 1 -echo
- WINDOWS_OPT="-Djline.terminal=scala.tools.jline.UnixTerminal"
+ WINDOWS_OPT="-Djline.terminal=unix"
;;
esac
fi
diff --git a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
index 1f4ff7cc2d..1f8f13ae02 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
@@ -99,22 +99,13 @@ trait Contexts { self: Analyzer =>
// there must be a scala.xml package when xml literals were parsed in this unit
if (unit.hasXml && ScalaXmlPackage == NoSymbol)
- unit.error(unit.firstXmlPos, "XML literals may only be used if the package scala.xml is present in the compilation classpath.")
-
- // TODO: remove the def below and drop `|| predefDefinesDollarScope` in the condition for `contextWithXML`
- // as soon as 2.11.0-M4 is released and used as STARR (and $scope is no longer defined in Predef)
- // Until then, to allow compiling quick with pre-2.11.0-M4 STARR,
- // which relied on Predef defining `val $scope`, we've left it in place.
- // Since the new scheme also imports $scope (as an alias for scala.xml.TopScope),
- // we must check whether it is still there and not import the alias to avoid ambiguity.
- // (All of this is only necessary to compile the full quick stage with STARR.
- // if using locker, Predef.$scope is no longer needed.)
- def predefDefinesDollarScope = definitions.getMemberIfDefined(PredefModule, nme.dollarScope) != NoSymbol
-
- // hack for the old xml library (detected by looking for scala.xml.TopScope, which needs to be in scope as $scope)
- // import scala.xml.{TopScope => $scope}
+ unit.error(unit.firstXmlPos, "To compile XML syntax, the scala.xml package must be on the classpath.\nPlease see https://github.com/scala/scala/wiki/Scala-2.11#xml.")
+
+ // scala-xml needs `scala.xml.TopScope` to be in scope globally as `$scope`
+ // We detect `scala-xml` by looking for `scala.xml.TopScope` and
+ // inject the equivalent of `import scala.xml.{TopScope => $scope}`
val contextWithXML =
- if (!unit.hasXml || ScalaXmlTopScope == NoSymbol || predefDefinesDollarScope) rootImportsContext
+ if (!unit.hasXml || ScalaXmlTopScope == NoSymbol) rootImportsContext
else rootImportsContext.make(gen.mkImport(ScalaXmlPackage, nme.TopScope, nme.dollarScope))
val c = contextWithXML.make(tree, unit = unit)