patch 9.1.0502: MS-Windows: too much legacy code Commit: https://github.com/vim/vim/commit/56f587b3f81f403bb0546c6892b3273b2a9e954f Author: K.Takata <ken...@csc.jp> Date: Wed Jun 19 19:56:03 2024 +0200
patch 9.1.0502: MS-Windows: too much legacy code Problem: MS-Windows: too much legacy code Solution: Clean up old code (Ken Takata) * Remove very old codes for Cygwin version of GCC. Nowadays Cygwin GCC cannot be used for building Win32 Vim. (The `-mno-cygwin` option was removed in Cygwin GCC4.) * Remove old codes for old versions of MinGW. Remove `__MINGW32__` as much as possible. * Adjust makefile. closes: #15044 Signed-off-by: K.Takata <ken...@csc.jp> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index e58814be4..64f01db19 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1638,7 +1638,6 @@ $(OUTDIR)/if_tcl.obj: $(OUTDIR) if_tcl.c $(INCL) $(CC) $(CFLAGS_OUTDIR) $(TCL_INC) if_tcl.c $(OUTDIR)/iscygpty.obj: $(OUTDIR) iscygpty.c $(CUI_INCL) - $(CC) $(CFLAGS_OUTDIR) iscygpty.c $(OUTDIR)/job.obj: $(OUTDIR) job.c $(INCL) diff --git a/src/gui_w32.c b/src/gui_w32.c index f628dd663..721c4480d 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -274,13 +274,9 @@ gui_mch_set_rendering_options(char_u *s) // cproto fails on missing include files #ifndef PROTO - -# ifndef __MINGW32__ -# include <shellapi.h> -# endif +# include <shellapi.h> # include <commctrl.h> # include <windowsx.h> - #endif // PROTO #ifdef FEAT_MENU diff --git a/src/mbyte.c b/src/mbyte.c index 07446ca56..a68ba7be3 100644 --- a/src/mbyte.c +++ b/src/mbyte.c @@ -102,7 +102,7 @@ # define WINBYTE BYTE #endif -#if (defined(MSWIN) || defined(WIN32UNIX)) && !defined(__MINGW32__) +#if defined(MSWIN) || defined(WIN32UNIX) # include <winnls.h> #endif diff --git a/src/os_mswin.c b/src/os_mswin.c index 149883b41..9d0e1a08a 100644 --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -18,20 +18,12 @@ #include <sys/types.h> #include <signal.h> #include <limits.h> + +// cproto fails on missing include files #ifndef PROTO # include <process.h> -#endif - -#undef chdir -#ifdef __GNUC__ -# ifndef __MINGW32__ -# include <dirent.h> -# endif -#else # include <direct.h> -#endif -#ifndef PROTO # if !defined(FEAT_GUI_MSWIN) # include <shellapi.h> # endif @@ -41,37 +33,8 @@ # include <winspool.h> # include <commdlg.h> # endif - #endif // PROTO -#ifdef __MINGW32__ -# ifndef FROM_LEFT_1ST_BUTTON_PRESSED -# define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 -# endif -# ifndef RIGHTMOST_BUTTON_PRESSED -# define RIGHTMOST_BUTTON_PRESSED 0x0002 -# endif -# ifndef FROM_LEFT_2ND_BUTTON_PRESSED -# define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 -# endif -# ifndef FROM_LEFT_3RD_BUTTON_PRESSED -# define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 -# endif -# ifndef FROM_LEFT_4TH_BUTTON_PRESSED -# define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 -# endif - -/* - * EventFlags - */ -# ifndef MOUSE_MOVED -# define MOUSE_MOVED 0x0001 -# endif -# ifndef DOUBLE_CLICK -# define DOUBLE_CLICK 0x0002 -# endif -#endif - /* * When generating prototypes for Win32 on Unix, these lines make the syntax * errors disappear. They do not need to be correct. @@ -144,37 +107,6 @@ static HWND s_hwnd = 0; // console window handle, set by GetConsoleHwnd() int WSInitialized = FALSE; // WinSock is initialized #endif -// Don't generate prototypes here, because some systems do have these -// functions. -#if defined(__GNUC__) && !defined(PROTO) -# ifndef __MINGW32__ -int _stricoll(char *a, char *b) -{ - // the ANSI-ish correct way is to use strxfrm(): - char a_buff[512], b_buff[512]; // file names, so this is enough on Win32 - strxfrm(a_buff, a, 512); - strxfrm(b_buff, b, 512); - return strcoll(a_buff, b_buff); -} - -char * _fullpath(char *buf, char *fname, int len) -{ - LPTSTR toss; - - return (char *)GetFullPathName(fname, len, buf, &toss); -} -# endif - -# if !defined(__MINGW32__) || (__GNUC__ < 4) -int _chdrive(int drive) -{ - char temp [3] = "-:"; - temp[0] = drive + 'A' - 1; - return !SetCurrentDirectory(temp); -} -# endif -#endif - #ifndef PROTO /* diff --git a/src/os_win32.c b/src/os_win32.c index 9947150cd..eeb3b4716 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -34,52 +34,14 @@ #ifndef PROTO # include <process.h> # include <winternl.h> -#endif - -#undef chdir -#ifdef __GNUC__ -# ifndef __MINGW32__ -# include <dirent.h> -# endif -#else # include <direct.h> -#endif -#ifndef PROTO # if !defined(FEAT_GUI_MSWIN) # include <shellapi.h> # endif -#endif - -#ifdef FEAT_JOB_CHANNEL -# include <tlhelp32.h> -#endif - -#ifdef __MINGW32__ -# ifndef FROM_LEFT_1ST_BUTTON_PRESSED -# define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 -# endif -# ifndef RIGHTMOST_BUTTON_PRESSED -# define RIGHTMOST_BUTTON_PRESSED 0x0002 -# endif -# ifndef FROM_LEFT_2ND_BUTTON_PRESSED -# define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 -# endif -# ifndef FROM_LEFT_3RD_BUTTON_PRESSED -# define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 -# endif -# ifndef FROM_LEFT_4TH_BUTTON_PRESSED -# define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 -# endif -/* - * EventFlags - */ -# ifndef MOUSE_MOVED -# define MOUSE_MOVED 0x0001 -# endif -# ifndef DOUBLE_CLICK -# define DOUBLE_CLICK 0x0002 +# ifdef FEAT_JOB_CHANNEL +# include <tlhelp32.h> # endif #endif @@ -2762,12 +2724,6 @@ theend: #endif // FEAT_GUI_MSWIN } -#ifndef PROTO -# ifndef __MINGW32__ -# include <shellapi.h> // required for FindExecutable() -# endif -#endif - /* * Return TRUE if "name" is an executable file, FALSE if not or it doesn't exist. * When returning TRUE and "path" is not NULL save the path and set "*path" to @@ -5529,11 +5485,7 @@ mch_call_shell( * CTRL-C, Ctrl-Break or illegal instruction might otherwise kill us. */ mch_signal(SIGINT, SIG_IGN); -#if defined(__GNUC__) && !defined(__MINGW32__) - mch_signal(SIGKILL, SIG_IGN); -#else mch_signal(SIGBREAK, SIG_IGN); -#endif mch_signal(SIGILL, SIG_IGN); mch_signal(SIGFPE, SIG_IGN); mch_signal(SIGSEGV, SIG_IGN); @@ -5768,11 +5720,7 @@ mch_call_shell( resettitle(); mch_signal(SIGINT, SIG_DFL); -#if defined(__GNUC__) && !defined(__MINGW32__) - mch_signal(SIGKILL, SIG_DFL); -#else mch_signal(SIGBREAK, SIG_DFL); -#endif mch_signal(SIGILL, SIG_DFL); mch_signal(SIGFPE, SIG_DFL); mch_signal(SIGSEGV, SIG_DFL); diff --git a/src/version.c b/src/version.c index 2d65eb2af..3afaefa48 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 502, /**/ 501, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1sJzbN-005Fa1-VN%40256bit.org.