On Do, 20 Apr 2017, Bram Moolenaar wrote:

> How about using K_IGNORE instead?  In the input buffer that's K_SPECIAL
> KS_EXTRA KE_IGNORE (three bytes).

Thanks that helps. How about this patch then:

diff --git a/src/gui_w32.c b/src/gui_w32.c
index fc566abee..4d9eaab92 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -2627,7 +2627,9 @@ gui_mch_set_curtab(int nr)
     void
 ex_simalt(exarg_T *eap)
 {
-    char_u *keys = eap->arg;
+    char_u     *keys = eap->arg;
+    int        fill_typebuf = FALSE;
+    char_u     key_name[3];

     PostMessage(s_hwnd, WM_SYSCOMMAND, (WPARAM)SC_KEYMENU, (LPARAM)0);
     while (*keys)
@@ -2636,6 +2638,15 @@ ex_simalt(exarg_T *eap)
            *keys = ' ';            /* for showing system menu */
        PostMessage(s_hwnd, WM_CHAR, (WPARAM)*keys, (LPARAM)0);
        keys++;
+       fill_typebuf = TRUE;
+    }
+    if (fill_typebuf)
+    {
+       key_name[0] = K_SPECIAL;
+       key_name[1] = KS_EXTRA;
+       key_name[2] = KE_IGNORE;
+       typebuf_was_filled = TRUE;
+       (void)ins_typebuf(key_name, REMAP_NONE, 0, TRUE, FALSE);
     }
 }


In fact, even simply setting typebuf_was_filled seems to be enough. 
However, as I don't know what the input typebuf will then look like, I 
added the K_IGNORE as suggested.

Best,
Christian
-- 
Eine gute Rede ist eine Ansprache, die das Thema erschöpft, aber
keineswegs die Zuhörer.
                -- Winston Spencer Churchill

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui