diagnostics: Workaround weird panic in `update_path_excerpts` (#42602) (cherry-pick to stable) (#42605)

zed-zippy[bot] and Lukas Wirth created

Cherry-pick of #42602 to stable

----
Fixes ZED-36P

Patching this over for now until I can figure out the cause of this

Release Notes:

- Fixed panic in diagnostics pane

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Change summary

crates/multi_buffer/src/path_key.rs | 2 ++
1 file changed, 2 insertions(+)

Detailed changes

crates/multi_buffer/src/path_key.rs 🔗

@@ -410,6 +410,8 @@ impl MultiBuffer {
         }
 
         self.insert_excerpts_with_ids_after(insert_after, buffer, to_insert, cx);
+        // todo(lw): There is a logic bug somewhere that causes the to_remove vector to be not ordered correctly

+        to_remove.sort_by_cached_key(|&id| snapshot.excerpt_locator_for_id(id));

         self.remove_excerpts(to_remove, cx);
         if excerpt_ids.is_empty() {
             self.excerpts_by_path.remove(&path);