diff options
| author | Frank LENORMAND <lenormf@gmail.com> | 2018-12-01 08:41:29 +0300 |
|---|---|---|
| committer | Frank LENORMAND <lenormf@gmail.com> | 2018-12-01 08:41:29 +0300 |
| commit | f0e07cc73c41db9afcd33f449f85e2fad097d8d2 (patch) | |
| tree | f74a8fd485991d0bd09682560a633f54acba5dab /src | |
| parent | 16908bf0914e012c4f68de5d875e169f61f2cebd (diff) | |
src: Prevent `:prompt -on-change` from crashing the editor
Fixes #1217
Diffstat (limited to 'src')
| -rw-r--r-- | src/commands.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/commands.cc b/src/commands.cc index c9822dda..cf9639fa 100644 --- a/src/commands.cc +++ b/src/commands.cc @@ -1908,7 +1908,17 @@ const CommandDesc prompt_cmd = { case PromptEvent::Change: cmd = on_change; break; case PromptEvent::Abort: cmd = on_abort; break; } - CommandManager::instance().execute(cmd, context, sc); + try + { + CommandManager::instance().execute(cmd, context, sc); + } + catch (Kakoune::runtime_error& error) + { + context.print_status({ fix_atom_text(error.what().str()), + context.faces()["Error"] }); + context.hooks().run_hook(Hook::RuntimeError, error.what(), + context); + } }); } }; |
