summaryrefslogtreecommitdiffstats
path: root/mode-key.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-08-13 23:44:18 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-08-13 23:44:18 +0000
commit09cbd0c695cdd953834a46d161f6d3b0bf385c1c (patch)
tree547649ceb2c777efe0cb20b2f2cae7ae0d7e1108 /mode-key.c
parent7a359c00aca2e35dc26c2239f4261f0fa53f0caf (diff)
Switch the prompt code to return an empty string when the user enters no
response and reserve NULL for an explicit cancel. Change all callbacks to treat them the same so no functional change. Also add cancel key bindings to emacs mode which were missing.
Diffstat (limited to 'mode-key.c')
-rw-r--r--mode-key.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mode-key.c b/mode-key.c
index 6ceb01b6..d36504fd 100644
--- a/mode-key.c
+++ b/mode-key.c
@@ -181,6 +181,7 @@ struct mode_key_tree mode_key_tree_vi_copy;
const struct mode_key_entry mode_key_emacs_edit[] = {
{ '\001' /* C-a */, 0, MODEKEYEDIT_STARTOFLINE },
{ '\002' /* C-p */, 0, MODEKEYEDIT_CURSORLEFT },
+ { '\003' /* C-c */, 0, MODEKEYEDIT_CANCEL },
{ '\004' /* C-d */, 0, MODEKEYEDIT_DELETE },
{ '\005' /* C-e */, 0, MODEKEYEDIT_ENDOFLINE },
{ '\006' /* C-f */, 0, MODEKEYEDIT_CURSORRIGHT },
@@ -190,6 +191,7 @@ const struct mode_key_entry mode_key_emacs_edit[] = {
{ '\016' /* C-n */, 0, MODEKEYEDIT_HISTORYDOWN },
{ '\020' /* C-p */, 0, MODEKEYEDIT_HISTORYUP },
{ '\031' /* C-y */, 0, MODEKEYEDIT_PASTE },
+ { '\033' /* Escape */, 0, MODEKEYEDIT_CANCEL },
{ '\r', 0, MODEKEYEDIT_ENTER },
{ 'm' | KEYC_ESCAPE, 0, MODEKEYEDIT_STARTOFLINE },
{ KEYC_BSPACE, 0, MODEKEYEDIT_BACKSPACE },