summaryrefslogtreecommitdiffstats
path: root/key-bindings.c
diff options
context:
space:
mode:
authornicm <nicm>2020-09-08 10:19:19 +0000
committernicm <nicm>2020-09-08 10:19:19 +0000
commit1fed7e84a3d65c8fbfbb321b84236ccab7265d46 (patch)
treee783fe4eb5ac3118c745f0504ac4c7ad05e3b9bd /key-bindings.c
parent9b45ba82fd38d30d9f6bbe3f659e33a32b3b5ace (diff)
Allow -N without a command to change or add a note to an existing key.
Diffstat (limited to 'key-bindings.c')
-rw-r--r--key-bindings.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/key-bindings.c b/key-bindings.c
index f11bb430..63d4bb26 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -191,6 +191,16 @@ key_bindings_add(const char *name, key_code key, const char *note, int repeat,
table = key_bindings_get_table(name, 1);
bd = key_bindings_get(table, key & ~KEYC_MASK_FLAGS);
+ if (cmdlist == NULL) {
+ if (bd != NULL) {
+ free((void *)bd->note);
+ if (note != NULL)
+ bd->note = xstrdup(note);
+ else
+ bd->note = NULL;
+ }
+ return;
+ }
if (bd != NULL) {
RB_REMOVE(key_bindings, &table->key_bindings, bd);
key_bindings_free(bd);