From: NeilBrown Date: Thu, 3 Dec 2015 21:56:20 +0000 (+1100) Subject: Discard concept of persistent key modifiers. X-Git-Tag: lca2016~126 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=cd7c296df998f3e47308ad294e8e6b1f2cedec33;p=edlib.git Discard concept of persistent key modifiers. I'm not using them and I no longer think they make sense. The goal they were meant to serve is better served by setting a new "global-set-keymap". Signed-off-by: NeilBrown --- diff --git a/core-keymap.c b/core-keymap.c index d5346d47..1a6d3d55 100644 --- a/core-keymap.c +++ b/core-keymap.c @@ -231,7 +231,6 @@ void key_del(struct map *map, wint_t k) struct modmap { char *name; - bool transient; struct command comm; }; @@ -239,7 +238,7 @@ static int key_prefix(struct cmd_info *ci) { struct modmap *m = container_of(ci->comm, struct modmap, comm); - pane_set_mode(ci->home, m->name, m->transient); + pane_set_mode(ci->home, m->name); return 1; } @@ -248,7 +247,6 @@ struct command *key_register_prefix(char *name) struct modmap *mm = malloc(sizeof(*mm)); mm->name = strdup(name); - mm->transient = 1; mm->comm.func = key_prefix; return &mm->comm; } diff --git a/core-pane.c b/core-pane.c index 3b61898c..27c5a85d 100644 --- a/core-pane.c +++ b/core-pane.c @@ -405,9 +405,9 @@ struct pane *render_attach(char *name, struct pane *parent) } -void pane_set_mode(struct pane *p, char *mode, int transient) +void pane_set_mode(struct pane *p, char *mode) { - call5("Mode:set-mode", p, 0, NULL, mode, !transient); + call5("Mode:set-mode", p, 0, NULL, mode, 0); } void pane_set_numeric(struct pane *p, int numeric) diff --git a/core.h b/core.h index c5b10d9a..0c06a99e 100644 --- a/core.h +++ b/core.h @@ -321,7 +321,7 @@ struct pane *pane_to_root(struct pane *p, int *x, int *y, int *z, int *w, int *h); int pane_masked(struct pane *p, int x, int y, int z, int *w, int *h); struct editor *pane2ed(struct pane *p); -void pane_set_mode(struct pane *p, char *mode, int transient); +void pane_set_mode(struct pane *p, char *mode); void pane_set_numeric(struct pane *p, int numeric); void pane_set_extra(struct pane *p, int extra); struct pane *pane_attach(struct pane *p, char *type, struct pane *dp, char *arg); diff --git a/mode-emacs.c b/mode-emacs.c index aa307df0..0c051cfe 100644 --- a/mode-emacs.c +++ b/mode-emacs.c @@ -489,7 +489,7 @@ DEF_CMD(emacs_viewdocs) DEF_CMD(emacs_meta) { - pane_set_mode(ci->home, "M-", 1); + pane_set_mode(ci->home, "M-"); pane_set_numeric(ci->home, ci->numeric); pane_set_extra(ci->home, ci->extra); return 1;