[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