From 69fc8e4c9e240bef5b0b4cb4827690ab384752cc Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 4 Dec 2015 09:47:50 +1100 Subject: [PATCH] Initialise doc_default_cmd earlier. It needs to be initialised before the very first doc is created. Signed-off-by: NeilBrown --- core-doc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core-doc.c b/core-doc.c index 3999d908..83d9f9a5 100644 --- a/core-doc.c +++ b/core-doc.c @@ -334,6 +334,10 @@ static struct map *doc_default_cmd; static void init_doc_defaults(void) { + + if (doc_default_cmd) + return; + doc_default_cmd = key_alloc(); key_add(doc_default_cmd, "Move-Char", &doc_char); @@ -496,8 +500,7 @@ struct doc *doc_new(struct editor *ed, char *type) struct cmd_info ci = {0}; struct doc_data *dd; - if (!doc_default_cmd) - init_doc_defaults(); + init_doc_defaults(); sprintf(buf, "doc-%s", type); ci.key = buf; @@ -780,6 +783,7 @@ void doc_make_docs(struct editor *ed) struct docs *ds = malloc(sizeof(*ds)); struct map *docs_map = key_alloc(); + init_doc_defaults(); doc_init(&ds->doc); ds->doc.ed = ed; doc_set_name(&ds->doc, "*Documents*"); -- 2.39.5