diff options
author | K.Takata <kentkt@csc.jp> | 2022-02-04 10:45:38 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-02-04 10:45:38 +0000 |
commit | 972db232795874c58b9fdf23e43f53885a378eae (patch) | |
tree | 2f8b420077aa6d3c9bb54876f8d1d1d2c6b85896 | |
parent | 7676c158798a7c90f500cab2c12af0d47bad6026 (diff) | |
download | vim-git-972db232795874c58b9fdf23e43f53885a378eae.tar.gz |
patch 8.2.4294: MS-Windows: #ifdefs for Cygwin are too complicatedv8.2.4294
Problem: MS-Windows: #ifdefs for Cygwin are too complicated.
Solution: Simplify the conditions. (Ken Takata, closes #9693)
-rw-r--r-- | src/evalfunc.c | 2 | ||||
-rw-r--r-- | src/main.c | 8 | ||||
-rw-r--r-- | src/os_unix.c | 14 | ||||
-rw-r--r-- | src/os_win32.c | 24 | ||||
-rw-r--r-- | src/os_win32.h | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
6 files changed, 24 insertions, 32 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 71632cd29..a584443dd 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -5196,7 +5196,7 @@ f_has(typval_T *argvars, typval_T *rettv) #endif }, {"win32unix", -#if defined(UNIX) && defined(__CYGWIN__) +#ifdef WIN32UNIX 1 #else 0 diff --git a/src/main.c b/src/main.c index 7c0c4e64f..fa5d8f1d3 100644 --- a/src/main.c +++ b/src/main.c @@ -11,11 +11,9 @@ #include "vim.h" #ifdef __CYGWIN__ -# ifndef MSWIN -# include <cygwin/version.h> -# include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or +# include <cygwin/version.h> +# include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or // cygwin_conv_path() -# endif # include <limits.h> #endif @@ -2570,7 +2568,7 @@ scripterror: } } #endif -#if defined(__CYGWIN32__) && !defined(MSWIN) +#ifdef __CYGWIN32__ /* * If vim is invoked by non-Cygwin tools, convert away any * DOS paths, so things like .swp files are created correctly. diff --git a/src/os_unix.c b/src/os_unix.c index 984869809..cbd8ba8bd 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -44,15 +44,13 @@ static int selinux_enabled = -1; #endif #ifdef __CYGWIN__ -# ifndef MSWIN -# include <cygwin/version.h> -# include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or +# include <cygwin/version.h> +# include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or // for cygwin_conv_path() -# ifdef FEAT_CYGWIN_WIN32_CLIPBOARD -# define WIN32_LEAN_AND_MEAN -# include <windows.h> -# include "winclip.pro" -# endif +# ifdef FEAT_CYGWIN_WIN32_CLIPBOARD +# define WIN32_LEAN_AND_MEAN +# include <windows.h> +# include "winclip.pro" # endif #endif diff --git a/src/os_win32.c b/src/os_win32.c index d2d2fe7a3..a01cee5b8 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -241,12 +241,6 @@ static char_u *exe_path = NULL; static BOOL win8_or_later = FALSE; -#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__) -# define UChar UnicodeChar -#else -# define UChar uChar.UnicodeChar -#endif - #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) // Dynamic loading for portability typedef struct _DYN_CONSOLE_SCREEN_BUFFER_INFOEX @@ -306,7 +300,7 @@ is_ambiwidth_event( && ir->Event.KeyEvent.wRepeatCount == 1 && ir->Event.KeyEvent.wVirtualKeyCode == 0x12 && ir->Event.KeyEvent.wVirtualScanCode == 0x38 - && ir->Event.KeyEvent.UChar == 0 + && ir->Event.KeyEvent.uChar.UnicodeChar == 0 && ir->Event.KeyEvent.dwControlKeyState == 2; } @@ -317,7 +311,8 @@ make_ambiwidth_event( { down->Event.KeyEvent.wVirtualKeyCode = 0; down->Event.KeyEvent.wVirtualScanCode = 0; - down->Event.KeyEvent.UChar = up->Event.KeyEvent.UChar; + down->Event.KeyEvent.uChar.UnicodeChar + = up->Event.KeyEvent.uChar.UnicodeChar; down->Event.KeyEvent.dwControlKeyState = 0; } @@ -1005,12 +1000,12 @@ win32_kbd_patch_key( if (s_iIsDead == 2) { - pker->UChar = (WCHAR) awAnsiCode[1]; + pker->uChar.UnicodeChar = (WCHAR) awAnsiCode[1]; s_iIsDead = 0; return 1; } - if (pker->UChar != 0) + if (pker->uChar.UnicodeChar != 0) return 1; CLEAR_FIELD(abKeystate); @@ -1033,7 +1028,7 @@ win32_kbd_patch_key( abKeystate, awAnsiCode, 2, 0); if (s_iIsDead > 0) - pker->UChar = (WCHAR) awAnsiCode[0]; + pker->uChar.UnicodeChar = (WCHAR) awAnsiCode[0]; return s_iIsDead; } @@ -1075,7 +1070,8 @@ decode_key_event( } // special cases - if ((nModifs & CTRL) != 0 && (nModifs & ~CTRL) == 0 && pker->UChar == NUL) + if ((nModifs & CTRL) != 0 && (nModifs & ~CTRL) == 0 + && pker->uChar.UnicodeChar == NUL) { // Ctrl-6 is Ctrl-^ if (pker->wVirtualKeyCode == '6') @@ -1137,7 +1133,7 @@ decode_key_event( *pch = NUL; else { - *pch = (i > 0) ? pker->UChar : NUL; + *pch = (i > 0) ? pker->uChar.UnicodeChar : NUL; if (pmodifiers != NULL) { @@ -1683,7 +1679,7 @@ WaitForChar(long msec, int ignore_input) # ifdef FEAT_MBYTE_IME // Windows IME sends two '\n's with only one 'ENTER'. First: // wVirtualKeyCode == 13. second: wVirtualKeyCode == 0 - if (ir.Event.KeyEvent.UChar == 0 + if (ir.Event.KeyEvent.uChar.UnicodeChar == 0 && ir.Event.KeyEvent.wVirtualKeyCode == 13) { read_console_input(g_hConIn, &ir, 1, &cRecords); diff --git a/src/os_win32.h b/src/os_win32.h index d22772353..464357070 100644 --- a/src/os_win32.h +++ b/src/os_win32.h @@ -11,11 +11,9 @@ */ #include "os_dos.h" // common MS-DOS and Win32 stuff -#ifndef __CYGWIN__ // cproto fails on missing include files -# ifndef PROTO -# include <direct.h> // for _mkdir() -# endif +#ifndef PROTO +# include <direct.h> // for _mkdir() #endif #define BINARY_FILE_IO diff --git a/src/version.c b/src/version.c index 5140eb952..70d76d577 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4294, +/**/ 4293, /**/ 4292, |