patch 9.1.1155: Mode message not cleared after :silent message

Problem:  Mode message not cleared after :silent message
          (after 9.0.1634).
Solution: Don't reset mode_displayed when the message is empty.
          (zeertzjq)

fixes: neovim/neovim#32641
closes: #16744

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/message.c b/src/message.c
index 2498412..99fe675 100644
--- a/src/message.c
+++ b/src/message.c
@@ -1747,7 +1747,7 @@
 
     // When drawing over the command line no need to clear it later or remove
     // the mode message.
-    if (msg_row >= cmdline_row && msg_col == 0)
+    if (msg_silent == 0 && len > 0 && msg_row >= cmdline_row && msg_col == 0)
     {
 	clear_cmdline = FALSE;
 	mode_displayed = FALSE;