diff src/misc2.c @ 16880:998603a243d7 v8.1.1441

patch 8.1.1441: popup window filter not yet implemented commit https://github.com/vim/vim/commit/bf0eff0b724ebf4951f7ca82e6c648451f9f0c01 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 1 17:13:36 2019 +0200 patch 8.1.1441: popup window filter not yet implemented Problem: Popup window filter not yet implemented. Solution: Implement the popup filter.
author Bram Moolenaar <Bram@vim.org>
date Sat, 01 Jun 2019 17:15:06 +0200
parents cdca5f577c36
children d4ecdb8a4c58
line wrap: on
line diff
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -2731,17 +2731,31 @@ get_special_key_name(int c, int modifier
 trans_special(
     char_u	**srcp,
     char_u	*dst,
-    int		keycode, /* prefer key code, e.g. K_DEL instead of DEL */
-    int		in_string) /* TRUE when inside a double quoted string */
+    int		keycode,    // prefer key code, e.g. K_DEL instead of DEL
+    int		in_string)  // TRUE when inside a double quoted string
 {
     int		modifiers = 0;
     int		key;
-    int		dlen = 0;
 
     key = find_special_key(srcp, &modifiers, keycode, FALSE, in_string);
     if (key == 0)
 	return 0;
 
+    return special_to_buf(key, modifiers, keycode, dst);
+}
+
+/*
+ * Put the character sequence for "key" with "modifiers" into "dst" and return
+ * the resulting length.
+ * When "keycode" is TRUE prefer key code, e.g. K_DEL instead of DEL.
+ * The sequence is not NUL terminated.
+ * This is how characters in a string are encoded.
+ */
+    int
+special_to_buf(int key, int modifiers, int keycode, char_u *dst)
+{
+    int		dlen = 0;
+
     /* Put the appropriate modifier in a string */
     if (modifiers != 0)
     {