anchor.diff:  
       if (scriptName != null) {
         // Resolve the script.
  -      var scripts = await _lookupScript(debugger.isolate, scriptName);
  +      Set<Script> scripts = await _lookupScript(debugger.isolate, scriptName);
  +      if (scripts.length == 0) {
  +        scripts =
  +            await _lookupScript(debugger.isolate, scriptName, useUri: true);
  +      }
         if (scripts.length == 0) {
           return new DebuggerLocation.error("Script '${scriptName}' not found");
         } else if (scripts.length == 1) {
  -        return new DebuggerLocation.file(scripts[0], line, col);
  +        return new DebuggerLocation.file(scripts.single, line, col);
         } else {
           // TODO(turnidge): Allow the user to disambiguate.
           return new DebuggerLocation.error(
  
positive.code:       if (scripts.isEmpty) {
          return [];
        }
        var script = scripts[0];
        await script.load();
        if (!lineStrComplete) {
          // Complete the line.
  
negative.code:   }
  
    static Future<DebuggerLocation> _parseScriptLine(
        Debugger debugger, Match match,
        {bool package = false}) async {
      var scriptName = match.group(1);
      if (package) {
        scriptName = "package:$scriptName";
      }
      if (scriptName != null) {
        scriptName = scriptName.substring(0, scriptName.length - 1);
      }
  