aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/generators/gen_api_dispatch.lua3
-rw-r--r--src/nvim/log.c2
-rw-r--r--src/nvim/log.h18
-rw-r--r--src/nvim/msgpack_rpc/channel.c1
-rw-r--r--src/nvim/os/input.c2
-rw-r--r--src/nvim/os_unix.c1
-rw-r--r--src/nvim/state.c6
-rw-r--r--src/nvim/ui.c4
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)); \
} \