fix save
- SHA
7d2548cdc6e705f7743a58390ebe02cfa9a76996- Parents
-
5314ce7 - Tree
e804781
7d2548c
7d2548cdc6e705f7743a58390ebe02cfa9a769965314ce7
e804781| Status | File | + | - |
|---|---|---|---|
| M |
src/editor/state.rs
|
3 | 3 |
src/editor/state.rsmodified@@ -4507,14 +4507,14 @@ impl Editor { | ||
| 4507 | 4507 | fn save(&mut self) -> Result<()> { |
| 4508 | 4508 | let path = self.filename(); |
| 4509 | 4509 | if let Some(ref p) = path { |
| 4510 | - self.buffer_mut().save(p)?; | |
| 4511 | - self.buffer_entry_mut().mark_saved(); | |
| 4512 | - // Delete backup after successful save (use full path to match backup hash) | |
| 4510 | + // Construct full path: orphan files use absolute path, workspace files need root prefix | |
| 4513 | 4511 | let full_path = if self.buffer_entry().is_orphan { |
| 4514 | 4512 | p.clone() |
| 4515 | 4513 | } else { |
| 4516 | 4514 | self.workspace.root.join(p) |
| 4517 | 4515 | }; |
| 4516 | + self.buffer_mut().save(&full_path)?; | |
| 4517 | + self.buffer_entry_mut().mark_saved(); | |
| 4518 | 4518 | let _ = self.workspace.delete_backup(&full_path); |
| 4519 | 4519 | self.message = Some("Saved".to_string()); |
| 4520 | 4520 | } |