diff --git a/repl/src/main/scala/spark/repl/SparkIMain.scala b/repl/src/main/scala/spark/repl/SparkIMain.scala index 14e6eb34551b840811eb0a9b9a6adf16ca9aee89..fb4b9f9b40c215c8078d521dd1a11baa88798eee 100644 --- a/repl/src/main/scala/spark/repl/SparkIMain.scala +++ b/repl/src/main/scala/spark/repl/SparkIMain.scala @@ -1087,7 +1087,7 @@ object SparkIMain { // $line3.$read.$iw.$iw.Bippy = // $line3.$read$$iw$$iw$Bippy@4a6a00ca private def removeLineWrapper(s: String) = s.replaceAll("""\$line\d+[./]\$(read|eval|print)[$.]""", "") - private def removeIWPackages(s: String) = s.replaceAll("""\$(iw|read|eval|print)[$.]""", "") + private def removeIWPackages(s: String) = s.replaceAll("""\$(iw|iwC|read|eval|print)[$.]""", "") private def removeSparkVals(s: String) = s.replaceAll("""\$VAL[0-9]+[$.]""", "") def stripString(s: String) = removeSparkVals(removeIWPackages(removeLineWrapper(s))) diff --git a/repl/src/main/scala/spark/repl/SparkImports.scala b/repl/src/main/scala/spark/repl/SparkImports.scala index 6ccd3cf1f0c3b14bb7f595825768c1efa1688abd..5caf5ca51a407d573abd728004b7aa123a3e94b8 100644 --- a/repl/src/main/scala/spark/repl/SparkImports.scala +++ b/repl/src/main/scala/spark/repl/SparkImports.scala @@ -175,7 +175,13 @@ trait SparkImports { // handle quoting keywords separately. case x => for (imv <- x.definedNames) { - if (currentImps contains imv) addWrapper() + // MATEI: Changed this check because it was messing up for case classes + // (trying to import them twice within the same wrapper), but that is more likely + // due to a miscomputation of names that makes the code think they're unique. + // Need to evaluate whether having so many wrappers is a bad thing. + /*if (currentImps contains imv)*/ + val imvName = imv.toString + if (currentImps exists (_.toString == imvName)) addWrapper() val objName = req.lineRep.readPath val valName = "$VAL" + newValId();