summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.277
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.277')
-rw-r--r--source/ap/vim/patches/7.3.277348
1 files changed, 348 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.277 b/source/ap/vim/patches/7.3.277
new file mode 100644
index 000000000..3509a1a6f
--- /dev/null
+++ b/source/ap/vim/patches/7.3.277
@@ -0,0 +1,348 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.277
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.277
+Problem: MS-Windows: some characters do not show in dialogs.
+Solution: Use the wide methods when available. (Yanwei Jia)
+Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
+ src/os_win32.h
+
+
+*** ../vim-7.3.276/src/gui_w32.c 2011-08-10 15:56:24.000000000 +0200
+--- src/gui_w32.c 2011-08-10 16:52:55.000000000 +0200
+***************
+*** 1270,1275 ****
+--- 1270,1294 ----
+ pGetMonitorInfo = (TGetMonitorInfo)GetProcAddress(user32_lib,
+ "GetMonitorInfoA");
+ }
++
++ #ifdef FEAT_MBYTE
++ /* If the OS is Windows NT, use wide functions;
++ * this enables common dialogs input unicode from IME. */
++ if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)
++ {
++ pDispatchMessage = DispatchMessageW;
++ pGetMessage = GetMessageW;
++ pIsDialogMessage = IsDialogMessageW;
++ pPeekMessage = PeekMessageW;
++ }
++ else
++ {
++ pDispatchMessage = DispatchMessageA;
++ pGetMessage = GetMessageA;
++ pIsDialogMessage = IsDialogMessageA;
++ pPeekMessage = PeekMessageA;
++ }
++ #endif
+ }
+
+ /*
+*** ../vim-7.3.276/src/gui_w48.c 2010-10-20 21:22:17.000000000 +0200
+--- src/gui_w48.c 2011-08-10 16:49:39.000000000 +0200
+***************
+*** 390,396 ****
+ KillTimer(NULL, idEvent);
+
+ /* Eat spurious WM_TIMER messages */
+! while (PeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+
+ if (blink_state == BLINK_ON)
+--- 390,396 ----
+ KillTimer(NULL, idEvent);
+
+ /* Eat spurious WM_TIMER messages */
+! while (pPeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+
+ if (blink_state == BLINK_ON)
+***************
+*** 418,424 ****
+ {
+ KillTimer(NULL, blink_timer);
+ /* Eat spurious WM_TIMER messages */
+! while (PeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+ blink_timer = 0;
+ }
+--- 418,424 ----
+ {
+ KillTimer(NULL, blink_timer);
+ /* Eat spurious WM_TIMER messages */
+! while (pPeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+ blink_timer = 0;
+ }
+***************
+*** 476,482 ****
+ s_timed_out = TRUE;
+
+ /* Eat spurious WM_TIMER messages */
+! while (PeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+ if (idEvent == s_wait_timer)
+ s_wait_timer = 0;
+--- 476,482 ----
+ s_timed_out = TRUE;
+
+ /* Eat spurious WM_TIMER messages */
+! while (pPeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+ if (idEvent == s_wait_timer)
+ s_wait_timer = 0;
+***************
+*** 1707,1713 ****
+ static char_u k10[] = {K_SPECIAL, 'k', ';', 0};
+ #endif
+
+! GetMessage(&msg, NULL, 0, 0);
+
+ #ifdef FEAT_OLE
+ /* Look after OLE Automation commands */
+--- 1707,1713 ----
+ static char_u k10[] = {K_SPECIAL, 'k', ';', 0};
+ #endif
+
+! pGetMessage(&msg, NULL, 0, 0);
+
+ #ifdef FEAT_OLE
+ /* Look after OLE Automation commands */
+***************
+*** 1718,1724 ****
+ {
+ /* Message can't be ours, forward it. Fixes problem with Ultramon
+ * 3.0.4 */
+! DispatchMessage(&msg);
+ }
+ else
+ {
+--- 1718,1724 ----
+ {
+ /* Message can't be ours, forward it. Fixes problem with Ultramon
+ * 3.0.4 */
+! pDispatchMessage(&msg);
+ }
+ else
+ {
+***************
+*** 1749,1762 ****
+ if (msg.message == WM_USER)
+ {
+ MyTranslateMessage(&msg);
+! DispatchMessage(&msg);
+ return;
+ }
+ #endif
+
+ #ifdef MSWIN_FIND_REPLACE
+ /* Don't process messages used by the dialog */
+! if (s_findrep_hwnd != NULL && IsDialogMessage(s_findrep_hwnd, &msg))
+ {
+ HandleMouseHide(msg.message, msg.lParam);
+ return;
+--- 1749,1762 ----
+ if (msg.message == WM_USER)
+ {
+ MyTranslateMessage(&msg);
+! pDispatchMessage(&msg);
+ return;
+ }
+ #endif
+
+ #ifdef MSWIN_FIND_REPLACE
+ /* Don't process messages used by the dialog */
+! if (s_findrep_hwnd != NULL && pIsDialogMessage(s_findrep_hwnd, &msg))
+ {
+ HandleMouseHide(msg.message, msg.lParam);
+ return;
+***************
+*** 1928,1934 ****
+ if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE,
+ NULL, NULL) == NULL)
+ #endif
+! DispatchMessage(&msg);
+ }
+
+ /*
+--- 1928,1934 ----
+ if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE,
+ NULL, NULL) == NULL)
+ #endif
+! pDispatchMessage(&msg);
+ }
+
+ /*
+***************
+*** 1943,1949 ****
+ MSG msg;
+
+ if (!s_busy_processing)
+! while (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)
+ && !vim_is_input_buf_full())
+ process_message();
+ }
+--- 1943,1949 ----
+ MSG msg;
+
+ if (!s_busy_processing)
+! while (pPeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)
+ && !vim_is_input_buf_full())
+ process_message();
+ }
+***************
+*** 2019,2025 ****
+ KillTimer(NULL, s_wait_timer);
+
+ /* Eat spurious WM_TIMER messages */
+! while (PeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+ s_wait_timer = 0;
+ }
+--- 2019,2025 ----
+ KillTimer(NULL, s_wait_timer);
+
+ /* Eat spurious WM_TIMER messages */
+! while (pPeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
+ ;
+ s_wait_timer = 0;
+ }
+*** ../vim-7.3.276/src/os_mswin.c 2011-06-19 01:30:01.000000000 +0200
+--- src/os_mswin.c 2011-08-10 16:45:24.000000000 +0200
+***************
+*** 1856,1867 ****
+ {
+ MSG msg;
+
+! while (!*bUserAbort && PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+! if (!hDlgPrint || !IsDialogMessage(hDlgPrint, &msg))
+ {
+ TranslateMessage(&msg);
+! DispatchMessage(&msg);
+ }
+ }
+ return !*bUserAbort;
+--- 1856,1867 ----
+ {
+ MSG msg;
+
+! while (!*bUserAbort && pPeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+! if (!hDlgPrint || !pIsDialogMessage(hDlgPrint, &msg))
+ {
+ TranslateMessage(&msg);
+! pDispatchMessage(&msg);
+ }
+ }
+ return !*bUserAbort;
+***************
+*** 3132,3141 ****
+ {
+ MSG msg;
+
+! while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+! DispatchMessage(&msg);
+ }
+ }
+
+--- 3132,3141 ----
+ {
+ MSG msg;
+
+! while (pPeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+! pDispatchMessage(&msg);
+ }
+ }
+
+*** ../vim-7.3.276/src/os_win32.c 2011-07-07 16:20:45.000000000 +0200
+--- src/os_win32.c 2011-08-10 16:54:50.000000000 +0200
+***************
+*** 152,157 ****
+--- 152,165 ----
+ # define wcsicmp(a, b) wcscmpi((a), (b))
+ #endif
+
++ /* Enable common dialogs input unicode from IME if posible. */
++ #ifdef FEAT_MBYTE
++ LRESULT (WINAPI *pDispatchMessage)(LPMSG) = DispatchMessage;
++ BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT) = GetMessage;
++ BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG) = IsDialogMessage;
++ BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT) = PeekMessage;
++ #endif
++
+ #ifndef FEAT_GUI_W32
+ /* Win32 Console handles for input and output */
+ static HANDLE g_hConIn = INVALID_HANDLE_VALUE;
+***************
+*** 3284,3293 ****
+ {
+ MSG msg;
+
+! if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+! DispatchMessage(&msg);
+ }
+ if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
+ break;
+--- 3292,3301 ----
+ {
+ MSG msg;
+
+! if (pPeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+! pDispatchMessage(&msg);
+ }
+ if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
+ break;
+*** ../vim-7.3.276/src/os_win32.h 2011-05-05 18:31:54.000000000 +0200
+--- src/os_win32.h 2011-08-10 16:51:58.000000000 +0200
+***************
+*** 193,195 ****
+--- 193,209 ----
+ #else
+ # define vim_mkdir(x, y) mch_mkdir(x)
+ #endif
++
++ /* Enable common dialogs input unicode from IME if posible. */
++ #ifdef FEAT_MBYTE
++ /* The variables are defined in os_win32.c. */
++ extern LRESULT (WINAPI *pDispatchMessage)(LPMSG);
++ extern BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT);
++ extern BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG);
++ extern BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT);
++ #else
++ # define pDispatchMessage DispatchMessage
++ # define pGetMessage GetMessage
++ # define pIsDialogMessage IsDialogMessage
++ # define pPeekMessage PeekMessage
++ #endif
+*** ../vim-7.3.276/src/version.c 2011-08-10 16:31:18.000000000 +0200
+--- src/version.c 2011-08-10 17:06:55.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+ { /* Add new patch number below this line */
++ /**/
++ 277,
+ /**/
+
+--
+Veni, Vidi, VW -- I came, I saw, I drove around in a little car.
+
+ /// Bram Moolenaar -- Bram@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 ///