]> git.neil.brown.name Git - edlib.git/commitdiff
Initialise doc_default_cmd earlier.
authorNeilBrown <neil@brown.name>
Thu, 3 Dec 2015 22:47:50 +0000 (09:47 +1100)
committerNeilBrown <neil@brown.name>
Wed, 9 Dec 2015 09:02:59 +0000 (20:02 +1100)
It needs to be initialised before the very first doc is created.

Signed-off-by: NeilBrown <neil@brown.name>
core-doc.c

index 3999d908a4c6b3e75ce828593ea16467e3d1de10..83d9f9a52ba55ec70d173d83ef0ab97d20b1b0b7 100644 (file)
@@ -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*");