0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.2.4294: MS-Windows: #ifdefs for Cygwin are too complicated

Problem:    MS-Windows: #ifdefs for Cygwin are too complicated.
Solution:   Simplify the conditions. (Ken Takata, closes #9693)
This commit is contained in:
K.Takata 2022-02-04 10:45:38 +00:00 committed by Bram Moolenaar
parent 7676c15879
commit 972db23279
6 changed files with 24 additions and 32 deletions

View File

@ -5196,7 +5196,7 @@ f_has(typval_T *argvars, typval_T *rettv)
#endif #endif
}, },
{"win32unix", {"win32unix",
#if defined(UNIX) && defined(__CYGWIN__) #ifdef WIN32UNIX
1 1
#else #else
0 0

View File

@ -11,11 +11,9 @@
#include "vim.h" #include "vim.h"
#ifdef __CYGWIN__ #ifdef __CYGWIN__
# ifndef MSWIN # include <cygwin/version.h>
# include <cygwin/version.h> # include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or
# include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or
// cygwin_conv_path() // cygwin_conv_path()
# endif
# include <limits.h> # include <limits.h>
#endif #endif
@ -2570,7 +2568,7 @@ scripterror:
} }
} }
#endif #endif
#if defined(__CYGWIN32__) && !defined(MSWIN) #ifdef __CYGWIN32__
/* /*
* If vim is invoked by non-Cygwin tools, convert away any * If vim is invoked by non-Cygwin tools, convert away any
* DOS paths, so things like .swp files are created correctly. * DOS paths, so things like .swp files are created correctly.

View File

@ -44,15 +44,13 @@ static int selinux_enabled = -1;
#endif #endif
#ifdef __CYGWIN__ #ifdef __CYGWIN__
# ifndef MSWIN # include <cygwin/version.h>
# include <cygwin/version.h> # include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or
# include <sys/cygwin.h> // for cygwin_conv_to_posix_path() and/or
// for cygwin_conv_path() // for cygwin_conv_path()
# ifdef FEAT_CYGWIN_WIN32_CLIPBOARD # ifdef FEAT_CYGWIN_WIN32_CLIPBOARD
# define WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN
# include <windows.h> # include <windows.h>
# include "winclip.pro" # include "winclip.pro"
# endif
# endif # endif
#endif #endif

View File

@ -241,12 +241,6 @@ static char_u *exe_path = NULL;
static BOOL win8_or_later = FALSE; 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) #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
// Dynamic loading for portability // Dynamic loading for portability
typedef struct _DYN_CONSOLE_SCREEN_BUFFER_INFOEX typedef struct _DYN_CONSOLE_SCREEN_BUFFER_INFOEX
@ -306,7 +300,7 @@ is_ambiwidth_event(
&& ir->Event.KeyEvent.wRepeatCount == 1 && ir->Event.KeyEvent.wRepeatCount == 1
&& ir->Event.KeyEvent.wVirtualKeyCode == 0x12 && ir->Event.KeyEvent.wVirtualKeyCode == 0x12
&& ir->Event.KeyEvent.wVirtualScanCode == 0x38 && ir->Event.KeyEvent.wVirtualScanCode == 0x38
&& ir->Event.KeyEvent.UChar == 0 && ir->Event.KeyEvent.uChar.UnicodeChar == 0
&& ir->Event.KeyEvent.dwControlKeyState == 2; && ir->Event.KeyEvent.dwControlKeyState == 2;
} }
@ -317,7 +311,8 @@ make_ambiwidth_event(
{ {
down->Event.KeyEvent.wVirtualKeyCode = 0; down->Event.KeyEvent.wVirtualKeyCode = 0;
down->Event.KeyEvent.wVirtualScanCode = 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; down->Event.KeyEvent.dwControlKeyState = 0;
} }
@ -1005,12 +1000,12 @@ win32_kbd_patch_key(
if (s_iIsDead == 2) if (s_iIsDead == 2)
{ {
pker->UChar = (WCHAR) awAnsiCode[1]; pker->uChar.UnicodeChar = (WCHAR) awAnsiCode[1];
s_iIsDead = 0; s_iIsDead = 0;
return 1; return 1;
} }
if (pker->UChar != 0) if (pker->uChar.UnicodeChar != 0)
return 1; return 1;
CLEAR_FIELD(abKeystate); CLEAR_FIELD(abKeystate);
@ -1033,7 +1028,7 @@ win32_kbd_patch_key(
abKeystate, awAnsiCode, 2, 0); abKeystate, awAnsiCode, 2, 0);
if (s_iIsDead > 0) if (s_iIsDead > 0)
pker->UChar = (WCHAR) awAnsiCode[0]; pker->uChar.UnicodeChar = (WCHAR) awAnsiCode[0];
return s_iIsDead; return s_iIsDead;
} }
@ -1075,7 +1070,8 @@ decode_key_event(
} }
// special cases // 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-^ // Ctrl-6 is Ctrl-^
if (pker->wVirtualKeyCode == '6') if (pker->wVirtualKeyCode == '6')
@ -1137,7 +1133,7 @@ decode_key_event(
*pch = NUL; *pch = NUL;
else else
{ {
*pch = (i > 0) ? pker->UChar : NUL; *pch = (i > 0) ? pker->uChar.UnicodeChar : NUL;
if (pmodifiers != NULL) if (pmodifiers != NULL)
{ {
@ -1683,7 +1679,7 @@ WaitForChar(long msec, int ignore_input)
# ifdef FEAT_MBYTE_IME # ifdef FEAT_MBYTE_IME
// Windows IME sends two '\n's with only one 'ENTER'. First: // Windows IME sends two '\n's with only one 'ENTER'. First:
// wVirtualKeyCode == 13. second: wVirtualKeyCode == 0 // wVirtualKeyCode == 13. second: wVirtualKeyCode == 0
if (ir.Event.KeyEvent.UChar == 0 if (ir.Event.KeyEvent.uChar.UnicodeChar == 0
&& ir.Event.KeyEvent.wVirtualKeyCode == 13) && ir.Event.KeyEvent.wVirtualKeyCode == 13)
{ {
read_console_input(g_hConIn, &ir, 1, &cRecords); read_console_input(g_hConIn, &ir, 1, &cRecords);

View File

@ -11,11 +11,9 @@
*/ */
#include "os_dos.h" // common MS-DOS and Win32 stuff #include "os_dos.h" // common MS-DOS and Win32 stuff
#ifndef __CYGWIN__
// cproto fails on missing include files // cproto fails on missing include files
# ifndef PROTO #ifndef PROTO
# include <direct.h> // for _mkdir() # include <direct.h> // for _mkdir()
# endif
#endif #endif
#define BINARY_FILE_IO #define BINARY_FILE_IO

View File

@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
4294,
/**/ /**/
4293, 4293,
/**/ /**/