0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 8.1.1104: MS-Windows: not all environment variables can be used

Problem:    MS-Windows: not all environment variables can be used.
Solution:   Use the wide version of WinMain() and main(). (Ken Takata,
            closes #4206)
This commit is contained in:
Bram Moolenaar
2019-04-03 20:31:00 +02:00
parent 0eb035c974
commit 796cc42d3a
6 changed files with 24 additions and 18 deletions

View File

@@ -37,13 +37,12 @@
#RUBY=/cygdribe/c/ruby #RUBY=/cygdribe/c/ruby
# Use MinGW(-w64) cross compiler. # Use MinGW-w64 cross compiler.
# There are three MinGW packages in Cygwin: # There are two MinGW-w64 packages in Cygwin:
# 32-bit: mingw-gcc-g++ and mingw64-i686-gcc-g++ # 32-bit: mingw64-i686-gcc-g++
# 64-bit: mingw64-x86_64-gcc-g++ # 64-bit: mingw64-x86_64-gcc-g++
# You may also need to set 'ARCH' in Make_cyg_ming.mak. # You may also need to set 'ARCH' in Make_cyg_ming.mak.
CROSS_COMPILE = i686-pc-mingw32- CROSS_COMPILE = i686-w64-mingw32-
#CROSS_COMPILE = i686-w64-mingw32-
#CROSS_COMPILE = x86_64-w64-mingw32- #CROSS_COMPILE = x86_64-w64-mingw32-

View File

@@ -691,7 +691,7 @@ CFLAGS += -s
endif endif
LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lnetapi32 -lversion LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lnetapi32 -lversion
GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o
CUIOBJ = $(OUTDIR)/iscygpty.o CUIOBJ = $(OUTDIR)/iscygpty.o
OBJ = \ OBJ = \
$(OUTDIR)/arabic.o \ $(OUTDIR)/arabic.o \
@@ -737,9 +737,9 @@ OBJ = \
$(OUTDIR)/normal.o \ $(OUTDIR)/normal.o \
$(OUTDIR)/ops.o \ $(OUTDIR)/ops.o \
$(OUTDIR)/option.o \ $(OUTDIR)/option.o \
$(OUTDIR)/os_win32.o \
$(OUTDIR)/os_mswin.o \ $(OUTDIR)/os_mswin.o \
$(OUTDIR)/winclip.o \ $(OUTDIR)/os_w32exe.o \
$(OUTDIR)/os_win32.o \
$(OUTDIR)/pathdef.o \ $(OUTDIR)/pathdef.o \
$(OUTDIR)/popupmnu.o \ $(OUTDIR)/popupmnu.o \
$(OUTDIR)/quickfix.o \ $(OUTDIR)/quickfix.o \
@@ -759,6 +759,7 @@ OBJ = \
$(OUTDIR)/userfunc.o \ $(OUTDIR)/userfunc.o \
$(OUTDIR)/version.o \ $(OUTDIR)/version.o \
$(OUTDIR)/vimrc.o \ $(OUTDIR)/vimrc.o \
$(OUTDIR)/winclip.o \
$(OUTDIR)/window.o $(OUTDIR)/window.o
ifdef PERL ifdef PERL
@@ -865,6 +866,8 @@ ifdef MZSCHEME
MZSCHEME_SUFFIX = Z MZSCHEME_SUFFIX = Z
endif endif
LFLAGS += -municode
ifeq ($(GUI),yes) ifeq ($(GUI),yes)
TARGET := gvim$(DEBUG_SUFFIX).exe TARGET := gvim$(DEBUG_SUFFIX).exe
DEFINES += $(DEF_GUI) DEFINES += $(DEF_GUI)

View File

@@ -742,7 +742,7 @@ OBJ = \
$(OUTDIR)\ops.obj \ $(OUTDIR)\ops.obj \
$(OUTDIR)\option.obj \ $(OUTDIR)\option.obj \
$(OUTDIR)\os_mswin.obj \ $(OUTDIR)\os_mswin.obj \
$(OUTDIR)\winclip.obj \ $(OUTDIR)\os_w32exe.obj \
$(OUTDIR)\os_win32.obj \ $(OUTDIR)\os_win32.obj \
$(OUTDIR)\pathdef.obj \ $(OUTDIR)\pathdef.obj \
$(OUTDIR)\popupmnu.obj \ $(OUTDIR)\popupmnu.obj \
@@ -761,6 +761,7 @@ OBJ = \
$(OUTDIR)\ui.obj \ $(OUTDIR)\ui.obj \
$(OUTDIR)\undo.obj \ $(OUTDIR)\undo.obj \
$(OUTDIR)\userfunc.obj \ $(OUTDIR)\userfunc.obj \
$(OUTDIR)\winclip.obj \
$(OUTDIR)\window.obj \ $(OUTDIR)\window.obj \
$(OUTDIR)\vim.res $(OUTDIR)\vim.res
@@ -799,8 +800,7 @@ GUI_INCL = \
GUI_OBJ = \ GUI_OBJ = \
$(OUTDIR)\gui.obj \ $(OUTDIR)\gui.obj \
$(OUTDIR)\gui_beval.obj \ $(OUTDIR)\gui_beval.obj \
$(OUTDIR)\gui_w32.obj \ $(OUTDIR)\gui_w32.obj
$(OUTDIR)\os_w32exe.obj
GUI_LIB = \ GUI_LIB = \
gdi32.lib version.lib $(IME_LIB) \ gdi32.lib version.lib $(IME_LIB) \
winspool.lib comctl32.lib advapi32.lib shell32.lib netapi32.lib \ winspool.lib comctl32.lib advapi32.lib shell32.lib netapi32.lib \

View File

@@ -96,7 +96,7 @@ static char_u *start_dir = NULL; /* current working dir on startup */
static int has_dash_c_arg = FALSE; static int has_dash_c_arg = FALSE;
int int
# ifdef FEAT_GUI_MSWIN # ifdef MSWIN
# ifdef __BORLANDC__ # ifdef __BORLANDC__
_cdecl _cdecl
# endif # endif

View File

@@ -28,20 +28,22 @@ void _cdecl SaveInst(HINSTANCE hInst);
#endif #endif
#ifndef PROTO #ifndef PROTO
# ifdef FEAT_GUI
int WINAPI int WINAPI
WinMain( wWinMain(
HINSTANCE hInstance, HINSTANCE hInstance,
HINSTANCE hPrevInst UNUSED, HINSTANCE hPrevInst UNUSED,
LPSTR lpszCmdLine UNUSED, LPWSTR lpszCmdLine UNUSED,
int nCmdShow UNUSED) int nCmdShow UNUSED)
# else
int
wmain(int argc UNUSED, wchar_t **argv UNUSED)
# endif
{ {
int argc = 0;
char **argv = NULL;
# ifdef FEAT_GUI # ifdef FEAT_GUI
SaveInst(hInstance); SaveInst(hInstance);
# endif # endif
VimMain(argc, argv); VimMain(0, NULL);
return 0; return 0;
} }

View File

@@ -771,6 +771,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 */
/**/
1104,
/**/ /**/
1103, 1103,
/**/ /**/