diff --git a/src/engine.rs b/src/engine.rs index 5a61e0a3..0de8a090 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -1242,9 +1242,13 @@ impl Reedline { } ReedlineEvent::CtrlC => { self.deactivate_menus(); - self.run_edit_commands(&[EditCommand::Clear]); - self.editor.reset_undo_stack(); - Ok(EventStatus::Exits(Signal::CtrlC)) + if self.editor.is_empty() { + self.editor.reset_undo_stack(); + Ok(EventStatus::Exits(Signal::CtrlC)) + } else { + self.run_edit_commands(&[EditCommand::Clear]); + Ok(EventStatus::Handled) + } } ReedlineEvent::ClearScreen => { self.deactivate_menus();