[vim] - patchlevel 413

Karsten Hopp karsten at fedoraproject.org
Tue Aug 26 13:44:12 UTC 2014


commit fc32080bae30679e23d3e3527a2fe11887903989
Author: Karsten Hopp <karsten at redhat.com>
Date:   Tue Aug 26 15:44:07 2014 +0200

    - patchlevel 413

 7.4.413 |   96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 96 insertions(+), 0 deletions(-)
---
diff --git a/7.4.413 b/7.4.413
new file mode 100644
index 0000000..975477e
--- /dev/null
+++ b/7.4.413
@@ -0,0 +1,96 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.4.413
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.413
+Problem:    MS-Windows: Using US international keyboard layout, inserting dead
+	    key by pressing space does not always work.  Issue 250.
+Solution:   Let MS-Windows translate the message. (John Wellesz)
+Files:	    src/gui_w48.c
+
+
+*** ../vim-7.4.412/src/gui_w48.c	2014-08-06 14:52:05.043236174 +0200
+--- src/gui_w48.c	2014-08-22 18:41:09.151182571 +0200
+***************
+*** 614,619 ****
+--- 614,621 ----
+      char_u	string[40];
+      int		len = 0;
+  
++     dead_key = 0;
++ 
+      len = char_to_string(ch, string, 40, FALSE);
+      if (len == 1 && string[0] == Ctrl_C && ctrl_c_interrupts)
+      {
+***************
+*** 1788,1811 ****
+      if (msg.message == WM_KEYDOWN || msg.message == WM_SYSKEYDOWN)
+      {
+  	vk = (int) msg.wParam;
+! 	/* handle key after dead key, but ignore shift, alt and control */
+! 	if (dead_key && vk != VK_SHIFT && vk != VK_MENU && vk != VK_CONTROL)
+  	{
+  	    dead_key = 0;
+! 	    /* handle non-alphabetic keys (ones that hopefully cannot generate
+! 	     * umlaut-characters), unless when control is down */
+! 	    if (vk < 'A' || vk > 'Z' || (GetKeyState(VK_CONTROL) & 0x8000))
+! 	    {
+! 		MSG dm;
+! 
+! 		dm.message = msg.message;
+! 		dm.hwnd = msg.hwnd;
+! 		dm.wParam = VK_SPACE;
+! 		MyTranslateMessage(&dm);	/* generate dead character */
+! 		if (vk != VK_SPACE) /* and send current character once more */
+! 		    PostMessage(msg.hwnd, msg.message, msg.wParam, msg.lParam);
+! 		return;
+! 	    }
+  	}
+  
+  	/* Check for CTRL-BREAK */
+--- 1790,1810 ----
+      if (msg.message == WM_KEYDOWN || msg.message == WM_SYSKEYDOWN)
+      {
+  	vk = (int) msg.wParam;
+! 	/*
+! 	 * If a dead key was pressed and the user presses VK_SPACE, VK_BACK, or
+! 	 * VK_ESCAPE it means that he actually wants to deal with the dead char
+! 	 * now, so do nothing special and let Windows handle it.
+! 	 *
+! 	 * Note that VK_SPACE combines with the dead_key's character and only
+! 	 * one WM_CHAR will be generated by TranslateMessage(), in the two
+! 	 * other cases two WM_CHAR will be generated: the dead char and VK_BACK
+! 	 * or VK_ESCAPE.  That is most likely what the user expects.
+! 	 */
+! 	if (dead_key && (vk == VK_SPACE || vk == VK_BACK || vk == VK_ESCAPE))
+  	{
+  	    dead_key = 0;
+! 	    MyTranslateMessage(&msg);
+! 	    return;
+  	}
+  
+  	/* Check for CTRL-BREAK */
+*** ../vim-7.4.412/src/version.c	2014-08-22 18:12:53.999244049 +0200
+--- src/version.c	2014-08-22 18:39:03.915187113 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+  {   /* Add new patch number below this line */
++ /**/
++     413,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+43. You tell the kids they can't use the computer because "Daddy's got work to
+    do" and you don't even have a job.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list