diff options
-rw-r--r-- | src/nvim/generators/gen_api_dispatch.lua | 3 | ||||
-rw-r--r-- | src/nvim/log.c | 2 | ||||
-rw-r--r-- | src/nvim/log.h | 18 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/channel.c | 1 | ||||
-rw-r--r-- | src/nvim/os/input.c | 2 | ||||
-rw-r--r-- | src/nvim/os_unix.c | 1 | ||||
-rw-r--r-- | src/nvim/state.c | 6 | ||||
-rw-r--r-- | src/nvim/ui.c | 4 |
8 files changed, 25 insertions, 12 deletions
diff --git a/src/nvim/generators/gen_api_dispatch.lua b/src/nvim/generators/gen_api_dispatch.lua index 15fcafb584..bd9650e4d1 100644 --- a/src/nvim/generators/gen_api_dispatch.lua +++ b/src/nvim/generators/gen_api_dispatch.lua @@ -190,6 +190,9 @@ for i = 1, #functions do output:write('Object handle_'..fn.name..'(uint64_t channel_id, Array args, Error *error)') output:write('\n{') + output:write('\n#if MIN_LOG_LEVEL <= DEBUG_LOG_LEVEL') + output:write('\n logmsg(DEBUG_LOG_LEVEL, "RPC: ", NULL, -1, true, "invoke '..fn.name..'");') + output:write('\n#endif') output:write('\n Object ret = NIL;') -- Declare/initialize variables that will hold converted arguments for j = 1, #fn.parameters do diff --git a/src/nvim/log.c b/src/nvim/log.c index 6de231858e..578217db41 100644 --- a/src/nvim/log.c +++ b/src/nvim/log.c @@ -101,7 +101,7 @@ void log_unlock(void) /// @param context description of a shared context or subsystem /// @param func_name function name, or NULL /// @param line_num source line number, or -1 -bool do_log(int log_level, const char *context, const char *func_name, +bool logmsg(int log_level, const char *context, const char *func_name, int line_num, bool eol, const char *fmt, ...) FUNC_ATTR_UNUSED { diff --git a/src/nvim/log.h b/src/nvim/log.h index f378b92039..7d4c033565 100644 --- a/src/nvim/log.h +++ b/src/nvim/log.h @@ -22,42 +22,42 @@ # define MIN_LOG_LEVEL INFO_LOG_LEVEL #endif -#define LOG(level, ...) do_log((level), NULL, __func__, __LINE__, true, \ +#define LOG(level, ...) logmsg((level), NULL, __func__, __LINE__, true, \ __VA_ARGS__) #if MIN_LOG_LEVEL <= DEBUG_LOG_LEVEL # undef DLOG # undef DLOGN -# define DLOG(...) do_log(DEBUG_LOG_LEVEL, NULL, __func__, __LINE__, true, \ +# define DLOG(...) logmsg(DEBUG_LOG_LEVEL, NULL, __func__, __LINE__, true, \ __VA_ARGS__) -# define DLOGN(...) do_log(DEBUG_LOG_LEVEL, NULL, __func__, __LINE__, false, \ +# define DLOGN(...) logmsg(DEBUG_LOG_LEVEL, NULL, __func__, __LINE__, false, \ __VA_ARGS__) #endif #if MIN_LOG_LEVEL <= INFO_LOG_LEVEL # undef ILOG # undef ILOGN -# define ILOG(...) do_log(INFO_LOG_LEVEL, NULL, __func__, __LINE__, true, \ +# define ILOG(...) logmsg(INFO_LOG_LEVEL, NULL, __func__, __LINE__, true, \ __VA_ARGS__) -# define ILOGN(...) do_log(INFO_LOG_LEVEL, NULL, __func__, __LINE__, false, \ +# define ILOGN(...) logmsg(INFO_LOG_LEVEL, NULL, __func__, __LINE__, false, \ __VA_ARGS__) #endif #if MIN_LOG_LEVEL <= WARN_LOG_LEVEL # undef WLOG # undef WLOGN -# define WLOG(...) do_log(WARN_LOG_LEVEL, NULL, __func__, __LINE__, true, \ +# define WLOG(...) logmsg(WARN_LOG_LEVEL, NULL, __func__, __LINE__, true, \ __VA_ARGS__) -# define WLOGN(...) do_log(WARN_LOG_LEVEL, NULL, __func__, __LINE__, false, \ +# define WLOGN(...) logmsg(WARN_LOG_LEVEL, NULL, __func__, __LINE__, false, \ __VA_ARGS__) #endif #if MIN_LOG_LEVEL <= ERROR_LOG_LEVEL # undef ELOG # undef ELOGN -# define ELOG(...) do_log(ERROR_LOG_LEVEL, NULL, __func__, __LINE__, true, \ +# define ELOG(...) logmsg(ERROR_LOG_LEVEL, NULL, __func__, __LINE__, true, \ __VA_ARGS__) -# define ELOGN(...) do_log(ERROR_LOG_LEVEL, NULL, __func__, __LINE__, false, \ +# define ELOGN(...) logmsg(ERROR_LOG_LEVEL, NULL, __func__, __LINE__, false, \ __VA_ARGS__) #endif diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index c37dde341f..c6cfb1a9ce 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -358,6 +358,7 @@ static void handle_request(Channel *channel, msgpack_object *request) } } else { multiqueue_put(channel->events, on_request_event, 1, evdata); + DLOG("RPC: scheduled %.*s", method->via.bin.size, method->via.bin.ptr); } } diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index 599487c345..f62253cbce 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -351,6 +351,8 @@ static bool input_poll(int ms) blocking = true; multiqueue_process_events(ch_before_blocking_events); } + DLOG("blocking... events_enabled=%d events_pending=%d", events_enabled, + !multiqueue_empty(main_loop.events)); LOOP_PROCESS_EVENTS_UNTIL(&main_loop, NULL, ms, input_ready() || input_eof); blocking = false; diff --git a/src/nvim/os_unix.c b/src/nvim/os_unix.c index bd8a13e6c8..27660712da 100644 --- a/src/nvim/os_unix.c +++ b/src/nvim/os_unix.c @@ -153,6 +153,7 @@ void mch_exit(int r) free_all_mem(); #endif + ILOG("Nvim exit: %d", r); exit(r); } diff --git a/src/nvim/state.c b/src/nvim/state.c index 5921bd45bf..d75f4038ae 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -64,6 +64,12 @@ getkey: may_sync_undo(); } +#if MIN_LOG_LEVEL <= DEBUG_LOG_LEVEL + char *keyname = key == K_EVENT + ? "K_EVENT" : (char *)get_special_key_name(key, mod_mask); + DLOG("input: %s", keyname); +#endif + int execute_result = s->execute(s, key); if (!execute_result) { break; diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 87101c3b64..0c69e94e5d 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -69,10 +69,10 @@ static char uilog_last_event[1024] = { 0 }; uilog_seen++; \ } else { \ if (uilog_seen > 0) { \ - do_log(DEBUG_LOG_LEVEL, "UI: ", NULL, -1, true, \ + logmsg(DEBUG_LOG_LEVEL, "UI: ", NULL, -1, true, \ "%s (+%zu times...)", uilog_last_event, uilog_seen); \ } \ - do_log(DEBUG_LOG_LEVEL, "UI: ", NULL, -1, true, STR(funname)); \ + logmsg(DEBUG_LOG_LEVEL, "UI: ", NULL, -1, true, STR(funname)); \ uilog_seen = 0; \ xstrlcpy(uilog_last_event, STR(funname), sizeof(uilog_last_event)); \ } \ |