summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorK.Takata <kentkt@csc.jp>2022-02-04 10:45:38 +0000
committerBram Moolenaar <Bram@vim.org>2022-02-04 10:45:38 +0000
commit972db232795874c58b9fdf23e43f53885a378eae (patch)
tree2f8b420077aa6d3c9bb54876f8d1d1d2c6b85896
parent7676c158798a7c90f500cab2c12af0d47bad6026 (diff)
downloadvim-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.c2
-rw-r--r--src/main.c8
-rw-r--r--src/os_unix.c14
-rw-r--r--src/os_win32.c24
-rw-r--r--src/os_win32.h6
-rw-r--r--src/version.c2
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,