summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-04-03 20:31:00 +0200
committerBram Moolenaar <Bram@vim.org>2019-04-03 20:31:00 +0200
commit796cc42d3a4fc7a940da87831a111eeb6b7a5cf3 (patch)
tree475eb4004310f0ce6d7753237656053e7349072b
parent0eb035c974c47e65d32439b48e5a056b370ad429 (diff)
downloadvim-git-8.1.1104.tar.gz
patch 8.1.1104: MS-Windows: not all environment variables can be usedv8.1.1104
Problem: MS-Windows: not all environment variables can be used. Solution: Use the wide version of WinMain() and main(). (Ken Takata, closes #4206)
-rw-r--r--src/Make_cyg.mak9
-rw-r--r--src/Make_cyg_ming.mak9
-rw-r--r--src/Make_mvc.mak6
-rw-r--r--src/main.c2
-rw-r--r--src/os_w32exe.c14
-rw-r--r--src/version.c2
6 files changed, 24 insertions, 18 deletions
diff --git a/src/Make_cyg.mak b/src/Make_cyg.mak
index 8c1b60e27..8bb2b721b 100644
--- a/src/Make_cyg.mak
+++ b/src/Make_cyg.mak
@@ -37,13 +37,12 @@
#RUBY=/cygdribe/c/ruby
-# Use MinGW(-w64) cross compiler.
-# There are three MinGW packages in Cygwin:
-# 32-bit: mingw-gcc-g++ and mingw64-i686-gcc-g++
+# Use MinGW-w64 cross compiler.
+# There are two MinGW-w64 packages in Cygwin:
+# 32-bit: mingw64-i686-gcc-g++
# 64-bit: mingw64-x86_64-gcc-g++
# 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-
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index e439de351..bfc554553 100644
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -691,7 +691,7 @@ CFLAGS += -s
endif
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
OBJ = \
$(OUTDIR)/arabic.o \
@@ -737,9 +737,9 @@ OBJ = \
$(OUTDIR)/normal.o \
$(OUTDIR)/ops.o \
$(OUTDIR)/option.o \
- $(OUTDIR)/os_win32.o \
$(OUTDIR)/os_mswin.o \
- $(OUTDIR)/winclip.o \
+ $(OUTDIR)/os_w32exe.o \
+ $(OUTDIR)/os_win32.o \
$(OUTDIR)/pathdef.o \
$(OUTDIR)/popupmnu.o \
$(OUTDIR)/quickfix.o \
@@ -759,6 +759,7 @@ OBJ = \
$(OUTDIR)/userfunc.o \
$(OUTDIR)/version.o \
$(OUTDIR)/vimrc.o \
+ $(OUTDIR)/winclip.o \
$(OUTDIR)/window.o
ifdef PERL
@@ -865,6 +866,8 @@ ifdef MZSCHEME
MZSCHEME_SUFFIX = Z
endif
+LFLAGS += -municode
+
ifeq ($(GUI),yes)
TARGET := gvim$(DEBUG_SUFFIX).exe
DEFINES += $(DEF_GUI)
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index d71a3d382..c502dec8b 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -742,7 +742,7 @@ OBJ = \
$(OUTDIR)\ops.obj \
$(OUTDIR)\option.obj \
$(OUTDIR)\os_mswin.obj \
- $(OUTDIR)\winclip.obj \
+ $(OUTDIR)\os_w32exe.obj \
$(OUTDIR)\os_win32.obj \
$(OUTDIR)\pathdef.obj \
$(OUTDIR)\popupmnu.obj \
@@ -761,6 +761,7 @@ OBJ = \
$(OUTDIR)\ui.obj \
$(OUTDIR)\undo.obj \
$(OUTDIR)\userfunc.obj \
+ $(OUTDIR)\winclip.obj \
$(OUTDIR)\window.obj \
$(OUTDIR)\vim.res
@@ -799,8 +800,7 @@ GUI_INCL = \
GUI_OBJ = \
$(OUTDIR)\gui.obj \
$(OUTDIR)\gui_beval.obj \
- $(OUTDIR)\gui_w32.obj \
- $(OUTDIR)\os_w32exe.obj
+ $(OUTDIR)\gui_w32.obj
GUI_LIB = \
gdi32.lib version.lib $(IME_LIB) \
winspool.lib comctl32.lib advapi32.lib shell32.lib netapi32.lib \
diff --git a/src/main.c b/src/main.c
index 3041df9c2..a07ce1b83 100644
--- a/src/main.c
+++ b/src/main.c
@@ -96,7 +96,7 @@ static char_u *start_dir = NULL; /* current working dir on startup */
static int has_dash_c_arg = FALSE;
int
-# ifdef FEAT_GUI_MSWIN
+# ifdef MSWIN
# ifdef __BORLANDC__
_cdecl
# endif
diff --git a/src/os_w32exe.c b/src/os_w32exe.c
index 6c45ec2ea..769a85191 100644
--- a/src/os_w32exe.c
+++ b/src/os_w32exe.c
@@ -28,20 +28,22 @@ void _cdecl SaveInst(HINSTANCE hInst);
#endif
#ifndef PROTO
+# ifdef FEAT_GUI
int WINAPI
-WinMain(
+wWinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInst UNUSED,
- LPSTR lpszCmdLine UNUSED,
+ LPWSTR lpszCmdLine UNUSED,
int nCmdShow UNUSED)
+# else
+ int
+wmain(int argc UNUSED, wchar_t **argv UNUSED)
+# endif
{
- int argc = 0;
- char **argv = NULL;
-
# ifdef FEAT_GUI
SaveInst(hInstance);
# endif
- VimMain(argc, argv);
+ VimMain(0, NULL);
return 0;
}
diff --git a/src/version.c b/src/version.c
index 7228d13e3..3f8d347b4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1104,
+/**/
1103,
/**/
1102,