main: Initialize event loop before command_line_scan

The call to `event_init()` was too late. `command_line_scan()` in `main()` could
already need the loop initialized. Ref https://github.com/neovim/neovim/issues/3045#issuecomment-123405833.

A consequence of this change is that it was necessary to move the
`channel_from_stdio()` call to `command_line_scan()` when embedded_mode is set.
This commit is contained in:
Thiago de Arruda
2015-08-21 07:58:51 -03:00
parent 1beee0685d
commit cb87670ff8
2 changed files with 3 additions and 7 deletions

View File

@@ -93,11 +93,6 @@ void channel_init(void)
channels = pmap_new(uint64_t)();
event_strings = pmap_new(cstr_t)();
msgpack_sbuffer_init(&out_buffer);
if (embedded_mode) {
channel_from_stdio();
}
remote_ui_init();
}
@@ -316,7 +311,7 @@ bool channel_close(uint64_t id)
/// Creates an API channel from stdin/stdout. This is used when embedding
/// Neovim
static void channel_from_stdio(void)
void channel_from_stdio(void)
{
Channel *channel = register_channel(kChannelTypeStdio);
incref(channel); // stdio channels are only closed on exit