summaryrefslogtreecommitdiff
path: root/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala')
-rw-r--r--src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala b/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala
index bcba7b6dfd..4e45f6d615 100644
--- a/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala
+++ b/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala
@@ -35,7 +35,16 @@ trait MemberHandlers {
// XXX this is obviously inadequate but it's going to require some effort
// to get right.
if (name.toString startsWith "x$") ()
- else importVars += name
+ else {
+ importVars += name
+ // Needed to import `xxx` during line 2 of:
+ // scala> val xxx = ""
+ // scala> def foo: x<TAB>
+ if (name.endsWith(IMain.DummyCursorFragment)) {
+ val stripped = name.stripSuffix(IMain.DummyCursorFragment)
+ importVars += stripped
+ }
+ }
case _ => super.traverse(ast)
}
}