changeset 19380:1e78bf92f168 v8.2.0248

patch 8.2.0248: MS-Windows: dealing with deprecation is too complicated Commit: https://github.com/vim/vim/commit/2f189750887636fecd440d7ef353d9224e48713f Author: Bram Moolenaar <Bram@vim.org> Date: Wed Feb 12 21:15:43 2020 +0100 patch 8.2.0248: MS-Windows: dealing with deprecation is too complicated Problem: MS-Windows: dealing with deprecation is too complicated. Solution: Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken Takata, closes #5626)
author Bram Moolenaar <Bram@vim.org>
date Wed, 12 Feb 2020 21:30:03 +0100
parents 48ab371a959f
children 95be753d41c0
files Filelist src/Make_mvc.mak src/dosinst.h src/version.c src/vim.h src/vimio.h src/winclip.c
diffstat 7 files changed, 10 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/Filelist
+++ b/Filelist
@@ -529,7 +529,6 @@ SRC_DOS =	\
 		src/uninstall.c \
 		src/vim.def \
 		src/vim.rc \
-		src/vimio.h \
 		src/gvim.exe.mnf \
 		src/vimrun.c \
 		src/xpm_w32.c \
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -658,7 +658,8 @@ OPTFLAG = /Ox
 OPTFLAG = $(OPTFLAG) /GL
 !  endif
 # Visual Studio 2005 has 'deprecated' many of the standard CRT functions
-CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
+CFLAGS_DEPR = /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
+CFLAGS = $(CFLAGS) $(CFLAGS_DEPR)
 ! endif
 
 # (/Wp64 is deprecated in VC9 and generates an obnoxious warning.)
@@ -1348,15 +1349,17 @@ all:	$(MAIN_TARGET) \
 $(OUTDIR):
 	if not exist $(OUTDIR)/nul  mkdir $(OUTDIR)
 
+CFLAGS_INST = /nologo -DNDEBUG -DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) $(CFLAGS_DEPR)
+
 install.exe: dosinst.c dosinst.h version.h
-	$(CC) /nologo -DNDEBUG -DWIN32 dosinst.c kernel32.lib shell32.lib \
+	$(CC) $(CFLAGS_INST) dosinst.c kernel32.lib shell32.lib \
 		user32.lib ole32.lib advapi32.lib uuid.lib \
 		-link -subsystem:$(SUBSYSTEM_TOOLS)
 	- if exist install.exe del install.exe
 	ren dosinst.exe install.exe
 
 uninstall.exe: uninstall.c dosinst.h version.h
-	$(CC) /nologo -DNDEBUG -DWIN32 uninstall.c shell32.lib advapi32.lib \
+	$(CC) $(CFLAGS_INST) uninstall.c shell32.lib advapi32.lib \
 		-link -subsystem:$(SUBSYSTEM_TOOLS)
 
 vimrun.exe: vimrun.c
--- a/src/dosinst.h
+++ b/src/dosinst.h
@@ -10,12 +10,6 @@
  * dosinst.h: Common code for dosinst.c and uninstall.c
  */
 
-// Visual Studio 2005 has 'deprecated' many of the standard CRT functions
-#if _MSC_VER >= 1400
-# define _CRT_SECURE_NO_DEPRECATE
-# define _CRT_NONSTDC_NO_DEPRECATE
-#endif
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -23,7 +17,7 @@
 #include <fcntl.h>
 
 #ifndef UNIX_LINT
-# include "vimio.h"
+# include <io.h>
 # include <ctype.h>
 
 # include <direct.h>
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    248,
+/**/
     247,
 /**/
     246,
--- a/src/vim.h
+++ b/src/vim.h
@@ -18,7 +18,7 @@
 #endif
 
 #ifdef MSWIN
-# include "vimio.h"
+# include <io.h>
 #endif
 
 // ============ the header file puzzle: order matters =========
deleted file mode 100644
--- a/src/vimio.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* vi:set ts=8 sts=4 sw=4 noet:
- *
- * VIM - Vi IMproved	by Bram Moolenaar
- *
- * Do ":help uganda"  in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
- * See README.txt for an overview of the Vim source code.
- */
-
-// cproto fails on missing include files
-#ifndef PROTO
-# include <io.h>
-#endif
--- a/src/winclip.c
+++ b/src/winclip.c
@@ -14,7 +14,6 @@
  * Also used by Cygwin, using os_unix.c.
  */
 
-#include "vimio.h"
 #include "vim.h"
 
 /*