diff --git a/crates/ra_batch/src/lib.rs b/crates/ra_batch/src/lib.rs
index a14139b2659..ffc9e16bba1 100644
--- a/crates/ra_batch/src/lib.rs
+++ b/crates/ra_batch/src/lib.rs
@@ -89,6 +89,10 @@ pub fn load(
                         vfs.root2path(root)
                     );
                     analysis_change.add_root(source_root_id, is_local);
+                    analysis_change.set_debug_root_path(
+                        source_root_id,
+                        source_roots[&source_root_id].path().display().to_string(),
+                    );
 
                     let mut file_map = FxHashMap::default();
                     for (vfs_file, path, text) in files {
diff --git a/crates/ra_parser/src/parser.rs b/crates/ra_parser/src/parser.rs
index a2ac363fb85..f8fba6860be 100644
--- a/crates/ra_parser/src/parser.rs
+++ b/crates/ra_parser/src/parser.rs
@@ -5,7 +5,7 @@ use drop_bomb::DropBomb;
 use crate::{
     event::Event,
     ParseError,
-    SyntaxKind::{self, EOF, ERROR, L_DOLLAR, R_DOLLAR, TOMBSTONE},
+    SyntaxKind::{self, EOF, ERROR, TOMBSTONE},
     TokenSet, TokenSource, T,
 };
 
@@ -212,7 +212,7 @@ impl<'t> Parser<'t> {
     /// Create an error node and consume the next token.
     pub(crate) fn err_recover(&mut self, message: &str, recovery: TokenSet) {
         match self.current() {
-            T!['{'] | T!['}'] | L_DOLLAR | R_DOLLAR => {
+            T!['{'] | T!['}'] => {
                 self.error(message);
                 return;
             }