Skip to content
Permalink
Browse files

main: do event_init before early_init #10183

Fixes #10172

* move log_init to event_init
* move init_signs to end of early_init
  • Loading branch information...
blueyed authored and justinmk committed Jun 12, 2019
1 parent babcf64 commit 6f27f5ef91b3eeeca9fe58f4033e3d273ccc0889
Showing with 10 additions and 4 deletions.
  1. +5 −4 src/nvim/main.c
  2. +5 −0 test/functional/core/startup_spec.lua
@@ -141,6 +141,7 @@ static const char *err_extra_cmd =

void event_init(void)
{
log_init();
loop_init(&main_loop, NULL);
// early msgpack-rpc initialization
msgpack_rpc_init_method_table();
@@ -185,7 +186,6 @@ bool event_teardown(void)
/// Needed for unit tests. Must be called after `time_init()`.
void early_init(void)
{
log_init();
env_init();
fs_init();
handle_init();
@@ -222,6 +222,8 @@ void early_init(void)
TIME_MSG("inits 1");

set_lang_var(); // set v:lang and v:ctype

init_signs();
}

#ifdef MAKE_LIB
@@ -257,12 +259,13 @@ int main(int argc, char **argv)

init_startuptime(&params);

event_init();

early_init();

// Check if we have an interactive window.
check_and_set_isatty(&params);

event_init();
// Process the command line arguments. File names are put in the global
// argument list "global_alist".
command_line_scan(&params);
@@ -1312,8 +1315,6 @@ static void init_path(const char *exename)
// shipped with Windows package. This also mimics SearchPath().
os_setenv_append_path(exepath);
#endif

init_signs();
}

/// Get filename from command line, if any.
@@ -221,6 +221,11 @@ describe('startup', function()
clear{args={'--embed'}}
eq(2, eval('1+1'))
end)

it('does not crash when expanding cdpath during early_init', function()
clear{env={CDPATH='~doesnotexist'}}
eq(',~doesnotexist', eval('&cdpath'))
end)
end)

describe('sysinit', function()

0 comments on commit 6f27f5e

Please sign in to comment.
You can’t perform that action at this time.