SI-8144 permalinks in scaladoc
SI-8415 Exception handling in REPL init

Incremental robustness, and probe for typer phase.

The probe would be unnecessary if repl contributed a
terminal phase that "requires" whatever it needs; that
is checked when the Run is built.
SI-7992 Fix super-accessor generation after a local class

The transformer in the superaccessors phase uses the var
`validCurrentOwner` to track whether we're in a part of the
code that won't end up in the host method, and as such, will
need to access super-method via a super-accessor.

But, this bit of bookkeeping was not correctly reset after traversing
out of a local class. A `VerifyError` ensued.

This commit changes `atOwner` to save and restore that flag, rather
than leaving it set to `true`.

I've also added a test variation using a by-name argument.
SI-8329 Better hygiene for patmat partial functions

Don't enter synthetic parameters of `applyOrElse` et al into
scope when typechecking the user-code; instead reference those
symbolically.

There is an exception to this principle. Currently we allow:

    val x: PartialFunction[A, B] = x => x match { ... }

For this pattern of code, we use the given name `x` for the
corresponding method parameter of `applyOrElse` and `isDefinedAt`
and we actually need this to be in scope when we typecheck the
scrutinee. This construct is tested in `run/virtpatmat_partial.scala`.

A new parameter, `paramSynthetic`, differentiates this
case from the more typical `val x: PF[A, B] = { case ... => ... ; ... }
case, which uses a fresh name need not be in scope. (We could get
away with it, as it is fresh, but I thought it better to exclude it.)
SI-8430 Less non-determinism in patmat exhautiveness warnings

Another mole whacked on the head by using `LinkedHashMap`.

Caution: `LinkedHashMap` doesn't preserve its runtime type if
you map through the generic interface. I've noted this gotcha as
SI-8434. I've structured this patch to enforce that concrete
collection with types, which is a good idea anyway.

My method to track this down was to place breakpoints in
`Hash{Map,Set}`.{foreach,iterator}` to see where that was
used from within pattern match translation. This approach was
drastically faster than my previous rounds of whack-a-mole.

The counter-examples are still a bit off; I'm going to merge
that aspect of this ticket with SI-7746, in which we've
pinpointed the culpable part of the implementation, but haven't
had success in fixing the bug.
SI-8450 no "implicit numeric widening" in silent mode

Before this fix, we get a second, spurious warning.

```
t8450.scala:5: warning: implicit numeric widening
  def elapsed: Foo = (System.nanoTime - 100L).foo
                                      ^
t8450.scala:11: warning: implicit numeric widening
  def elapsed: Foo = (System.nanoTime - 100L).foo
                                      ^
error: No warnings can be incurred under -Xfatal-warnings.
two warnings found
one error found
```

By respecting silent contexts, we now get only one.

I sneakily fixed similar occurrences without adding a test.
 SI-8463 Avoid unpositioned errors from search for views

Ideally, I'd like to fix this using `saveErrors = false` here to
firewall the enclosing context from the ambiguiouty error encountered
during implicit search.

I originally proposed that patch as a fix for SI-8419 in
https://github.com/scala/scala/pull/3460 but withdrew from
that approach as I uncovered a deeper bug that meant that
we actually shouldn't have even been looking for views in
that case.

But, this runs into SI-8230 and these failures:

	test/partest --update-check \
	  /Users/jason/code/scala/test/files/pos/t2504.scala \
	  /Users/jason/code/scala/test/files/pos/t4457_1.scala \
	  /Users/jason/code/scala/test/files/neg/t4457_2.scala

Turns out that typechecking the ostensible straight forward
application, `Array("abc")`, hinges on us leaking an ambiguity
error from `viewExists` to find a path through overload resolution!

This commit takes a tiny step forward by using `context.tree`
rather than `EmptyTree` as the argument to `inferImplicit`.
This avoids unpositioned type errors.
Merge pull request #3672 from retronym/topic/binary-version

Further tweak version of continuations plugin in scala-dist.pom
Update references to quasiquotes guide
SI-8461 -Xsource:2.10 mode for macro signature checks

I can't get the test to fail in partest, so I've resorted to
a manual test case.

    % qbin/scalac -nobootcp -Dscala.usejavacp=false -Xsource:2.10 -classpath $HOME/.m2/repository/org/scala-lang/scala-library/2.10.3/scala-library-2.10.3.jar:$HOME/.m2/repository/org/scala-lang/scala-reflect/2.10.3/scala-reflect-2.10.3.jar test/files/pos/t8461/Impl.scala
    warning: there were 1 deprecation warning(s); re-run with -deprecation for details
    one warning found

    % qbin/scalac -nobootcp -Dscala.usejavacp=false -Xsource:2.11 -classpath $HOME/.m2/repository/org/scala-lang/scala-library/2.10.3/scala-library-2.10.3.jar:$HOME/.m2/repository/org/scala-lang/scala-reflect/2.10.3/scala-reflect-2.10.3.jar test/files/pos/t8461/Impl.scala
    test/files/pos/t8461/Impl.scala:6: error: macro implementations cannot have implicit parameters other than WeakTypeTag evidences
      def reads[A] = macro readsImpl[A]
                           ^
    one error found

Before this change, when using a 2.10 JAR for scala-reflect, the
macro signature validation checks failed. This was due to the fact
that `scala.reflect.macros.Context` was changed in 2.11 to be
a type alias.

To get things working again, I've had to route both
`defintions.{WhiteBoxContextClass, BlackBoxContextClass}` to the
old location. This might mean that we misclassify the boxity under
this mode. All that we can actually handle are blackbox macros, really,
as macro expansion is likely to hit binary incompatibilites very
quickly. We can refine this in subsequent releases.
Render scala.full.version to versions.properties.

When called with -Dupdate.versions, the build will render its current
set of versions to versions properties. This is used during releases,
when bootstrapping to a consistent set of modules that constitute
a release.

Particularly, scala.full.version is the non-SNAPSHOT full version
of scala that's closed to maven.version.number. It's similar in
spirit to the module build's snapshotScalaBinaryVersion,
except that it's always the full version, so, e.g., 2.11.1 rather than 2.11.

This version is so far only used to determine the dependency on
scala-continuations-plugin in scala-dist.
Correction in the documentation.
Merge pull request #3675 from adriaanm/renderfullver

Render scala.full.version to versions.properties.
Merge pull request #3674 from densh/topic/ref-qq-guide

Update references to quasiquotes guide
Merge pull request #3679 from kurnevsky/master

Correction in the documentation.
SI-8497 Fix regression in pickling of AnnotatedTypes

Fixes an inconsistency introduced in these two spots:

  https://github.com/scala/scala/pull/3033/files#diff-6ce1a17ebee31068f41c36a8a2b3bc9aR79
  https://github.com/scala/scala/pull/3033/files#diff-c455cb229f5227b1bcaa1544478fe3acR452

The bug shows up when pickling then unpickling an AnnotatedType
that has only non-static annotations.
Bump versions after release of Scala 2.11.0-RC4

Based on:

   https://scala-webapps.epfl.ch/jenkins/view/scala-release-2.11.x/job/scala-release-2.11.x/52/artifact/scala/versions.properties

With a manual edit of the new property, scala.full.version, which
was not written out by `ant -Dupdate.versions`. That has since
been remedied.
Bump Akka version to 2.3.2

Quoth @rkuhn:

> seeing that you are cutting a Scala release, we’ll need to
> decide on which Akka version to bundle with it. 2.3.0 has
> some remoting bugs which we’d like to leave behind

Given the difficult of overriding the bundled Akka version
from the Scala script runner (SI-8472), we've deemed it
worthwhile to bump the Akka version before releasing 2.11.0.
Merge pull request #3676 from retronym/release/bump-versions-2.11.0-RC4

Bump versions after release of Scala 2.11.0-RC4
Bump versions after release of 2.11.0-final

New versions.properties generated by:

   https://scala-webapps.epfl.ch/jenkins/view/scala-release-2.11.x/job/scala-release-2.11.x/57/