diff options
Diffstat (limited to 'xC.c')
-rw-r--r-- | xC.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -2422,8 +2422,8 @@ static struct config_schema g_config_server[] = static struct config_schema g_config_general[] = { - { .name = "save_on_quit", - .comment = "Save configuration before quitting", + { .name = "autosave", + .comment = "Save configuration automatically after each change", .type = CONFIG_ITEM_BOOLEAN, .default_ = "on" }, { .name = "debug_mode", @@ -11363,6 +11363,8 @@ static bool handle_command_set_assign (struct app_context *ctx, struct strv *all, char *arguments) { + hard_assert (all->len > 0); + char *op = cut_word (&arguments); bool add = false; bool remove = false; @@ -11397,6 +11399,9 @@ handle_command_set_assign free (key); } config_item_destroy (new_); + + if (get_config_boolean (ctx->config.root, "general.autosave")) + save_configuration (ctx); return true; } @@ -14748,9 +14753,6 @@ main (int argc, char *argv[]) CALL (ctx.input, stop); - if (get_config_boolean (ctx.config.root, "general.save_on_quit")) - save_configuration (&ctx); - app_context_free (&ctx); toggle_bracketed_paste (false); free_terminal (); |