summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1230
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1230')
-rw-r--r--data/vim/patches/8.1.12305087
1 files changed, 0 insertions, 5087 deletions
diff --git a/data/vim/patches/8.1.1230 b/data/vim/patches/8.1.1230
deleted file mode 100644
index cf5780776..000000000
--- a/data/vim/patches/8.1.1230
+++ /dev/null
@@ -1,5087 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.1230
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.1230
-Problem: A lot of code is shared between vim.exe and gvim.exe.
-Solution: Optionally put the shared code in vim.dll. (Ken Takata,
- closes #4287)
-Files: Filelist, nsis/gvim.nsi, runtime/doc/gui_w32.txt,
- src/Make_cyg_ming.mak, src/Make_mvc.mak, src/channel.c,
- src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/feature.h,
- src/fileio.c, src/getchar.c, src/globals.h, src/gui.c, src/gui.h,
- src/gui_gtk_x11.c, src/gui_w32.c, src/if_mzsch.c, src/main.c,
- src/mbyte.c, src/memline.c, src/message.c, src/misc2.c,
- src/normal.c, src/option.c, src/os_mswin.c, src/os_w32dll.c,
- src/os_w32exe.c, src/os_win32.c, src/os_win32.h,
- src/proto/gui.pro, src/proto/gui_w32.pro, src/proto/misc2.pro,
- src/proto/os_mswin.pro, src/proto/os_win32.pro, src/syntax.c,
- src/term.c, src/terminal.c, src/ui.c, src/version.c, src/vim.rc
-
-
-*** ../vim-8.1.1229/Filelist 2019-04-27 13:03:20.000715982 +0200
---- Filelist 2019-04-28 18:55:14.804080057 +0200
-***************
-*** 454,459 ****
---- 454,460 ----
- src/iscygpty.h \
- src/iid_ole.c \
- src/os_dos.h \
-+ src/os_w32dll.c \
- src/os_w32exe.c \
- src/os_win32.c \
- src/os_mswin.c \
-*** ../vim-8.1.1229/nsis/gvim.nsi 2019-04-12 21:29:30.213641315 +0200
---- nsis/gvim.nsi 2019-04-28 18:55:14.804080057 +0200
-***************
-*** 322,327 ****
---- 322,330 ----
-
- SetOutPath $0
- File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
-+ !if /FileExists "${VIMSRC}\vim${BIT}.dll"
-+ File ${VIMSRC}\vim${BIT}.dll
-+ !endif
- File /oname=install.exe ${VIMSRC}\installw32.exe
- File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
- File ${VIMSRC}\vimrun.exe
-*** ../vim-8.1.1229/runtime/doc/gui_w32.txt 2018-05-17 13:41:40.000000000 +0200
---- runtime/doc/gui_w32.txt 2019-04-28 19:12:44.911186981 +0200
-***************
-*** 31,36 ****
---- 31,47 ----
- return with a command prompt after starting gvim. If not, you should use the
- "start" command: >
- start gvim [options] file ..
-+ < *E988*
-+ The console version with the |-g| option may also start the GUI by executing
-+ gvim.exe: >
-+ vim -g [options] file ..
-+ To make this work, gvim.exe must exist in the same directory as the vim.exe,
-+ and this feature must be enabled at compile time.
-+
-+ One may also use `:gui` from the console version. However, this is an
-+ experimental feature and this feature must be enabled at compile time.
-+ It uses a session file to recreate the current state of the console Vim in the
-+ GUI Vim.
-
- Note: All fonts (bold, italic) must be of the same size!!! If you don't do
- this, text will disappear or mess up the display. Vim does not check the font
-***************
-*** 442,448 ****
-
- XPM support *w32-xpm-support*
-
-! Gvim can be build on MS-Windows with support for XPM files. |+xpm_w32|
- See the Make_mvc.mak file for instructions, search for XPM.
-
- To try out if XPM support works do this: >
---- 453,459 ----
-
- XPM support *w32-xpm-support*
-
-! GVim can be build on MS-Windows with support for XPM files. |+xpm_w32|
- See the Make_mvc.mak file for instructions, search for XPM.
-
- To try out if XPM support works do this: >
-*** ../vim-8.1.1229/src/Make_cyg_ming.mak 2019-04-27 13:03:20.000715982 +0200
---- src/Make_cyg_ming.mak 2019-04-28 18:55:14.804080057 +0200
-***************
-*** 36,42 ****
- DEBUG=no
-
- # set to yes to create a mapfile
-! # MAP=yes
-
- # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
- OPTIMIZE=MAXSPEED
---- 36,42 ----
- DEBUG=no
-
- # set to yes to create a mapfile
-! #MAP=yes
-
- # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
- OPTIMIZE=MAXSPEED
-***************
-*** 44,49 ****
---- 44,54 ----
- # set to yes to make gvim, no for vim
- GUI=yes
-
-+ # set to yes to enable the DLL support (EXPERIMENTAL).
-+ # Creates vim{32,64}.dll, and stub gvim.exe and vim.exe.
-+ # "GUI" should be also set to "yes".
-+ #VIMDLL=yes
-+
- # set to no if you do not want to use DirectWrite (DirectX)
- # MinGW-w64 is needed, and ARCH should be set to i686 or x86-64.
- DIRECTX=yes
-***************
-*** 687,693 ****
- CFLAGS += -O2
- endif
- endif
-! CFLAGS += -s
- endif
-
- LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lnetapi32 -lversion
---- 692,698 ----
- CFLAGS += -O2
- endif
- endif
-! LFLAGS += -s
- endif
-
- LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lnetapi32 -lversion
-***************
-*** 739,745 ****
- $(OUTDIR)/ops.o \
- $(OUTDIR)/option.o \
- $(OUTDIR)/os_mswin.o \
-- $(OUTDIR)/os_w32exe.o \
- $(OUTDIR)/os_win32.o \
- $(OUTDIR)/pathdef.o \
- $(OUTDIR)/popupmnu.o \
---- 744,749 ----
-***************
-*** 760,769 ****
- $(OUTDIR)/usercmd.o \
- $(OUTDIR)/userfunc.o \
- $(OUTDIR)/version.o \
-- $(OUTDIR)/vimrc.o \
- $(OUTDIR)/winclip.o \
- $(OUTDIR)/window.o
-
- ifdef PERL
- OBJ += $(OUTDIR)/if_perl.o
- endif
---- 764,780 ----
- $(OUTDIR)/usercmd.o \
- $(OUTDIR)/userfunc.o \
- $(OUTDIR)/version.o \
- $(OUTDIR)/winclip.o \
- $(OUTDIR)/window.o
-
-+ ifeq ($(VIMDLL),yes)
-+ OBJ += $(OUTDIR)/os_w32dll.o $(OUTDIR)/vimrcd.o
-+ EXEOBJC = $(OUTDIR)/os_w32exec.o $(OUTDIR)/vimrcc.o
-+ EXEOBJG = $(OUTDIR)/os_w32exeg.o $(OUTDIR)/vimrcg.o
-+ else
-+ OBJ += $(OUTDIR)/os_w32exe.o $(OUTDIR)/vimrc.o
-+ endif
-+
- ifdef PERL
- OBJ += $(OUTDIR)/if_perl.o
- endif
-***************
-*** 870,885 ****
-
- LFLAGS += -municode
-
-! ifeq ($(GUI),yes)
- TARGET := gvim$(DEBUG_SUFFIX).exe
- DEFINES += $(DEF_GUI)
- OBJ += $(GUIOBJ)
- LFLAGS += -mwindows
- OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
- else
- OBJ += $(CUIOBJ)
- TARGET := vim$(DEBUG_SUFFIX).exe
- OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
- endif
-
- ifdef GETTEXT
---- 881,916 ----
-
- LFLAGS += -municode
-
-! ifeq ($(VIMDLL),yes)
-! VIMEXE := vim$(DEBUG_SUFFIX).exe
-! GVIMEXE := gvim$(DEBUG_SUFFIX).exe
-! ifeq ($(ARCH),x86-64)
-! VIMDLLBASE := vim64$(DEBUG_SUFFIX)
-! else
-! VIMDLLBASE := vim32$(DEBUG_SUFFIX)
-! endif
-! TARGET = $(VIMDLLBASE).dll
-! LFLAGS += -shared
-! EXELFLAGS += -municode
-! ifneq ($(DEBUG),yes)
-! EXELFLAGS += -s
-! endif
-! DEFINES += $(DEF_GUI) -DVIMDLL
-! OBJ += $(GUIOBJ) $(CUIOBJ)
-! OUTDIR = dobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
-! MAIN_TARGET = $(GVIMEXE) $(VIMEXE) $(VIMDLLBASE).dll
-! else ifeq ($(GUI),yes)
- TARGET := gvim$(DEBUG_SUFFIX).exe
- DEFINES += $(DEF_GUI)
- OBJ += $(GUIOBJ)
- LFLAGS += -mwindows
- OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
-+ MAIN_TARGET = $(TARGET)
- else
- OBJ += $(CUIOBJ)
- TARGET := vim$(DEBUG_SUFFIX).exe
- OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
-+ MAIN_TARGET = $(TARGET)
- endif
-
- ifdef GETTEXT
-***************
-*** 955,961 ****
- LFLAGS += -Wl,-Map=$(TARGET).map
- endif
-
-! all: $(TARGET) vimrun.exe xxd/xxd.exe tee/tee.exe install.exe uninstal.exe GvimExt/gvimext.dll
-
- vimrun.exe: vimrun.c
- $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB)
---- 986,992 ----
- LFLAGS += -Wl,-Map=$(TARGET).map
- endif
-
-! all: $(MAIN_TARGET) vimrun.exe xxd/xxd.exe tee/tee.exe install.exe uninstal.exe GvimExt/gvimext.dll
-
- vimrun.exe: vimrun.c
- $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB)
-***************
-*** 966,973 ****
---- 997,1015 ----
- uninstal.exe: uninstal.c
- $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
-
-+ ifeq ($(VIMDLL),yes)
-+ $(TARGET): $(OUTDIR) $(OBJ)
-+ $(LINK) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid -lgdi32 $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
-+
-+ $(GVIMEXE): $(OUTDIR) $(EXEOBJG) $(VIMDLLBASE).dll
-+ $(CC) -L. $(EXELFLAGS) -mwindows -o $@ $(EXEOBJG) -l$(VIMDLLBASE)
-+
-+ $(VIMEXE): $(OUTDIR) $(EXEOBJC) $(VIMDLLBASE).dll
-+ $(CC) -L. $(EXELFLAGS) -o $@ $(EXEOBJC) -l$(VIMDLLBASE)
-+ else
- $(TARGET): $(OUTDIR) $(OBJ)
- $(LINK) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
-+ endif
-
- upx: exes
- upx gvim.exe
-***************
-*** 996,1002 ****
- -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
- -$(DEL) $(OUTDIR)$(DIRSLASH)*.res
- -rmdir $(OUTDIR)
-! -$(DEL) $(TARGET) vimrun.exe install.exe uninstal.exe
- -$(DEL) pathdef.c
- ifdef PERL
- -$(DEL) if_perl.c
---- 1038,1044 ----
- -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
- -$(DEL) $(OUTDIR)$(DIRSLASH)*.res
- -rmdir $(OUTDIR)
-! -$(DEL) $(MAIN_TARGET) vimrun.exe install.exe uninstal.exe
- -$(DEL) pathdef.c
- ifdef PERL
- -$(DEL) if_perl.c
-***************
-*** 1025,1098 ****
- $(OUTDIR)/%.o : %.c $(INCL)
- $(CC) -c $(CFLAGS) $< -o $@
-
-! $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
- $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
- --input-format=rc --output-format=coff -i vim.rc -o $@
-
- $(OUTDIR):
- $(MKDIR) $(OUTDIR)
-
- $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
-! $(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
-
- $(OUTDIR)/gui.o: gui.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) gui.c -o $(OUTDIR)/gui.o
-
- $(OUTDIR)/beval.o: beval.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) beval.c -o $(OUTDIR)/beval.o
-
- $(OUTDIR)/gui_beval.o: gui_beval.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) gui_beval.c -o $(OUTDIR)/gui_beval.o
-
- $(OUTDIR)/gui_w32.o: gui_w32.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
-
- $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
-! $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
-
- $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) $(MZSCHEME_INCL) $(MZ_EXTRA_DEP)
-! $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
-
- mzscheme_base.c:
- $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
-
- # Remove -D__IID_DEFINED__ for newer versions of the w32api
- $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) if_ole.h
-! $(CC) $(CFLAGS) $(CXXFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
-
- auto/if_perl.c: if_perl.xs typemap
- $(XSUBPP) -prototypes -typemap \
- $(PERLTYPEMAP) if_perl.xs -output $@
-
- $(OUTDIR)/if_perl.o: auto/if_perl.c $(INCL)
-! $(CC) -c $(CFLAGS) auto/if_perl.c -o $(OUTDIR)/if_perl.o
-
-
- $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
- ifeq (16, $(RUBY))
-! $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
- endif
-
- $(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL)
- $(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
-
- $(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
-! $(CC) -c $(CFLAGS) main.c -o $(OUTDIR)/main.o
-
- $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
-! $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
-
- $(OUTDIR)/os_win32.o: os_win32.c $(INCL) $(MZSCHEME_INCL)
-! $(CC) -c $(CFLAGS) os_win32.c -o $(OUTDIR)/os_win32.o
-
- $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
-! $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
-
- $(OUTDIR)/terminal.o: terminal.c $(INCL) $(TERM_DEPS)
-! $(CC) -c $(CFLAGS) terminal.c -o $(OUTDIR)/terminal.o
-!
-! $(OUTDIR)/textprop.o: textprop.c $(INCL)
-! $(CC) -c $(CFLAGS) textprop.c -o $(OUTDIR)/textprop.o
-
-
- CCCTERM = $(CC) -c $(CFLAGS) -Ilibvterm/include -DINLINE="" \
---- 1067,1161 ----
- $(OUTDIR)/%.o : %.c $(INCL)
- $(CC) -c $(CFLAGS) $< -o $@
-
-! ifeq ($(VIMDLL),yes)
-! $(OUTDIR)/vimrcc.o: vim.rc gvim.exe.mnf version.h gui_w32_rc.h vim.ico
-! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) -UFEAT_GUI_MSWIN \
-! --input-format=rc --output-format=coff -i vim.rc -o $@
-!
-! $(OUTDIR)/vimrcg.o: vim.rc gvim.exe.mnf version.h gui_w32_rc.h vim.ico
-! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
-! --input-format=rc --output-format=coff -i vim.rc -o $@
-!
-! $(OUTDIR)/vimrcd.o: vim.rc version.h gui_w32_rc.h \
-! tools.bmp tearoff.bmp vim.ico vim_error.ico \
-! vim_alert.ico vim_info.ico vim_quest.ico
-! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) -DRCDLL -DVIMDLLBASE=\\\"$(VIMDLLBASE)\\\" \
-! --input-format=rc --output-format=coff -i vim.rc -o $@
-! else
-! $(OUTDIR)/vimrc.o: vim.rc gvim.exe.mnf version.h gui_w32_rc.h \
-! tools.bmp tearoff.bmp vim.ico vim_error.ico \
-! vim_alert.ico vim_info.ico vim_quest.ico
- $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
- --input-format=rc --output-format=coff -i vim.rc -o $@
-+ endif
-
- $(OUTDIR):
- $(MKDIR) $(OUTDIR)
-
- $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
-! $(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $@
-
- $(OUTDIR)/gui.o: gui.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) gui.c -o $@
-
- $(OUTDIR)/beval.o: beval.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) beval.c -o $@
-
- $(OUTDIR)/gui_beval.o: gui_beval.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) gui_beval.c -o $@
-
- $(OUTDIR)/gui_w32.o: gui_w32.c $(INCL) $(GUI_INCL)
-! $(CC) -c $(CFLAGS) gui_w32.c -o $@
-
- $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
-! $(CC) -c $(CFLAGS) if_cscope.c -o $@
-
- $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) $(MZSCHEME_INCL) $(MZ_EXTRA_DEP)
-! $(CC) -c $(CFLAGS) if_mzsch.c -o $@
-
- mzscheme_base.c:
- $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
-
- # Remove -D__IID_DEFINED__ for newer versions of the w32api
- $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) if_ole.h
-! $(CC) -c $(CFLAGS) $(CXXFLAGS) if_ole.cpp -o $@
-
- auto/if_perl.c: if_perl.xs typemap
- $(XSUBPP) -prototypes -typemap \
- $(PERLTYPEMAP) if_perl.xs -output $@
-
- $(OUTDIR)/if_perl.o: auto/if_perl.c $(INCL)
-! $(CC) -c $(CFLAGS) auto/if_perl.c -o $@
-
-
- $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
- ifeq (16, $(RUBY))
-! $(CC) $(CFLAGS) -U_WIN32 -c -o $@ if_ruby.c
- endif
-
- $(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL)
- $(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
-
- $(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
-! $(CC) -c $(CFLAGS) main.c -o $@
-
- $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
-! $(CC) -c $(CFLAGS) netbeans.c -o $@
-!
-! $(OUTDIR)/os_w32exec.o: os_w32exe.c $(INCL)
-! $(CC) -c $(CFLAGS) -UFEAT_GUI_MSWIN os_w32exe.c -o $@
-!
-! $(OUTDIR)/os_w32exeg.o: os_w32exe.c $(INCL)
-! $(CC) -c $(CFLAGS) os_w32exe.c -o $@
-
- $(OUTDIR)/os_win32.o: os_win32.c $(INCL) $(MZSCHEME_INCL)
-! $(CC) -c $(CFLAGS) os_win32.c -o $@
-
- $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
-! $(CC) -c $(CFLAGS) regexp.c -o $@
-
- $(OUTDIR)/terminal.o: terminal.c $(INCL) $(TERM_DEPS)
-! $(CC) -c $(CFLAGS) terminal.c -o $@
-
-
- CCCTERM = $(CC) -c $(CFLAGS) -Ilibvterm/include -DINLINE="" \
-***************
-*** 1100,1149 ****
- -DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
- -DWCWIDTH_FUNCTION=utf_uint2cells
-
-! $(OUTDIR)/encoding.o: libvterm/src/encoding.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/encoding.c -o $@
-!
-! $(OUTDIR)/keyboard.o: libvterm/src/keyboard.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/keyboard.c -o $@
-!
-! $(OUTDIR)/mouse.o: libvterm/src/mouse.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/mouse.c -o $@
-!
-! $(OUTDIR)/parser.o: libvterm/src/parser.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/parser.c -o $@
-!
-! $(OUTDIR)/pen.o: libvterm/src/pen.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/pen.c -o $@
-
-- $(OUTDIR)/termscreen.o: libvterm/src/termscreen.c $(TERM_DEPS)
-- $(CCCTERM) libvterm/src/termscreen.c -o $@
-
-! $(OUTDIR)/state.o: libvterm/src/state.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/state.c -o $@
-!
-! $(OUTDIR)/unicode.o: libvterm/src/unicode.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/unicode.c -o $@
-!
-! $(OUTDIR)/vterm.o: libvterm/src/vterm.c $(TERM_DEPS)
-! $(CCCTERM) libvterm/src/vterm.c -o $@
-!
-! $(OUTDIR)/xdiffi.o: xdiff/xdiffi.c $(XDIFF_DEPS)
-! $(CC) -c $(CFLAGS) xdiff/xdiffi.c -o $(OUTDIR)/xdiffi.o
-!
-! $(OUTDIR)/xemit.o: xdiff/xemit.c $(XDIFF_DEPS)
-! $(CC) -c $(CFLAGS) xdiff/xemit.c -o $(OUTDIR)/xemit.o
-!
-! $(OUTDIR)/xprepare.o: xdiff/xprepare.c $(XDIFF_DEPS)
-! $(CC) -c $(CFLAGS) xdiff/xprepare.c -o $(OUTDIR)/xprepare.o
-!
-! $(OUTDIR)/xutils.o: xdiff/xutils.c $(XDIFF_DEPS)
-! $(CC) -c $(CFLAGS) xdiff/xutils.c -o $(OUTDIR)/xutils.o
-!
-! $(OUTDIR)/xhistogram.o: xdiff/xhistogram.c $(XDIFF_DEPS)
-! $(CC) -c $(CFLAGS) xdiff/xhistogram.c -o $(OUTDIR)/xhistogram.o
-
-- $(OUTDIR)/xpatience.o: xdiff/xpatience.c $(XDIFF_DEPS)
-- $(CC) -c $(CFLAGS) xdiff/xpatience.c -o $(OUTDIR)/xpatience.o
-
- pathdef.c: $(INCL)
- ifneq (sh.exe, $(SHELL))
---- 1163,1175 ----
- -DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
- -DWCWIDTH_FUNCTION=utf_uint2cells
-
-! $(OUTDIR)/%.o : libvterm/src/%.c $(TERM_DEPS)
-! $(CCCTERM) $< -o $@
-
-
-! $(OUTDIR)/%.o : xdiff/%.c $(XDIFF_DEPS)
-! $(CC) -c $(CFLAGS) $< -o $@
-
-
- pathdef.c: $(INCL)
- ifneq (sh.exe, $(SHELL))
-*** ../vim-8.1.1229/src/Make_mvc.mak 2019-04-27 13:03:20.000715982 +0200
---- src/Make_mvc.mak 2019-04-28 18:55:14.804080057 +0200
-***************
-*** 40,45 ****
---- 40,51 ----
- #
- # Terminal support: TERMINAL=yes (default is yes)
- #
-+ # DLL support (EXPERIMENTAL): VIMDLL=yes (default is no)
-+ # Creates vim{32,64}.dll, and stub gvim.exe and vim.exe.
-+ # The shared codes between the GUI and the console are built into
-+ # the DLL. This reduces the total file size and memory usage.
-+ # Also supports `vim -g` and the `:gui` command.
-+ #
- # Lua interface:
- # LUA=[Path to Lua directory]
- # DYNAMIC_LUA=yes (to load the Lua DLL dynamically)
-***************
-*** 178,183 ****
---- 184,193 ----
-
- TARGETOS = WINNT
-
-+ !if "$(VIMDLL)" == "yes"
-+ GUI = yes
-+ !endif
-+
- !ifndef DIRECTX
- DIRECTX = $(GUI)
- !endif
-***************
-*** 185,191 ****
- # Select one of eight object code directories, depends on GUI, OLE, DEBUG and
- # interfaces.
- # If you change something else, do "make clean" first!
-! !if "$(GUI)" == "yes"
- OBJDIR = .\ObjG
- !else
- OBJDIR = .\ObjC
---- 195,203 ----
- # Select one of eight object code directories, depends on GUI, OLE, DEBUG and
- # interfaces.
- # If you change something else, do "make clean" first!
-! !if "$(VIMDLL)" == "yes"
-! OBJDIR = .\ObjD
-! !elseif "$(GUI)" == "yes"
- OBJDIR = .\ObjG
- !else
- OBJDIR = .\ObjC
-***************
-*** 410,416 ****
- !endif
- !endif
-
-! # GUI sepcific features.
- !if "$(GUI)" == "yes"
- # Only allow NETBEANS for a GUI build and CHANNEL.
- !if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
---- 422,428 ----
- !endif
- !endif
-
-! # GUI specific features.
- !if "$(GUI)" == "yes"
- # Only allow NETBEANS for a GUI build and CHANNEL.
- !if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
-***************
-*** 461,467 ****
- XPM_OBJ = $(OBJDIR)/xpm_w32.obj
- XPM_DEFS = -DFEAT_XPM_W32
- !if $(MSVC_MAJOR) >= 14
-! # VC14 cannot use a library built by VC12 or eariler, because VC14 uses
- # Universal CRT.
- XPM_LIB = $(XPM)\lib-vc14\libXpm.lib
- !else
---- 473,479 ----
- XPM_OBJ = $(OBJDIR)/xpm_w32.obj
- XPM_DEFS = -DFEAT_XPM_W32
- !if $(MSVC_MAJOR) >= 14
-! # VC14 cannot use a library built by VC12 or earlier, because VC14 uses
- # Universal CRT.
- XPM_LIB = $(XPM)\lib-vc14\libXpm.lib
- !else
-***************
-*** 566,572 ****
- # VC<11 generates fp87 code by default
- ! if $(MSVC_MAJOR) < 11
- CPUARG =
-! # VC>=11 needs explicit insturctions to generate fp87 code
- ! else
- CPUARG = /arch:IA32
- ! endif
---- 578,584 ----
- # VC<11 generates fp87 code by default
- ! if $(MSVC_MAJOR) < 11
- CPUARG =
-! # VC>=11 needs explicit instructions to generate fp87 code
- ! else
- CPUARG = /arch:IA32
- ! endif
-***************
-*** 612,617 ****
---- 624,640 ----
- # Pass CPUARG to GvimExt, to avoid using version-dependent defaults
- MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) CPUARG="$(CPUARG)"
-
-+ !if "$(VIMDLL)" == "yes"
-+ VIMDLLBASE = vim
-+ ! if "$(ASSEMBLY_ARCHITECTURE)" == "i386"
-+ VIMDLLBASE = $(VIMDLLBASE)32
-+ ! else
-+ VIMDLLBASE = $(VIMDLLBASE)64
-+ ! endif
-+ ! if "$(DEBUG)" == "yes"
-+ VIMDLLBASE = $(VIMDLLBASE)d
-+ ! endif
-+ !endif
-
- LIBC =
- DEBUGINFO = /Zi
-***************
-*** 747,753 ****
- $(OUTDIR)\ops.obj \
- $(OUTDIR)\option.obj \
- $(OUTDIR)\os_mswin.obj \
-- $(OUTDIR)\os_w32exe.obj \
- $(OUTDIR)\os_win32.obj \
- $(OUTDIR)\pathdef.obj \
- $(OUTDIR)\popupmnu.obj \
---- 770,775 ----
-***************
-*** 769,775 ****
- $(OUTDIR)\userfunc.obj \
- $(OUTDIR)\winclip.obj \
- $(OUTDIR)\window.obj \
-! $(OUTDIR)\vim.res
-
- !if "$(OLE)" == "yes"
- CFLAGS = $(CFLAGS) -DFEAT_OLE
---- 791,805 ----
- $(OUTDIR)\userfunc.obj \
- $(OUTDIR)\winclip.obj \
- $(OUTDIR)\window.obj \
-!
-! !if "$(VIMDLL)" == "yes"
-! OBJ = $(OBJ) $(OUTDIR)\os_w32dll.obj $(OUTDIR)\vimd.res
-! EXEOBJC = $(OUTDIR)\os_w32exec.obj $(OUTDIR)\vimc.res
-! EXEOBJG = $(OUTDIR)\os_w32exeg.obj $(OUTDIR)\vimg.res
-! CFLAGS = $(CFLAGS) -DVIMDLL
-! !else
-! OBJ = $(OBJ) $(OUTDIR)\os_w32exe.obj $(OUTDIR)\vim.res
-! !endif
-
- !if "$(OLE)" == "yes"
- CFLAGS = $(CFLAGS) -DFEAT_OLE
-***************
-*** 800,806 ****
---- 830,844 ----
- SUBSYSTEM = windows
- CFLAGS = $(CFLAGS) -DFEAT_GUI_MSWIN
- RCFLAGS = $(RCFLAGS) -DFEAT_GUI_MSWIN
-+ ! if "$(VIMDLL)" == "yes"
-+ SUBSYSTEM_CON = console
-+ GVIM = g$(VIM)
-+ CUI_INCL = iscygpty.h
-+ CUI_OBJ = $(OUTDIR)\iscygpty.obj
-+ RCFLAGS = $(RCFLAGS) -DVIMDLL
-+ ! else
- VIM = g$(VIM)
-+ ! endif
- GUI_INCL = \
- gui.h
- GUI_OBJ = \
-***************
-*** 839,844 ****
---- 877,885 ----
- !if "$(SUBSYSTEM_VER)" != ""
- SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
- SUBSYSTEM_TOOLS = $(SUBSYSTEM_TOOLS),$(SUBSYSTEM_VER)
-+ ! if "$(VIMDLL)" != "yes"
-+ SUBSYSTEM_CON = $(SUBSYSTEM_CON),$(SUBSYSTEM_VER)
-+ ! endif
- # Pass SUBSYSTEM_VER to GvimExt and other tools
- MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) SUBSYSTEM_VER=$(SUBSYSTEM_VER)
- MAKEFLAGS_TOOLS = $(MAKEFLAGS_TOOLS) SUBSYSTEM_VER=$(SUBSYSTEM_VER)
-***************
-*** 1174,1180 ****
---- 1215,1225 ----
- # debug more conveniently (able to look at variables which are in registers)
- #
- CFLAGS = $(CFLAGS) /Fd$(OUTDIR)/ $(DEBUGINFO)
-+ !if "$(VIMDLL)" == "yes"
-+ LINK_PDB = /PDB:$(VIMDLLBASE).pdb -debug
-+ !else
- LINK_PDB = /PDB:$(VIM).pdb -debug
-+ !endif
-
- #
- # End extra feature include
-***************
-*** 1186,1192 ****
-
- # Add /opt:ref to remove unreferenced functions and data even when /DEBUG is
- # added.
-! conflags = /nologo /subsystem:$(SUBSYSTEM) /opt:ref
-
- PATHDEF_SRC = $(OUTDIR)\pathdef.c
-
---- 1231,1237 ----
-
- # Add /opt:ref to remove unreferenced functions and data even when /DEBUG is
- # added.
-! conflags = /nologo /opt:ref
-
- PATHDEF_SRC = $(OUTDIR)\pathdef.c
-
-***************
-*** 1219,1225 ****
- LINKARGS1 = $(LINKARGS1) /HIGHENTROPYVA:NO
- !endif
-
-! all: $(VIM).exe \
- vimrun.exe \
- install.exe \
- uninstal.exe \
---- 1264,1276 ----
- LINKARGS1 = $(LINKARGS1) /HIGHENTROPYVA:NO
- !endif
-
-! !if "$(VIMDLL)" == "yes"
-! MAIN_TARGET = $(GVIM).exe $(VIM).exe $(VIMDLLBASE).dll
-! !else
-! MAIN_TARGET = $(VIM).exe
-! !endif
-!
-! all: $(MAIN_TARGET) \
- vimrun.exe \
- install.exe \
- uninstal.exe \
-***************
-*** 1227,1243 ****
- tee/tee.exe \
- GvimExt/gvimext.dll
-
- $(VIM).exe: $(OUTDIR) $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
- $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
- $(CSCOPE_OBJ) $(TERM_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
- version.c version.h
- $(CC) $(CFLAGS_OUTDIR) version.c
-! $(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) \
- $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
- $(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
- $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
- if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
-
- $(VIM): $(VIM).exe
-
- $(OUTDIR):
---- 1278,1318 ----
- tee/tee.exe \
- GvimExt/gvimext.dll
-
-+ !if "$(VIMDLL)" == "yes"
-+
-+ $(VIMDLLBASE).dll: $(OUTDIR) $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
-+ $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
-+ $(CSCOPE_OBJ) $(TERM_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
-+ version.c version.h
-+ $(CC) $(CFLAGS_OUTDIR) version.c
-+ $(link) $(LINKARGS1) /dll -out:$(VIMDLLBASE).dll $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) \
-+ $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
-+ $(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
-+ $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
-+
-+ $(GVIM).exe: $(OUTDIR) $(EXEOBJG) $(VIMDLLBASE).dll
-+ $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(GVIM).exe $(EXEOBJG) $(VIMDLLBASE).lib $(LIBC)
-+ if exist $(GVIM).exe.manifest mt.exe -nologo -manifest $(GVIM).exe.manifest -updateresource:$(GVIM).exe;1
-+
-+ $(VIM).exe: $(OUTDIR) $(EXEOBJC) $(VIMDLLBASE).dll
-+ $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM_CON) -out:$(VIM).exe $(EXEOBJC) $(VIMDLLBASE).lib $(LIBC)
-+ if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
-+
-+ !else
-+
- $(VIM).exe: $(OUTDIR) $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
- $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
- $(CSCOPE_OBJ) $(TERM_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
- version.c version.h
- $(CC) $(CFLAGS_OUTDIR) version.c
-! $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(VIM).exe $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) \
- $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
- $(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
- $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
- if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
-
-+ !endif
-+
- $(VIM): $(VIM).exe
-
- $(OUTDIR):
-***************
-*** 1287,1292 ****
---- 1362,1376 ----
- - if exist $(VIM).pdb del $(VIM).pdb
- - if exist $(VIM).map del $(VIM).map
- - if exist $(VIM).ncb del $(VIM).ncb
-+ !if "$(VIMDLL)" == "yes"
-+ - if exist $(GVIM).exe del $(GVIM).exe
-+ - if exist $(GVIM).map del $(GVIM).map
-+ - if exist $(VIMDLLBASE).dll del $(VIMDLLBASE).dll
-+ - if exist $(VIMDLLBASE).lib del $(VIMDLLBASE).lib
-+ - if exist $(VIMDLLBASE).exp del $(VIMDLLBASE).exp
-+ - if exist $(VIMDLLBASE).pdb del $(VIMDLLBASE).pdb
-+ - if exist $(VIMDLLBASE).map del $(VIMDLLBASE).map
-+ !endif
- - if exist vimrun.exe del vimrun.exe
- - if exist install.exe del install.exe
- - if exist uninstal.exe del uninstal.exe
-***************
-*** 1334,1354 ****
- ###########################################################################
-
- # Create a default rule for transforming .c files to .obj files in $(OUTDIR)
-- # Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later)
-- !IF "$(_NMAKE_VER)" == ""
-- .c{$(OUTDIR)/}.obj:
-- !ELSE
- .c{$(OUTDIR)/}.obj::
-! !ENDIF
- $(CC) $(CFLAGS_OUTDIR) $<
-
- # Create a default rule for transforming .cpp files to .obj files in $(OUTDIR)
-- # Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later)
-- !IF "$(_NMAKE_VER)" == ""
-- .cpp{$(OUTDIR)/}.obj:
-- !ELSE
- .cpp{$(OUTDIR)/}.obj::
-- !ENDIF
- $(CC) $(CFLAGS_OUTDIR) $<
-
- $(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
---- 1418,1432 ----
- ###########################################################################
-
- # Create a default rule for transforming .c files to .obj files in $(OUTDIR)
- .c{$(OUTDIR)/}.obj::
-! $(CC) $(CFLAGS_OUTDIR) $<
-!
-! # Create a default rule for xdiff.
-! {xdiff/}.c{$(OUTDIR)/}.obj::
- $(CC) $(CFLAGS_OUTDIR) $<
-
- # Create a default rule for transforming .cpp files to .obj files in $(OUTDIR)
- .cpp{$(OUTDIR)/}.obj::
- $(CC) $(CFLAGS_OUTDIR) $<
-
- $(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
-***************
-*** 1376,1397 ****
- $(OUTDIR)/diff.obj: $(OUTDIR) diff.c $(INCL)
-
- $(OUTDIR)/xdiffi.obj: $(OUTDIR) xdiff/xdiffi.c $(XDIFF_DEPS)
-- $(CC) $(CFLAGS_OUTDIR) xdiff/xdiffi.c
-
- $(OUTDIR)/xemit.obj: $(OUTDIR) xdiff/xemit.c $(XDIFF_DEPS)
-- $(CC) $(CFLAGS_OUTDIR) xdiff/xemit.c
-
- $(OUTDIR)/xprepare.obj: $(OUTDIR) xdiff/xprepare.c $(XDIFF_DEPS)
-- $(CC) $(CFLAGS_OUTDIR) xdiff/xprepare.c
-
- $(OUTDIR)/xutils.obj: $(OUTDIR) xdiff/xutils.c $(XDIFF_DEPS)
-- $(CC) $(CFLAGS_OUTDIR) xdiff/xutils.c
-
- $(OUTDIR)/xhistogram.obj: $(OUTDIR) xdiff/xhistogram.c $(XDIFF_DEPS)
-- $(CC) $(CFLAGS_OUTDIR) xdiff/xhistogram.c
-
- $(OUTDIR)/xpatience.obj: $(OUTDIR) xdiff/xpatience.c $(XDIFF_DEPS)
-- $(CC) $(CFLAGS_OUTDIR) xdiff/xpatience.c
-
- $(OUTDIR)/digraph.obj: $(OUTDIR) digraph.c $(INCL)
-
---- 1454,1469 ----
-***************
-*** 1516,1523 ****
---- 1588,1603 ----
-
- $(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) $(MZSCHEME_INCL)
-
-+ $(OUTDIR)/os_w32dll.obj: $(OUTDIR) os_w32dll.c
-+
- $(OUTDIR)/os_w32exe.obj: $(OUTDIR) os_w32exe.c $(INCL)
-
-+ $(OUTDIR)/os_w32exec.obj: $(OUTDIR) os_w32exe.c $(INCL)
-+ $(CC) $(CFLAGS:-DFEAT_GUI_MSWIN=) /Fo$@ os_w32exe.c
-+
-+ $(OUTDIR)/os_w32exeg.obj: $(OUTDIR) os_w32exe.c $(INCL)
-+ $(CC) $(CFLAGS) /Fo$@ os_w32exe.c
-+
- $(OUTDIR)/pathdef.obj: $(OUTDIR) $(PATHDEF_SRC) $(INCL)
- $(CC) $(CFLAGS_OUTDIR) $(PATHDEF_SRC)
-
-***************
-*** 1560,1569 ****
- $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
- $(CC) $(CFLAGS_OUTDIR) $(XPM_INC) xpm_w32.c
-
-! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp \
-! tearoff.bmp vim.ico vim_error.ico \
- vim_alert.ico vim_info.ico vim_quest.ico
-! $(RC) /nologo /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
-
- iid_ole.c if_ole.h vim.tlb: if_ole.idl
- midl /nologo /error none /proxy nul /iid iid_ole.c /tlb vim.tlb \
---- 1640,1664 ----
- $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
- $(CC) $(CFLAGS_OUTDIR) $(XPM_INC) xpm_w32.c
-
-! !if "$(VIMDLL)" == "yes"
-! $(OUTDIR)/vimc.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h gui_w32_rc.h \
-! vim.ico
-! $(RC) /nologo /l 0x409 /Fo$@ $(RCFLAGS:-DFEAT_GUI_MSWIN=) vim.rc
-!
-! $(OUTDIR)/vimg.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h gui_w32_rc.h \
-! vim.ico
-! $(RC) /nologo /l 0x409 /Fo$@ $(RCFLAGS) vim.rc
-!
-! $(OUTDIR)/vimd.res: $(OUTDIR) vim.rc version.h gui_w32_rc.h \
-! tools.bmp tearoff.bmp vim.ico vim_error.ico \
-! vim_alert.ico vim_info.ico vim_quest.ico
-! $(RC) /nologo /l 0x409 /Fo$@ $(RCFLAGS) -DRCDLL -DVIMDLLBASE=\"$(VIMDLLBASE)\" vim.rc
-! !else
-! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h gui_w32_rc.h \
-! tools.bmp tearoff.bmp vim.ico vim_error.ico \
- vim_alert.ico vim_info.ico vim_quest.ico
-! $(RC) /nologo /l 0x409 /Fo$@ $(RCFLAGS) vim.rc
-! !endif
-
- iid_ole.c if_ole.h vim.tlb: if_ole.idl
- midl /nologo /error none /proxy nul /iid iid_ole.c /tlb vim.tlb \
-***************
-*** 1583,1614 ****
- -DWCWIDTH_FUNCTION=utf_uint2cells \
- -D_CRT_SECURE_NO_WARNINGS
-
- $(OUTDIR)/encoding.obj: $(OUTDIR) libvterm/src/encoding.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/encoding.c
-
- $(OUTDIR)/keyboard.obj: $(OUTDIR) libvterm/src/keyboard.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/keyboard.c
-
- $(OUTDIR)/mouse.obj: $(OUTDIR) libvterm/src/mouse.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/mouse.c
-
- $(OUTDIR)/parser.obj: $(OUTDIR) libvterm/src/parser.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/parser.c
-
- $(OUTDIR)/pen.obj: $(OUTDIR) libvterm/src/pen.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/pen.c
-
- $(OUTDIR)/termscreen.obj: $(OUTDIR) libvterm/src/termscreen.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/termscreen.c
-
- $(OUTDIR)/state.obj: $(OUTDIR) libvterm/src/state.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/state.c
-
- $(OUTDIR)/unicode.obj: $(OUTDIR) libvterm/src/unicode.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/unicode.c
-
- $(OUTDIR)/vterm.obj: $(OUTDIR) libvterm/src/vterm.c $(TERM_DEPS)
-- $(CCCTERM) -Fo$@ libvterm/src/vterm.c
-
-
- # $CFLAGS may contain backslashes and double quotes, escape them both.
---- 1678,1704 ----
- -DWCWIDTH_FUNCTION=utf_uint2cells \
- -D_CRT_SECURE_NO_WARNINGS
-
-+ # Create a default rule for libvterm.
-+ {libvterm/src/}.c{$(OUTDIR)/}.obj::
-+ $(CCCTERM) -Fo$(OUTDIR)/ $<
-+
- $(OUTDIR)/encoding.obj: $(OUTDIR) libvterm/src/encoding.c $(TERM_DEPS)
-
- $(OUTDIR)/keyboard.obj: $(OUTDIR) libvterm/src/keyboard.c $(TERM_DEPS)
-
- $(OUTDIR)/mouse.obj: $(OUTDIR) libvterm/src/mouse.c $(TERM_DEPS)
-
- $(OUTDIR)/parser.obj: $(OUTDIR) libvterm/src/parser.c $(TERM_DEPS)
-
- $(OUTDIR)/pen.obj: $(OUTDIR) libvterm/src/pen.c $(TERM_DEPS)
-
- $(OUTDIR)/termscreen.obj: $(OUTDIR) libvterm/src/termscreen.c $(TERM_DEPS)
-
- $(OUTDIR)/state.obj: $(OUTDIR) libvterm/src/state.c $(TERM_DEPS)
-
- $(OUTDIR)/unicode.obj: $(OUTDIR) libvterm/src/unicode.c $(TERM_DEPS)
-
- $(OUTDIR)/vterm.obj: $(OUTDIR) libvterm/src/vterm.c $(TERM_DEPS)
-
-
- # $CFLAGS may contain backslashes and double quotes, escape them both.
-*** ../vim-8.1.1229/src/channel.c 2019-04-21 00:00:07.942354840 +0200
---- src/channel.c 2019-04-28 18:55:14.808080039 +0200
-***************
-*** 5319,5325 ****
- return job_need_end_check(job) || job_channel_still_useful(job);
- }
-
-! #if defined(GUI_MAY_FORK) || defined(PROTO)
- /*
- * Return TRUE when there is any running job that we care about.
- */
---- 5319,5325 ----
- return job_need_end_check(job) || job_channel_still_useful(job);
- }
-
-! #if defined(GUI_MAY_FORK) || defined(GUI_MAY_SPAWN) || defined(PROTO)
- /*
- * Return TRUE when there is any running job that we care about.
- */
-*** ../vim-8.1.1229/src/evalfunc.c 2019-04-27 20:36:52.530303581 +0200
---- src/evalfunc.c 2019-04-28 18:55:14.808080039 +0200
-***************
-*** 4201,4211 ****
- {
- #ifdef FEAT_GUI
- if (gui.in_use)
- gui_mch_set_foreground();
-! #else
-! # ifdef MSWIN
- win32_set_foreground();
-- # endif
- #endif
- }
-
---- 4201,4213 ----
- {
- #ifdef FEAT_GUI
- if (gui.in_use)
-+ {
- gui_mch_set_foreground();
-! return;
-! }
-! #endif
-! #if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
- win32_set_foreground();
- #endif
- }
-
-*** ../vim-8.1.1229/src/ex_cmds.c 2019-04-28 18:04:56.058492178 +0200
---- src/ex_cmds.c 2019-04-28 18:55:14.808080039 +0200
-***************
-*** 1537,1543 ****
- int flags) /* may be SHELL_DOOUT when output is redirected */
- {
- buf_T *buf;
-! #ifndef FEAT_GUI_MSWIN
- int save_nwr;
- #endif
- #ifdef MSWIN
---- 1537,1543 ----
- int flags) /* may be SHELL_DOOUT when output is redirected */
- {
- buf_T *buf;
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- int save_nwr;
- #endif
- #ifdef MSWIN
-***************
-*** 1636,1667 ****
- * Otherwise there is probably text on the screen that the user wants
- * to read before redrawing, so call wait_return().
- */
-! #ifndef FEAT_GUI_MSWIN
-! if (cmd == NULL
-! # ifdef MSWIN
-! || (keep_termcap && !need_wait_return)
- # endif
-- )
-- {
-- if (msg_silent == 0)
-- redraw_later_clear();
-- need_wait_return = FALSE;
-- }
-- else
- {
-! /*
-! * If we switch screens when starttermcap() is called, we really
-! * want to wait for "hit return to continue".
-! */
-! save_nwr = no_wait_return;
-! if (swapping_screen())
-! no_wait_return = FALSE;
- # ifdef AMIGA
-! wait_return(term_console ? -1 : msg_silent == 0); /* see below */
- # else
-! wait_return(msg_silent == 0);
- # endif
-! no_wait_return = save_nwr;
- }
- #endif /* FEAT_GUI_MSWIN */
-
---- 1636,1672 ----
- * Otherwise there is probably text on the screen that the user wants
- * to read before redrawing, so call wait_return().
- */
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
- # endif
- {
-! if (cmd == NULL
-! # ifdef MSWIN
-! || (keep_termcap && !need_wait_return)
-! # endif
-! )
-! {
-! if (msg_silent == 0)
-! redraw_later_clear();
-! need_wait_return = FALSE;
-! }
-! else
-! {
-! /*
-! * If we switch screens when starttermcap() is called, we
-! * really want to wait for "hit return to continue".
-! */
-! save_nwr = no_wait_return;
-! if (swapping_screen())
-! no_wait_return = FALSE;
- # ifdef AMIGA
-! wait_return(term_console ? -1 : msg_silent == 0); // see below
- # else
-! wait_return(msg_silent == 0);
- # endif
-! no_wait_return = save_nwr;
-! }
- }
- #endif /* FEAT_GUI_MSWIN */
-
-*** ../vim-8.1.1229/src/ex_docmd.c 2019-04-27 20:36:52.530303581 +0200
---- src/ex_docmd.c 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 7756,7762 ****
- if (*arg == NUL)
- {
- # if defined(FEAT_GUI) || defined(MSWIN)
-! # ifdef FEAT_GUI
- if (gui.in_use && gui_mch_get_winpos(&x, &y) != FAIL)
- # else
- if (mch_get_winpos(&x, &y) != FAIL)
---- 7756,7765 ----
- if (*arg == NUL)
- {
- # if defined(FEAT_GUI) || defined(MSWIN)
-! # ifdef VIMDLL
-! if (gui.in_use ? gui_mch_get_winpos(&x, &y) != FAIL :
-! mch_get_winpos(&x, &y) != FAIL)
-! # elif defined(FEAT_GUI)
- if (gui.in_use && gui_mch_get_winpos(&x, &y) != FAIL)
- # else
- if (mch_get_winpos(&x, &y) != FAIL)
-***************
-*** 7789,7801 ****
- gui_win_x = x;
- gui_win_y = y;
- }
-! # ifdef HAVE_TGETENT
- else
- # endif
-! # else
-! # ifdef MSWIN
- mch_set_winpos(x, y);
-- # endif
- # endif
- # ifdef HAVE_TGETENT
- if (*T_CWP)
---- 7792,7803 ----
- gui_win_x = x;
- gui_win_y = y;
- }
-! # if defined(HAVE_TGETENT) || defined(VIMDLL)
- else
- # endif
-! # endif
-! # if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
- mch_set_winpos(x, y);
- # endif
- # ifdef HAVE_TGETENT
- if (*T_CWP)
-***************
-*** 8239,8246 ****
- if (need_maketitle)
- maketitle();
- #endif
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
-! resize_console_buf();
- #endif
- RedrawingDisabled = r;
- p_lz = p;
---- 8241,8251 ----
- if (need_maketitle)
- maketitle();
- #endif
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! resize_console_buf();
- #endif
- RedrawingDisabled = r;
- p_lz = p;
-*** ../vim-8.1.1229/src/feature.h 2019-04-27 13:03:20.008715938 +0200
---- src/feature.h 2019-04-28 19:05:41.293187966 +0200
-***************
-*** 712,718 ****
- * there is no terminal version, and on Windows we can't figure out how to
- * fork one off with :gui.
- */
-! #if defined(FEAT_GUI_MSWIN) || (defined(FEAT_GUI_MAC) && !defined(MACOS_X_DARWIN))
- # define ALWAYS_USE_GUI
- #endif
-
---- 712,719 ----
- * there is no terminal version, and on Windows we can't figure out how to
- * fork one off with :gui.
- */
-! #if (defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)) \
-! || (defined(FEAT_GUI_MAC) && !defined(MACOS_X_DARWIN))
- # define ALWAYS_USE_GUI
- #endif
-
-***************
-*** 1138,1145 ****
- * mouse shape Adjust the shape of the mouse pointer to the mode.
- */
- #ifdef FEAT_NORMAL
-! /* MS-DOS console and Win32 console can change cursor shape */
-! # if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- # define MCH_CURSOR_SHAPE
- # endif
- # if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) \
---- 1139,1146 ----
- * mouse shape Adjust the shape of the mouse pointer to the mode.
- */
- #ifdef FEAT_NORMAL
-! // Win32 console can change cursor shape
-! # if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
- # define MCH_CURSOR_SHAPE
- # endif
- # if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) \
-***************
-*** 1263,1269 ****
- * +balloon_eval_term Allow balloon expression evaluation in the terminal.
- */
- #if defined(FEAT_HUGE) && defined(FEAT_TIMERS) && \
-! (defined(UNIX) || defined(VMS) || (defined(MSWIN) && !defined(FEAT_GUI_MSWIN)))
- # define FEAT_BEVAL_TERM
- #endif
-
---- 1264,1271 ----
- * +balloon_eval_term Allow balloon expression evaluation in the terminal.
- */
- #if defined(FEAT_HUGE) && defined(FEAT_TIMERS) && \
-! (defined(UNIX) || defined(VMS) || \
-! (defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))))
- # define FEAT_BEVAL_TERM
- #endif
-
-***************
-*** 1317,1322 ****
- /*
- * +vtp: Win32 virtual console.
- */
-! #if !defined(FEAT_GUI) && defined(MSWIN)
- # define FEAT_VTP
- #endif
---- 1319,1324 ----
- /*
- * +vtp: Win32 virtual console.
- */
-! #if (!defined(FEAT_GUI) || defined(VIMDLL)) && defined(MSWIN)
- # define FEAT_VTP
- #endif
-*** ../vim-8.1.1229/src/fileio.c 2019-03-21 21:45:30.875282175 +0100
---- src/fileio.c 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 792,798 ****
- if (!is_not_a_term())
- {
- #ifndef ALWAYS_USE_GUI
-! mch_msg(_("Vim: Reading from stdin...\n"));
- #endif
- #ifdef FEAT_GUI
- /* Also write a message in the GUI window, if there is one. */
---- 792,801 ----
- if (!is_not_a_term())
- {
- #ifndef ALWAYS_USE_GUI
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! mch_msg(_("Vim: Reading from stdin...\n"));
- #endif
- #ifdef FEAT_GUI
- /* Also write a message in the GUI window, if there is one. */
-*** ../vim-8.1.1229/src/getchar.c 2019-04-24 23:08:20.078079973 +0200
---- src/getchar.c 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 1626,1632 ****
- #if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
- // Handle K_TEAROFF here, the caller of vgetc() doesn't need to
- // know that a menu was torn off
-! if (c == K_TEAROFF)
- {
- char_u name[200];
- int i;
---- 1626,1636 ----
- #if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
- // Handle K_TEAROFF here, the caller of vgetc() doesn't need to
- // know that a menu was torn off
-! if (
-! # ifdef VIMDLL
-! gui.in_use &&
-! # endif
-! c == K_TEAROFF)
- {
- char_u name[200];
- int i;
-***************
-*** 3113,3118 ****
---- 3117,3123 ----
- p += 2;
- i -= 2;
- }
-+ # ifndef MSWIN
- /* When the GUI is not used CSI needs to be escaped. */
- else if (!gui.in_use && p[0] == CSI)
- {
-***************
-*** 3122,3133 ****
- *p = (int)KE_CSI;
- len += 2;
- }
- else
- #endif
- if (p[0] == NUL || (p[0] == K_SPECIAL
- /* timeout may generate K_CURSORHOLD */
- && (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
-! #if defined(MSWIN) && !defined(FEAT_GUI)
- /* Win32 console passes modifiers */
- && (i < 2 || p[1] != KS_MODIFIER)
- #endif
---- 3127,3142 ----
- *p = (int)KE_CSI;
- len += 2;
- }
-+ # endif
- else
- #endif
- if (p[0] == NUL || (p[0] == K_SPECIAL
- /* timeout may generate K_CURSORHOLD */
- && (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
-! #if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
-! # ifdef VIMDLL
-! && !gui.in_use
-! # endif
- /* Win32 console passes modifiers */
- && (i < 2 || p[1] != KS_MODIFIER)
- #endif
-***************
-*** 5232,5251 ****
-
- #if defined(MSWIN) || defined(MACOS_X)
-
-! #define VIS_SEL (VISUAL+SELECTMODE) /* abbreviation */
-
- /*
- * Default mappings for some often used keys.
- */
-! static struct initmap
- {
- char_u *arg;
- int mode;
-! } initmappings[] =
- {
-- #if defined(MSWIN)
-- /* Use the Windows (CUA) keybindings. */
-- # ifdef FEAT_GUI
- /* paste, copy and cut */
- {(char_u *)"<S-Insert> \"*P", NORMAL},
- {(char_u *)"<S-Insert> \"-d\"*P", VIS_SEL},
---- 5241,5261 ----
-
- #if defined(MSWIN) || defined(MACOS_X)
-
-! # define VIS_SEL (VISUAL+SELECTMODE) /* abbreviation */
-
- /*
- * Default mappings for some often used keys.
- */
-! struct initmap
- {
- char_u *arg;
- int mode;
-! };
-!
-! # ifdef FEAT_GUI_MSWIN
-! /* Use the Windows (CUA) keybindings. (GUI) */
-! static struct initmap initmappings[] =
- {
- /* paste, copy and cut */
- {(char_u *)"<S-Insert> \"*P", NORMAL},
- {(char_u *)"<S-Insert> \"-d\"*P", VIS_SEL},
-***************
-*** 5255,5261 ****
- {(char_u *)"<C-Del> \"*d", VIS_SEL},
- {(char_u *)"<C-X> \"*d", VIS_SEL},
- /* Missing: CTRL-C (cancel) and CTRL-V (block selection) */
-! # else
- {(char_u *)"\316w <C-Home>", NORMAL+VIS_SEL},
- {(char_u *)"\316w <C-Home>", INSERT+CMDLINE},
- {(char_u *)"\316u <C-End>", NORMAL+VIS_SEL},
---- 5265,5277 ----
- {(char_u *)"<C-Del> \"*d", VIS_SEL},
- {(char_u *)"<C-X> \"*d", VIS_SEL},
- /* Missing: CTRL-C (cancel) and CTRL-V (block selection) */
-! };
-! # endif
-!
-! # if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
-! /* Use the Windows (CUA) keybindings. (Console) */
-! static struct initmap cinitmappings[] =
-! {
- {(char_u *)"\316w <C-Home>", NORMAL+VIS_SEL},
- {(char_u *)"\316w <C-Home>", INSERT+CMDLINE},
- {(char_u *)"\316u <C-End>", NORMAL+VIS_SEL},
-***************
-*** 5278,5287 ****
- {(char_u *)"\316\327 d", VIS_SEL}, /* SHIFT-Del is d */
- {(char_u *)"\316\330 d", VIS_SEL}, /* CTRL-Del is d */
- # endif
- # endif
-- #endif
-
-! #if defined(MACOS_X)
- /* Use the Standard MacOS binding. */
- /* paste, copy and cut */
- {(char_u *)"<D-v> \"*P", NORMAL},
---- 5294,5305 ----
- {(char_u *)"\316\327 d", VIS_SEL}, /* SHIFT-Del is d */
- {(char_u *)"\316\330 d", VIS_SEL}, /* CTRL-Del is d */
- # endif
-+ };
- # endif
-
-! # if defined(MACOS_X)
-! static struct initmap initmappings[] =
-! {
- /* Use the Standard MacOS binding. */
- /* paste, copy and cut */
- {(char_u *)"<D-v> \"*P", NORMAL},
-***************
-*** 5290,5297 ****
- {(char_u *)"<D-c> \"*y", VIS_SEL},
- {(char_u *)"<D-x> \"*d", VIS_SEL},
- {(char_u *)"<Backspace> \"-d", VIS_SEL},
-- #endif
- };
-
- # undef VIS_SEL
- #endif
---- 5308,5315 ----
- {(char_u *)"<D-c> \"*y", VIS_SEL},
- {(char_u *)"<D-x> \"*d", VIS_SEL},
- {(char_u *)"<Backspace> \"-d", VIS_SEL},
- };
-+ # endif
-
- # undef VIS_SEL
- #endif
-***************
-*** 5305,5312 ****
---- 5323,5342 ----
- #if defined(MSWIN) || defined(MACOS_X)
- int i;
-
-+ # if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-+ # ifdef VIMDLL
-+ if (!gui.starting)
-+ # endif
-+ {
-+ for (i = 0;
-+ i < (int)(sizeof(cinitmappings) / sizeof(struct initmap)); ++i)
-+ add_map(cinitmappings[i].arg, cinitmappings[i].mode);
-+ }
-+ # endif
-+ # if defined(FEAT_GUI_MSWIN) || defined(MACOS_X)
- for (i = 0; i < (int)(sizeof(initmappings) / sizeof(struct initmap)); ++i)
- add_map(initmappings[i].arg, initmappings[i].mode);
-+ # endif
- #endif
- }
-
-*** ../vim-8.1.1229/src/globals.h 2019-04-28 18:04:56.058492178 +0200
---- src/globals.h 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 1442,1448 ****
- EXTERN char e_noalt[] INIT(= N_("E23: No alternate file"));
- EXTERN char e_noabbr[] INIT(= N_("E24: No such abbreviation"));
- EXTERN char e_nobang[] INIT(= N_("E477: No ! allowed"));
-! #ifndef FEAT_GUI
- EXTERN char e_nogvim[] INIT(= N_("E25: GUI cannot be used: Not enabled at compile time"));
- #endif
- #ifndef FEAT_RIGHTLEFT
---- 1442,1448 ----
- EXTERN char e_noalt[] INIT(= N_("E23: No alternate file"));
- EXTERN char e_noabbr[] INIT(= N_("E24: No such abbreviation"));
- EXTERN char e_nobang[] INIT(= N_("E477: No ! allowed"));
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
- EXTERN char e_nogvim[] INIT(= N_("E25: GUI cannot be used: Not enabled at compile time"));
- #endif
- #ifndef FEAT_RIGHTLEFT
-***************
-*** 1645,1650 ****
---- 1645,1651 ----
-
- #ifdef MSWIN
- EXTERN int ctrl_break_was_pressed INIT(= FALSE);
-+ EXTERN HINSTANCE g_hinst INIT(= NULL);
- #endif
-
- #ifdef FEAT_TEXT_PROP
-*** ../vim-8.1.1229/src/gui.c 2019-03-30 22:26:35.091091278 +0100
---- src/gui.c 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 65,74 ****
- * recursive call.
- */
- void
-! gui_start(void)
- {
- char_u *old_term;
- static int recursive = 0;
-
- old_term = vim_strsave(T_NAME);
-
---- 65,77 ----
- * recursive call.
- */
- void
-! gui_start(char_u *arg UNUSED)
- {
- char_u *old_term;
- static int recursive = 0;
-+ #ifdef GUI_MAY_SPAWN
-+ char *msg = NULL;
-+ #endif
-
- old_term = vim_strsave(T_NAME);
-
-***************
-*** 98,103 ****
---- 101,122 ----
- }
- else
- #endif
-+ #ifdef GUI_MAY_SPAWN
-+ if (gui.dospawn
-+ # ifdef EXPERIMENTAL_GUI_CMD
-+ && gui.dofork
-+ # endif
-+ && !vim_strchr(p_go, GO_FORG)
-+ && !anyBufIsChanged()
-+ # ifdef FEAT_JOB_CHANNEL
-+ && !job_any_running()
-+ # endif
-+ )
-+ {
-+ msg = gui_mch_do_spawn(arg);
-+ }
-+ else
-+ #endif
- {
- #ifdef FEAT_GUI_GTK
- /* If there is 'f' in 'guioptions' and specify -g argument,
-***************
-*** 125,130 ****
---- 144,153 ----
- #ifdef FEAT_TITLE
- set_title_defaults(); /* set 'title' and 'icon' again */
- #endif
-+ #if defined(GUI_MAY_SPAWN) && defined(EXPERIMENTAL_GUI_CMD)
-+ if (msg)
-+ emsg(msg);
-+ #endif
- }
-
- vim_free(old_term);
-***************
-*** 431,437 ****
- gui.scrollbar_width = gui.scrollbar_height = SB_DEFAULT_WIDTH;
- gui.prev_wrap = -1;
-
-! #ifdef ALWAYS_USE_GUI
- result = OK;
- #else
- # ifdef FEAT_GUI_GTK
---- 454,460 ----
- gui.scrollbar_width = gui.scrollbar_height = SB_DEFAULT_WIDTH;
- gui.prev_wrap = -1;
-
-! #if defined(ALWAYS_USE_GUI) || defined(VIMDLL)
- result = OK;
- #else
- # ifdef FEAT_GUI_GTK
-***************
-*** 4948,4959 ****
- }
- if (!gui.in_use)
- {
- /* Clear the command. Needed for when forking+exiting, to avoid part
- * of the argument ending up after the shell prompt. */
- msg_clr_eos_force();
-! gui_start();
-! #ifdef FEAT_JOB_CHANNEL
- channel_gui_register_all();
- #endif
- }
- if (!ends_excmd(*eap->arg))
---- 4971,4992 ----
- }
- if (!gui.in_use)
- {
-+ #if defined(VIMDLL) && !defined(EXPERIMENTAL_GUI_CMD)
-+ emsg(_(e_nogvim));
-+ return;
-+ #else
- /* Clear the command. Needed for when forking+exiting, to avoid part
- * of the argument ending up after the shell prompt. */
- msg_clr_eos_force();
-! # ifdef GUI_MAY_SPAWN
-! if (!ends_excmd(*eap->arg))
-! gui_start(eap->arg);
-! else
-! # endif
-! gui_start(NULL);
-! # ifdef FEAT_JOB_CHANNEL
- channel_gui_register_all();
-+ # endif
- #endif
- }
- if (!ends_excmd(*eap->arg))
-*** ../vim-8.1.1229/src/gui.h 2019-02-17 17:44:36.207875527 +0100
---- src/gui.h 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 237,242 ****
---- 237,252 ----
- # endif
- #endif
-
-+ #ifdef VIMDLL
-+ // Use spawn when GUI is starting.
-+ # define GUI_MAY_SPAWN
-+
-+ // Uncomment the next definition if you want to use the `:gui` command on
-+ // Windows. It uses `:mksession` to inherit the session from vim.exe to
-+ // gvim.exe. So, it doesn't work perfectly. (EXPERIMENTAL)
-+ //# define EXPERIMENTAL_GUI_CMD
-+ #endif
-+
- typedef struct Gui
- {
- int in_focus; /* Vim has input focus */
-***************
-*** 245,250 ****
---- 255,263 ----
- int shell_created; /* Has the shell been created yet? */
- int dying; /* Is vim dying? Then output to terminal */
- int dofork; /* Use fork() when GUI is starting */
-+ #ifdef GUI_MAY_SPAWN
-+ int dospawn; /* Use spawn() when GUI is starting */
-+ #endif
- int dragged_sb; /* Which scrollbar being dragged, if any? */
- win_T *dragged_wp; /* Which WIN's sb being dragged, if any? */
- int pointer_hidden; /* Is the mouse pointer hidden? */
-*** ../vim-8.1.1229/src/gui_gtk_x11.c 2019-04-27 22:06:33.352200698 +0200
---- src/gui_gtk_x11.c 2019-04-28 18:55:14.812080022 +0200
-***************
-*** 2315,2389 ****
- }
-
- /*
-- * Generate a script that can be used to restore the current editing session.
-- * Save the value of v:this_session before running :mksession in order to make
-- * automagic session save fully transparent. Return TRUE on success.
-- */
-- static int
-- write_session_file(char_u *filename)
-- {
-- char_u *escaped_filename;
-- char *mksession_cmdline;
-- unsigned int save_ssop_flags;
-- int failed;
--
-- /*
-- * Build an ex command line to create a script that restores the current
-- * session if executed. Escape the filename to avoid nasty surprises.
-- */
-- escaped_filename = vim_strsave_escaped(filename, escape_chars);
-- if (escaped_filename == NULL)
-- return FALSE;
-- mksession_cmdline = g_strconcat("mksession ", (char *)escaped_filename,
-- NULL);
-- vim_free(escaped_filename);
--
-- /*
-- * Use a reasonable hardcoded set of 'sessionoptions' flags to avoid
-- * unpredictable effects when the session is saved automatically. Also,
-- * we definitely need SSOP_GLOBALS to be able to restore v:this_session.
-- * Don't use SSOP_BUFFERS to prevent the buffer list from becoming
-- * enormously large if the GNOME session feature is used regularly.
-- */
-- save_ssop_flags = ssop_flags;
-- ssop_flags = (SSOP_BLANK|SSOP_CURDIR|SSOP_FOLDS|SSOP_GLOBALS
-- |SSOP_HELP|SSOP_OPTIONS|SSOP_WINSIZE|SSOP_TABPAGES);
--
-- do_cmdline_cmd((char_u *)"let Save_VV_this_session = v:this_session");
-- failed = (do_cmdline_cmd((char_u *)mksession_cmdline) == FAIL);
-- do_cmdline_cmd((char_u *)"let v:this_session = Save_VV_this_session");
-- do_unlet((char_u *)"Save_VV_this_session", TRUE);
--
-- ssop_flags = save_ssop_flags;
-- g_free(mksession_cmdline);
--
-- /*
-- * Reopen the file and append a command to restore v:this_session,
-- * as if this save never happened. This is to avoid conflicts with
-- * the user's own sessions. FIXME: It's probably less hackish to add
-- * a "stealth" flag to 'sessionoptions' -- gotta ask Bram.
-- */
-- if (!failed)
-- {
-- FILE *fd;
--
-- fd = open_exfile(filename, TRUE, APPENDBIN);
--
-- failed = (fd == NULL
-- || put_line(fd, "let v:this_session = Save_VV_this_session") == FAIL
-- || put_line(fd, "unlet Save_VV_this_session") == FAIL);
--
-- if (fd != NULL && fclose(fd) != 0)
-- failed = TRUE;
--
-- if (failed)
-- mch_remove(filename);
-- }
--
-- return !failed;
-- }
--
-- /*
- * "save_yourself" signal handler. Initiate an interaction to ask the user
- * for confirmation if necessary. Save the current editing session and tell
- * the session manager how to restart Vim.
---- 2315,2320 ----
-*** ../vim-8.1.1229/src/gui_w32.c 2019-04-28 14:02:25.414687593 +0200
---- src/gui_w32.c 2019-04-28 19:01:10.762451360 +0200
-***************
-*** 320,326 ****
- // for find/replace dialog
- #endif
-
-- static HINSTANCE s_hinst = NULL;
- #if !defined(FEAT_GUI)
- static
- #endif
---- 320,325 ----
-***************
-*** 1424,1430 ****
- 10, /* Any value will do for now */
- 10, /* Any value will do for now */
- s_hwnd, NULL,
-! s_hinst, NULL);
- }
-
- /*
---- 1423,1429 ----
- 10, /* Any value will do for now */
- 10, /* Any value will do for now */
- s_hwnd, NULL,
-! g_hinst, NULL);
- }
-
- /*
-***************
-*** 2237,2251 ****
- }
- #endif /*FEAT_MENU*/
-
-- #ifndef PROTO
-- void
-- _cdecl
-- SaveInst(HINSTANCE hInst)
-- {
-- s_hinst = hInst;
-- }
-- #endif
--
- /*
- * Return the RGB value of a pixel as a long.
- */
---- 2236,2241 ----
-***************
-*** 4839,4844 ****
---- 4829,4969 ----
- }
- #endif
-
-+ #if defined(GUI_MAY_SPAWN) || defined(PROTO)
-+ static char *
-+ gvim_error(void)
-+ {
-+ char *msg = _("E988: GUI cannot be used. Cannot execute gvim.exe.");
-+
-+ if (starting)
-+ {
-+ mch_errmsg(msg);
-+ mch_errmsg("\n");
-+ mch_exit(2);
-+ }
-+ return msg;
-+ }
-+
-+ char *
-+ gui_mch_do_spawn(char_u *arg)
-+ {
-+ int len;
-+ # if defined(FEAT_SESSION) && defined(EXPERIMENTAL_GUI_CMD)
-+ char_u *session = NULL;
-+ LPWSTR tofree1 = NULL;
-+ # endif
-+ WCHAR name[MAX_PATH];
-+ LPWSTR cmd, newcmd = NULL, p, warg, tofree2 = NULL;
-+ STARTUPINFOW si = {sizeof(si)};
-+ PROCESS_INFORMATION pi;
-+
-+ if (!GetModuleFileNameW(g_hinst, name, MAX_PATH))
-+ goto error;
-+ p = wcsrchr(name, L'\\');
-+ if (p == NULL)
-+ goto error;
-+ // Replace the executable name from vim(d).exe to gvim(d).exe.
-+ # ifdef DEBUG
-+ wcscpy(p + 1, L"gvimd.exe");
-+ # else
-+ wcscpy(p + 1, L"gvim.exe");
-+ # endif
-+
-+ # if defined(FEAT_SESSION) && defined(EXPERIMENTAL_GUI_CMD)
-+ if (starting)
-+ # endif
-+ {
-+ // Pass the command line to the new process.
-+ p = GetCommandLineW();
-+ // Skip 1st argument.
-+ while (*p && *p != L' ' && *p != L'\t')
-+ {
-+ if (*p == L'"')
-+ {
-+ while (*p && *p != L'"')
-+ ++p;
-+ if (*p)
-+ ++p;
-+ }
-+ else
-+ ++p;
-+ }
-+ cmd = p;
-+ }
-+ # if defined(FEAT_SESSION) && defined(EXPERIMENTAL_GUI_CMD)
-+ else
-+ {
-+ // Create a session file and pass it to the new process.
-+ LPWSTR wsession;
-+ char_u *savebg;
-+ int ret;
-+
-+ session = vim_tempname('s', FALSE);
-+ if (session == NULL)
-+ goto error;
-+ savebg = p_bg;
-+ p_bg = vim_strsave((char_u *)"light"); // Set 'bg' to "light".
-+ ret = write_session_file(session);
-+ vim_free(p_bg);
-+ p_bg = savebg;
-+ if (!ret)
-+ goto error;
-+ wsession = enc_to_utf16(session, NULL);
-+ if (wsession == NULL)
-+ goto error;
-+ len = (int)wcslen(wsession) * 2 + 27 + 1;
-+ cmd = (LPWSTR)alloc(len * (int)sizeof(WCHAR));
-+ if (cmd == NULL)
-+ {
-+ vim_free(wsession);
-+ goto error;
-+ }
-+ tofree1 = cmd;
-+ _snwprintf(cmd, len, L" -S \"%s\" -c \"call delete('%s')\"",
-+ wsession, wsession);
-+ vim_free(wsession);
-+ }
-+ # endif
-+
-+ // Check additional arguments to the `:gui` command.
-+ if (arg != NULL)
-+ {
-+ warg = enc_to_utf16(arg, NULL);
-+ if (warg == NULL)
-+ goto error;
-+ tofree2 = warg;
-+ }
-+ else
-+ warg = L"";
-+
-+ // Set up the new command line.
-+ len = (int)wcslen(name) + (int)wcslen(cmd) + (int)wcslen(warg) + 4;
-+ newcmd = (LPWSTR)alloc(len * (int)sizeof(WCHAR));
-+ if (newcmd == NULL)
-+ goto error;
-+ _snwprintf(newcmd, len, L"\"%s\"%s %s", name, cmd, warg);
-+
-+ // Spawn a new GUI process.
-+ if (!CreateProcessW(NULL, newcmd, NULL, NULL, TRUE, 0,
-+ NULL, NULL, &si, &pi))
-+ goto error;
-+ CloseHandle(pi.hProcess);
-+ CloseHandle(pi.hThread);
-+ mch_exit(0);
-+
-+ error:
-+ # if defined(FEAT_SESSION) && defined(EXPERIMENTAL_GUI_CMD)
-+ if (session)
-+ mch_remove(session);
-+ vim_free(session);
-+ vim_free(tofree1);
-+ # endif
-+ vim_free(newcmd);
-+ vim_free(tofree2);
-+ return gvim_error();
-+ }
-+ #endif
-+
- /*
- * Parse the GUI related command-line arguments. Any arguments used are
- * deleted from argv, and *argc is decremented accordingly. This is called
-***************
-*** 4957,4963 ****
- * Load the tearoff bitmap
- */
- #ifdef FEAT_TEAROFF
-! s_htearbitmap = LoadBitmap(s_hinst, "IDB_TEAROFF");
- #endif
-
- gui.scrollbar_width = GetSystemMetrics(SM_CXVSCROLL);
---- 5082,5088 ----
- * Load the tearoff bitmap
- */
- #ifdef FEAT_TEAROFF
-! s_htearbitmap = LoadBitmap(g_hinst, "IDB_TEAROFF");
- #endif
-
- gui.scrollbar_width = GetSystemMetrics(SM_CXVSCROLL);
-***************
-*** 4971,4983 ****
-
- /* First try using the wide version, so that we can use any title.
- * Otherwise only characters in the active codepage will work. */
-! if (GetClassInfoW(s_hinst, szVimWndClassW, &wndclassw) == 0)
- {
- wndclassw.style = CS_DBLCLKS;
- wndclassw.lpfnWndProc = _WndProc;
- wndclassw.cbClsExtra = 0;
- wndclassw.cbWndExtra = 0;
-! wndclassw.hInstance = s_hinst;
- wndclassw.hIcon = LoadIcon(wndclassw.hInstance, "IDR_VIM");
- wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW);
- wndclassw.hbrBackground = s_brush;
---- 5096,5108 ----
-
- /* First try using the wide version, so that we can use any title.
- * Otherwise only characters in the active codepage will work. */
-! if (GetClassInfoW(g_hinst, szVimWndClassW, &wndclassw) == 0)
- {
- wndclassw.style = CS_DBLCLKS;
- wndclassw.lpfnWndProc = _WndProc;
- wndclassw.cbClsExtra = 0;
- wndclassw.cbWndExtra = 0;
-! wndclassw.hInstance = g_hinst;
- wndclassw.hIcon = LoadIcon(wndclassw.hInstance, "IDR_VIM");
- wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW);
- wndclassw.hbrBackground = s_brush;
-***************
-*** 5011,5017 ****
- 100, // Any value will do
- 100, // Any value will do
- vim_parent_hwnd, NULL,
-! s_hinst, NULL);
- #ifdef HAVE_TRY_EXCEPT
- }
- __except(EXCEPTION_EXECUTE_HANDLER)
---- 5136,5142 ----
- 100, // Any value will do
- 100, // Any value will do
- vim_parent_hwnd, NULL,
-! g_hinst, NULL);
- #ifdef HAVE_TRY_EXCEPT
- }
- __except(EXCEPTION_EXECUTE_HANDLER)
-***************
-*** 5043,5049 ****
- 100, /* Any value will do */
- 100, /* Any value will do */
- NULL, NULL,
-! s_hinst, NULL);
- if (s_hwnd != NULL && win_socket_id != 0)
- {
- SetParent(s_hwnd, (HWND)win_socket_id);
---- 5168,5174 ----
- 100, /* Any value will do */
- 100, /* Any value will do */
- NULL, NULL,
-! g_hinst, NULL);
- if (s_hwnd != NULL && win_socket_id != 0)
- {
- SetParent(s_hwnd, (HWND)win_socket_id);
-***************
-*** 5062,5074 ****
- #endif
-
- /* Create the text area window */
-! if (GetClassInfoW(s_hinst, szTextAreaClassW, &wndclassw) == 0)
- {
- wndclassw.style = CS_OWNDC;
- wndclassw.lpfnWndProc = _TextAreaWndProc;
- wndclassw.cbClsExtra = 0;
- wndclassw.cbWndExtra = 0;
-! wndclassw.hInstance = s_hinst;
- wndclassw.hIcon = NULL;
- wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW);
- wndclassw.hbrBackground = NULL;
---- 5187,5199 ----
- #endif
-
- /* Create the text area window */
-! if (GetClassInfoW(g_hinst, szTextAreaClassW, &wndclassw) == 0)
- {
- wndclassw.style = CS_OWNDC;
- wndclassw.lpfnWndProc = _TextAreaWndProc;
- wndclassw.cbClsExtra = 0;
- wndclassw.cbWndExtra = 0;
-! wndclassw.hInstance = g_hinst;
- wndclassw.hIcon = NULL;
- wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW);
- wndclassw.hbrBackground = NULL;
-***************
-*** 5086,5092 ****
- 100, // Any value will do for now
- 100, // Any value will do for now
- s_hwnd, NULL,
-! s_hinst, NULL);
-
- if (s_textArea == NULL)
- return FAIL;
---- 5211,5217 ----
- 100, // Any value will do for now
- 100, // Any value will do for now
- s_hwnd, NULL,
-! g_hinst, NULL);
-
- if (s_textArea == NULL)
- return FAIL;
-***************
-*** 6640,6647 ****
-
- #ifndef NO_CONSOLE
- /* Don't output anything in silent mode ("ex -s") */
-! if (silent_mode)
-! return dfltbutton; /* return default option */
- #endif
-
- if (s_hwnd == NULL)
---- 6765,6775 ----
-
- #ifndef NO_CONSOLE
- /* Don't output anything in silent mode ("ex -s") */
-! # ifdef VIMDLL
-! if (!(gui.in_use || gui.starting))
-! # endif
-! if (silent_mode)
-! return dfltbutton; /* return default option */
- #endif
-
- if (s_hwnd == NULL)
-***************
-*** 7050,7056 ****
-
- /* show the dialog box modally and get a return value */
- nchar = (int)DialogBoxIndirect(
-! s_hinst,
- (LPDLGTEMPLATE)pdlgtemplate,
- s_hwnd,
- (DLGPROC)dialog_callback);
---- 7178,7184 ----
-
- /* show the dialog box modally and get a return value */
- nchar = (int)DialogBoxIndirect(
-! g_hinst,
- (LPDLGTEMPLATE)pdlgtemplate,
- s_hwnd,
- (DLGPROC)dialog_callback);
-***************
-*** 7644,7650 ****
-
- /* show modelessly */
- the_menu->tearoff_handle = CreateDialogIndirectParam(
-! s_hinst,
- (LPDLGTEMPLATE)pdlgtemplate,
- s_hwnd,
- (DLGPROC)tearoff_callback,
---- 7772,7778 ----
-
- /* show modelessly */
- the_menu->tearoff_handle = CreateDialogIndirectParam(
-! g_hinst,
- (LPDLGTEMPLATE)pdlgtemplate,
- s_hwnd,
- (DLGPROC)tearoff_callback,
-***************
-*** 7689,7695 ****
- WS_CHILD | TBSTYLE_TOOLTIPS | TBSTYLE_FLAT,
- 4000, //any old big number
- 31, //number of images in initial bitmap
-! s_hinst,
- IDR_TOOLBAR1, // id of initial bitmap
- NULL,
- 0, // initial number of buttons
---- 7817,7823 ----
- WS_CHILD | TBSTYLE_TOOLTIPS | TBSTYLE_FLAT,
- 4000, //any old big number
- 31, //number of images in initial bitmap
-! g_hinst,
- IDR_TOOLBAR1, // id of initial bitmap
- NULL,
- 0, // initial number of buttons
-***************
-*** 7790,7796 ****
- s_tabhwnd = CreateWindow(WC_TABCONTROL, "Vim tabline",
- WS_CHILD|TCS_FOCUSNEVER|TCS_TOOLTIPS,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
-! CW_USEDEFAULT, s_hwnd, NULL, s_hinst, NULL);
- s_tabline_wndproc = SubclassWindow(s_tabhwnd, tabline_wndproc);
-
- gui.tabline_height = TABLINE_HEIGHT;
---- 7918,7924 ----
- s_tabhwnd = CreateWindow(WC_TABCONTROL, "Vim tabline",
- WS_CHILD|TCS_FOCUSNEVER|TCS_TOOLTIPS,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
-! CW_USEDEFAULT, s_hwnd, NULL, g_hinst, NULL);
- s_tabline_wndproc = SubclassWindow(s_tabhwnd, tabline_wndproc);
-
- gui.tabline_height = TABLINE_HEIGHT;
-***************
-*** 8245,8251 ****
- beval->balloon = CreateWindowExW(WS_EX_TOPMOST, TOOLTIPS_CLASSW,
- NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
-! beval->target, NULL, s_hinst, NULL);
-
- SetWindowPos(beval->balloon, HWND_TOPMOST, 0, 0, 0, 0,
- SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
---- 8373,8379 ----
- beval->balloon = CreateWindowExW(WS_EX_TOPMOST, TOOLTIPS_CLASSW,
- NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
-! beval->target, NULL, g_hinst, NULL);
-
- SetWindowPos(beval->balloon, HWND_TOPMOST, 0, 0, 0, 0,
- SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
-*** ../vim-8.1.1229/src/if_mzsch.c 2019-03-30 18:46:57.352077376 +0100
---- src/if_mzsch.c 2019-04-28 18:55:14.816080005 +0200
-***************
-*** 822,828 ****
- static EventLoopTimerUPP timerUPP;
- #endif
-
-! #ifndef FEAT_GUI_MSWIN /* Win32 console and Unix */
- void
- mzvim_check_threads(void)
- {
---- 822,828 ----
- static EventLoopTimerUPP timerUPP;
- #endif
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) /* Win32 console and Unix */
- void
- mzvim_check_threads(void)
- {
-***************
-*** 1775,1783 ****
---- 1775,1785 ----
- case -2:
- MZ_GC_UNREG();
- raise_vim_exn(_("hidden option"));
-+ /*NOTREACHED*/
- case -3:
- MZ_GC_UNREG();
- raise_vim_exn(_("unknown option"));
-+ /*NOTREACHED*/
- }
- /* unreachable */
- return scheme_void;
-*** ../vim-8.1.1229/src/main.c 2019-04-21 15:54:29.606587753 +0200
---- src/main.c 2019-04-28 18:55:14.816080005 +0200
-***************
-*** 19,25 ****
- # include <limits.h>
- #endif
-
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- # include "iscygpty.h"
- #endif
-
---- 19,25 ----
- # include <limits.h>
- #endif
-
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
- # include "iscygpty.h"
- #endif
-
-***************
-*** 95,100 ****
---- 95,103 ----
-
- static int has_dash_c_arg = FALSE;
-
-+ # ifdef VIMDLL
-+ __declspec(dllexport)
-+ # endif
- int
- # ifdef MSWIN
- # ifdef __BORLANDC__
-***************
-*** 174,179 ****
---- 177,187 ----
- #endif
- common_init(&params);
-
-+ #ifdef VIMDLL
-+ // Check if the current executable file is for the GUI subsystem.
-+ gui.starting = mch_is_gui_executable();
-+ #endif
-+
- #ifdef FEAT_CLIENTSERVER
- /*
- * Do the client-server stuff, unless "--servername ''" was used.
-***************
-*** 292,298 ****
- * For GTK we can't be sure, but when started from the desktop it doesn't
- * make sense to try using a terminal.
- */
-! #if defined(ALWAYS_USE_GUI) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
- if (gui.starting
- # ifdef FEAT_GUI_GTK
- && !isatty(2)
---- 300,307 ----
- * For GTK we can't be sure, but when started from the desktop it doesn't
- * make sense to try using a terminal.
- */
-! #if defined(ALWAYS_USE_GUI) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
-! || defined(VIMDLL)
- if (gui.starting
- # ifdef FEAT_GUI_GTK
- && !isatty(2)
-***************
-*** 542,548 ****
- putchar('\n');
- #endif
-
-! gui_start(); /* will set full_screen to TRUE */
- TIME_MSG("starting GUI");
-
- /* When running "evim" or "gvim -y" we need the menus, exit if we
---- 551,557 ----
- putchar('\n');
- #endif
-
-! gui_start(NULL); /* will set full_screen to TRUE */
- TIME_MSG("starting GUI");
-
- /* When running "evim" or "gvim -y" we need the menus, exit if we
-***************
-*** 851,858 ****
- }
- #endif
-
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
-! mch_set_winsize_now(); /* Allow winsize changes from now on */
- #endif
-
- #if defined(FEAT_GUI)
---- 860,870 ----
- }
- #endif
-
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! mch_set_winsize_now(); /* Allow winsize changes from now on */
- #endif
-
- #if defined(FEAT_GUI)
-***************
-*** 1761,1767 ****
---- 1773,1787 ----
- #ifdef FEAT_GUI
- ++initstr;
- #endif
-+ #ifdef GUI_MAY_SPAWN
-+ gui.dospawn = FALSE; // No need to spawn a new process.
-+ #endif
- }
-+ #ifdef GUI_MAY_SPAWN
-+ else
-+ gui.dospawn = TRUE; // Not "gvim". Need to spawn gvim.exe.
-+ #endif
-+
-
- if (STRNICMP(initstr, "view", 4) == 0)
- {
-***************
-*** 2181,2187 ****
-
- case 'v': /* "-v" Vi-mode (as if called "vi") */
- exmode_active = 0;
-! #ifdef FEAT_GUI
- gui.starting = FALSE; /* don't start GUI */
- #endif
- break;
---- 2201,2207 ----
-
- case 'v': /* "-v" Vi-mode (as if called "vi") */
- exmode_active = 0;
-! #if defined(FEAT_GUI) && !defined(VIMDLL)
- gui.starting = FALSE; /* don't start GUI */
- #endif
- break;
-***************
-*** 2558,2565 ****
- exit(1);
- }
- #endif
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
-! if (is_cygpty_used())
- {
- # if defined(HAVE_BIND_TEXTDOMAIN_CODESET) \
- && defined(FEAT_GETTEXT)
---- 2578,2589 ----
- exit(1);
- }
- #endif
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! if (
-! # ifdef VIMDLL
-! !gui.starting &&
-! # endif
-! is_cygpty_used())
- {
- # if defined(HAVE_BIND_TEXTDOMAIN_CODESET) \
- && defined(FEAT_GETTEXT)
-***************
-*** 3440,3447 ****
- main_msg(_("--echo-wid\t\tMake gvim echo the Window ID on stdout"));
- #endif
- #ifdef FEAT_GUI_MSWIN
-! main_msg(_("-P <parent title>\tOpen Vim inside parent application"));
-! main_msg(_("--windowid <HWND>\tOpen Vim inside another win32 widget"));
- #endif
-
- #ifdef FEAT_GUI_GNOME
---- 3464,3476 ----
- main_msg(_("--echo-wid\t\tMake gvim echo the Window ID on stdout"));
- #endif
- #ifdef FEAT_GUI_MSWIN
-! # ifdef VIMDLL
-! if (gui.starting)
-! # endif
-! {
-! main_msg(_("-P <parent title>\tOpen Vim inside parent application"));
-! main_msg(_("--windowid <HWND>\tOpen Vim inside another win32 widget"));
-! }
- #endif
-
- #ifdef FEAT_GUI_GNOME
-*** ../vim-8.1.1229/src/mbyte.c 2019-04-12 20:08:51.478186362 +0200
---- src/mbyte.c 2019-04-28 18:55:14.816080005 +0200
-***************
-*** 4392,4398 ****
- # include <langinfo.h>
- #endif
-
-! #ifndef FEAT_GUI_MSWIN
- /*
- * Get the canonicalized encoding from the specified locale string "locale"
- * or from the environment variables LC_ALL, LC_CTYPE and LANG.
---- 4392,4398 ----
- # include <langinfo.h>
- #endif
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- /*
- * Get the canonicalized encoding from the specified locale string "locale"
- * or from the environment variables LC_ALL, LC_CTYPE and LANG.
-*** ../vim-8.1.1229/src/memline.c 2019-03-30 18:46:57.356077354 +0100
---- src/memline.c 2019-04-28 18:55:14.816080005 +0200
-***************
-*** 4798,4804 ****
- // the messages displayed in the Vim window when
- // loading a session from the .gvimrc file.
- if (gui.starting && !gui.in_use)
-! gui_start();
- #endif
- // Show info about the existing swap file.
- attention_message(buf, fname);
---- 4798,4804 ----
- // the messages displayed in the Vim window when
- // loading a session from the .gvimrc file.
- if (gui.starting && !gui.in_use)
-! gui_start(NULL);
- #endif
- // Show info about the existing swap file.
- attention_message(buf, fname);
-*** ../vim-8.1.1229/src/message.c 2019-04-24 23:08:20.078079973 +0200
---- src/message.c 2019-04-28 18:55:14.816080005 +0200
-***************
-*** 2563,2570 ****
- msg_use_printf(void)
- {
- return (!msg_check_screen()
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- || !termcap_active
- #endif
- || (swapping_screen() && !termcap_active)
- );
---- 2563,2574 ----
- msg_use_printf(void)
- {
- return (!msg_check_screen()
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! # ifdef VIMDLL
-! || (!gui.in_use && !termcap_active)
-! # else
- || !termcap_active
-+ # endif
- #endif
- || (swapping_screen() && !termcap_active)
- );
-***************
-*** 2940,2954 ****
- # undef mch_msg
- #endif
-
-! /*
-! * Give an error message. To be used when the screen hasn't been initialized
-! * yet. When stderr can't be used, collect error messages until the GUI has
-! * started and they can be displayed in a message box.
-! */
-! void
-! mch_errmsg(char *str)
- {
-- #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- int len = (int)STRLEN(str);
- DWORD nwrite = 0;
- DWORD mode = 0;
---- 2944,2953 ----
- # undef mch_msg
- #endif
-
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! static void
-! mch_errmsg_c(char *str)
- {
- int len = (int)STRLEN(str);
- DWORD nwrite = 0;
- DWORD mode = 0;
-***************
-*** 2966,2999 ****
- {
- fprintf(stderr, "%s", str);
- }
-! #else
- int len;
-
-! # if (defined(UNIX) || defined(FEAT_GUI)) && !defined(ALWAYS_USE_GUI)
- /* On Unix use stderr if it's a tty.
- * When not going to start the GUI also use stderr.
- * On Mac, when started from Finder, stderr is the console. */
- if (
-! # ifdef UNIX
-! # ifdef MACOS_X
- (isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
-! # else
- isatty(2)
-- # endif
-- # ifdef FEAT_GUI
-- ||
-- # endif
- # endif
- # ifdef FEAT_GUI
-! !(gui.in_use || gui.starting)
- # endif
- )
- {
- fprintf(stderr, "%s", str);
- return;
- }
- # endif
-
- /* avoid a delay for a message that isn't there */
- emsg_on_display = FALSE;
-
---- 2965,3021 ----
- {
- fprintf(stderr, "%s", str);
- }
-! }
-! #endif
-!
-! /*
-! * Give an error message. To be used when the screen hasn't been initialized
-! * yet. When stderr can't be used, collect error messages until the GUI has
-! * started and they can be displayed in a message box.
-! */
-! void
-! mch_errmsg(char *str)
-! {
-! #if !defined(MSWIN) || defined(FEAT_GUI_MSWIN)
- int len;
-+ #endif
-
-! #if (defined(UNIX) || defined(FEAT_GUI)) && (!defined(ALWAYS_USE_GUI) || !defined(VIMDLL))
- /* On Unix use stderr if it's a tty.
- * When not going to start the GUI also use stderr.
- * On Mac, when started from Finder, stderr is the console. */
- if (
-! # ifdef UNIX
-! # ifdef MACOS_X
- (isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
-! # else
- isatty(2)
- # endif
- # ifdef FEAT_GUI
-! ||
- # endif
-+ # endif
-+ # ifdef FEAT_GUI
-+ !(gui.in_use || gui.starting)
-+ # endif
- )
- {
- fprintf(stderr, "%s", str);
- return;
- }
-+ #endif
-+
-+ #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-+ # ifdef VIMDLL
-+ if (!(gui.in_use || gui.starting))
- # endif
-+ {
-+ mch_errmsg_c(str);
-+ return;
-+ }
-+ #endif
-
-+ #if !defined(MSWIN) || defined(FEAT_GUI_MSWIN)
- /* avoid a delay for a message that isn't there */
- emsg_on_display = FALSE;
-
-***************
-*** 3028,3042 ****
- #endif
- }
-
-! /*
-! * Give a message. To be used when the screen hasn't been initialized yet.
-! * When there is no tty, collect messages until the GUI has started and they
-! * can be displayed in a message box.
-! */
-! void
-! mch_msg(char *str)
- {
-- #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- int len = (int)STRLEN(str);
- DWORD nwrite = 0;
- DWORD mode;
---- 3050,3059 ----
- #endif
- }
-
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! static void
-! mch_msg_c(char *str)
- {
- int len = (int)STRLEN(str);
- DWORD nwrite = 0;
- DWORD mode;
-***************
-*** 3055,3086 ****
- {
- printf("%s", str);
- }
-! #else
-! # if (defined(UNIX) || defined(FEAT_GUI)) && !defined(ALWAYS_USE_GUI)
- /* On Unix use stdout if we have a tty. This allows "vim -h | more" and
- * uses mch_errmsg() when started from the desktop.
- * When not going to start the GUI also use stdout.
- * On Mac, when started from Finder, stderr is the console. */
- if (
-! # ifdef UNIX
-! # ifdef MACOS_X
- (isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
-! # else
- isatty(2)
-- # endif
-- # ifdef FEAT_GUI
-- ||
- # endif
-- # endif
- # ifdef FEAT_GUI
-! !(gui.in_use || gui.starting)
- # endif
- )
- {
- printf("%s", str);
- return;
- }
- # endif
- mch_errmsg(str);
- #endif
- }
---- 3072,3124 ----
- {
- printf("%s", str);
- }
-! }
-! #endif
-!
-! /*
-! * Give a message. To be used when the screen hasn't been initialized yet.
-! * When there is no tty, collect messages until the GUI has started and they
-! * can be displayed in a message box.
-! */
-! void
-! mch_msg(char *str)
-! {
-! #if (defined(UNIX) || defined(FEAT_GUI)) && (!defined(ALWAYS_USE_GUI) || !defined(VIMDLL))
- /* On Unix use stdout if we have a tty. This allows "vim -h | more" and
- * uses mch_errmsg() when started from the desktop.
- * When not going to start the GUI also use stdout.
- * On Mac, when started from Finder, stderr is the console. */
- if (
-! # ifdef UNIX
-! # ifdef MACOS_X
- (isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
-! # else
- isatty(2)
- # endif
- # ifdef FEAT_GUI
-! ||
- # endif
-+ # endif
-+ # ifdef FEAT_GUI
-+ !(gui.in_use || gui.starting)
-+ # endif
- )
- {
- printf("%s", str);
- return;
- }
-+ #endif
-+
-+ #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-+ # ifdef VIMDLL
-+ if (!(gui.in_use || gui.starting))
- # endif
-+ {
-+ mch_msg_c(str);
-+ return;
-+ }
-+ #endif
-+ #if !defined(MSWIN) || defined(FEAT_GUI_MSWIN)
- mch_errmsg(str);
- #endif
- }
-*** ../vim-8.1.1229/src/misc2.c 2019-04-27 13:03:20.008715938 +0200
---- src/misc2.c 2019-04-28 18:55:14.820079984 +0200
-***************
-*** 4650,4652 ****
---- 4650,4729 ----
- }
- # endif
- #endif
-+
-+ #if defined(FEAT_SESSION) || defined(PROTO)
-+ /*
-+ * Generate a script that can be used to restore the current editing session.
-+ * Save the value of v:this_session before running :mksession in order to make
-+ * automagic session save fully transparent. Return TRUE on success.
-+ */
-+ int
-+ write_session_file(char_u *filename)
-+ {
-+ char_u *escaped_filename;
-+ char *mksession_cmdline;
-+ unsigned int save_ssop_flags;
-+ int failed;
-+
-+ /*
-+ * Build an ex command line to create a script that restores the current
-+ * session if executed. Escape the filename to avoid nasty surprises.
-+ */
-+ escaped_filename = vim_strsave_escaped(filename, escape_chars);
-+ if (escaped_filename == NULL)
-+ return FALSE;
-+ mksession_cmdline = (char *)alloc(10 + (int)STRLEN(escaped_filename) + 1);
-+ if (mksession_cmdline == NULL)
-+ {
-+ vim_free(escaped_filename);
-+ return FALSE;
-+ }
-+ strcpy(mksession_cmdline, "mksession ");
-+ STRCAT(mksession_cmdline, escaped_filename);
-+ vim_free(escaped_filename);
-+
-+ /*
-+ * Use a reasonable hardcoded set of 'sessionoptions' flags to avoid
-+ * unpredictable effects when the session is saved automatically. Also,
-+ * we definitely need SSOP_GLOBALS to be able to restore v:this_session.
-+ * Don't use SSOP_BUFFERS to prevent the buffer list from becoming
-+ * enormously large if the GNOME session feature is used regularly.
-+ */
-+ save_ssop_flags = ssop_flags;
-+ ssop_flags = (SSOP_BLANK|SSOP_CURDIR|SSOP_FOLDS|SSOP_GLOBALS
-+ |SSOP_HELP|SSOP_OPTIONS|SSOP_WINSIZE|SSOP_TABPAGES);
-+
-+ do_cmdline_cmd((char_u *)"let Save_VV_this_session = v:this_session");
-+ failed = (do_cmdline_cmd((char_u *)mksession_cmdline) == FAIL);
-+ do_cmdline_cmd((char_u *)"let v:this_session = Save_VV_this_session");
-+ do_unlet((char_u *)"Save_VV_this_session", TRUE);
-+
-+ ssop_flags = save_ssop_flags;
-+ vim_free(mksession_cmdline);
-+
-+ /*
-+ * Reopen the file and append a command to restore v:this_session,
-+ * as if this save never happened. This is to avoid conflicts with
-+ * the user's own sessions. FIXME: It's probably less hackish to add
-+ * a "stealth" flag to 'sessionoptions' -- gotta ask Bram.
-+ */
-+ if (!failed)
-+ {
-+ FILE *fd;
-+
-+ fd = open_exfile(filename, TRUE, APPENDBIN);
-+
-+ failed = (fd == NULL
-+ || put_line(fd, "let v:this_session = Save_VV_this_session") == FAIL
-+ || put_line(fd, "unlet Save_VV_this_session") == FAIL);
-+
-+ if (fd != NULL && fclose(fd) != 0)
-+ failed = TRUE;
-+
-+ if (failed)
-+ mch_remove(filename);
-+ }
-+
-+ return !failed;
-+ }
-+ #endif
-*** ../vim-8.1.1229/src/normal.c 2019-04-28 18:04:56.058492178 +0200
---- src/normal.c 2019-04-28 18:55:14.820079984 +0200
-***************
-*** 5394,5401 ****
- # endif
- #endif
- redraw_later(CLEAR);
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
-! resize_console_buf();
- #endif
- }
- }
---- 5394,5404 ----
- # endif
- #endif
- redraw_later(CLEAR);
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! resize_console_buf();
- #endif
- }
- }
-*** ../vim-8.1.1229/src/option.c 2019-04-28 18:04:56.058492178 +0200
---- src/option.c 2019-04-28 18:55:14.820079984 +0200
-***************
-*** 3321,3329 ****
- if (((p = mch_getenv((char_u *)"SHELL")) != NULL && *p != NUL)
- #if defined(MSWIN)
- || ((p = mch_getenv((char_u *)"COMSPEC")) != NULL && *p != NUL)
-- # ifdef MSWIN
- || ((p = (char_u *)default_shell()) != NULL && *p != NUL)
-- # endif
- #endif
- )
- set_string_default_esc("sh", p, TRUE);
---- 3321,3327 ----
-***************
-*** 3673,3682 ****
- }
- #endif
-
-! #if defined(MSWIN) && !defined(FEAT_GUI)
- /* Win32 console: When GetACP() returns a different value from
- * GetConsoleCP() set 'termencoding'. */
-! if (GetACP() != GetConsoleCP())
- {
- char buf[50];
-
---- 3671,3684 ----
- }
- #endif
-
-! #if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
- /* Win32 console: When GetACP() returns a different value from
- * GetConsoleCP() set 'termencoding'. */
-! if (
-! # ifdef VIMDLL
-! (!gui.in_use && !gui.starting) &&
-! # endif
-! GetACP() != GetConsoleCP())
- {
- char buf[50];
-
-***************
-*** 6856,6866 ****
- {
- out_str(T_ME);
- redraw_later(CLEAR);
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- /* Since t_me has been set, this probably means that the user
- * wants to use this as default colors. Need to reset default
- * background/foreground colors. */
-! mch_set_normal_colors();
- #endif
- }
- if (varp == &T_BE && termcap_active)
---- 6858,6871 ----
- {
- out_str(T_ME);
- redraw_later(CLEAR);
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
- /* Since t_me has been set, this probably means that the user
- * wants to use this as default colors. Need to reset default
- * background/foreground colors. */
-! # ifdef VIMDLL
-! if (!gui.in_use && !gui.starting)
-! # endif
-! mch_set_normal_colors();
- #endif
- }
- if (varp == &T_BE && termcap_active)
-***************
-*** 8838,8844 ****
- {
- # ifdef FEAT_VTP
- /* Do not turn on 'tgc' when 24-bit colors are not supported. */
-! if (!has_vtp_working())
- {
- p_tgc = 0;
- return N_("E954: 24-bit colors are not supported on this environment");
---- 8843,8853 ----
- {
- # ifdef FEAT_VTP
- /* Do not turn on 'tgc' when 24-bit colors are not supported. */
-! if (
-! # ifdef VIMDLL
-! !gui.in_use && !gui.starting &&
-! # endif
-! !has_vtp_working())
- {
- p_tgc = 0;
- return N_("E954: 24-bit colors are not supported on this environment");
-*** ../vim-8.1.1229/src/os_mswin.c 2019-04-28 14:02:25.414687593 +0200
---- src/os_mswin.c 2019-04-28 19:00:21.650678844 +0200
-***************
-*** 129,135 ****
- FILE* fdDump = NULL;
- #endif
-
-! #ifndef FEAT_GUI_MSWIN
- extern char g_szOrigTitle[];
- #endif
-
---- 129,135 ----
- FILE* fdDump = NULL;
- #endif
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- extern char g_szOrigTitle[];
- #endif
-
-***************
-*** 195,200 ****
---- 195,211 ----
- #endif
-
-
-+ #ifndef PROTO
-+ /*
-+ * Save the instance handle of the exe/dll.
-+ */
-+ void
-+ SaveInst(HINSTANCE hInst)
-+ {
-+ g_hinst = hInst;
-+ }
-+ #endif
-+
- #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
- /*
- * GUI version of mch_exit().
-***************
-*** 202,208 ****
- * Careful: mch_exit() may be called before mch_init()!
- */
- void
-! mch_exit(int r)
- {
- exiting = TRUE;
-
---- 213,219 ----
- * Careful: mch_exit() may be called before mch_init()!
- */
- void
-! mch_exit_g(int r)
- {
- exiting = TRUE;
-
-***************
-*** 262,269 ****
- mch_input_isatty(void)
- {
- #ifdef FEAT_GUI_MSWIN
-! return OK; /* GUI always has a tty */
-! #else
- if (isatty(read_cmd_fd))
- return TRUE;
- return FALSE;
---- 273,284 ----
- mch_input_isatty(void)
- {
- #ifdef FEAT_GUI_MSWIN
-! # ifdef VIMDLL
-! if (gui.in_use)
-! # endif
-! return TRUE; /* GUI always has a tty */
-! #endif
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- if (isatty(read_cmd_fd))
- return TRUE;
- return FALSE;
-***************
-*** 280,287 ****
- char_u *icon)
- {
- # ifdef FEAT_GUI_MSWIN
-! gui_mch_settitle(title, icon);
-! # else
- if (title != NULL)
- {
- WCHAR *wp = enc_to_utf16(title, NULL);
---- 295,309 ----
- char_u *icon)
- {
- # ifdef FEAT_GUI_MSWIN
-! # ifdef VIMDLL
-! if (gui.in_use)
-! # endif
-! {
-! gui_mch_settitle(title, icon);
-! return;
-! }
-! # endif
-! # if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- if (title != NULL)
- {
- WCHAR *wp = enc_to_utf16(title, NULL);
-***************
-*** 307,314 ****
- void
- mch_restore_title(int which UNUSED)
- {
-! #ifndef FEAT_GUI_MSWIN
-! SetConsoleTitle(g_szOrigTitle);
- #endif
- }
-
---- 329,339 ----
- void
- mch_restore_title(int which UNUSED)
- {
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! SetConsoleTitle(g_szOrigTitle);
- #endif
- }
-
-***************
-*** 554,560 ****
- return n;
- }
-
-! #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
- void
- mch_settmode(int tmode UNUSED)
- {
---- 579,585 ----
- return n;
- }
-
-! #if (defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)) || defined(PROTO)
- void
- mch_settmode(int tmode UNUSED)
- {
-***************
-*** 596,640 ****
-
- #if defined(USE_MCH_ERRMSG) || defined(PROTO)
-
-! #ifdef display_errors
-! # undef display_errors
-! #endif
-
-- #ifdef FEAT_GUI
- /*
- * Display the saved error message(s).
- */
- void
- display_errors(void)
- {
- char *p;
-
-! if (error_ga.ga_data != NULL)
- {
-! /* avoid putting up a message box with blanks only */
-! for (p = (char *)error_ga.ga_data; *p; ++p)
-! if (!isspace(*p))
-! {
-! (void)gui_mch_dialog(
- gui.starting ? VIM_INFO :
- VIM_ERROR,
- gui.starting ? (char_u *)_("Message") :
- (char_u *)_("Error"),
- (char_u *)p, (char_u *)_("&Ok"),
- 1, NULL, FALSE);
-! break;
-! }
-! ga_clear(&error_ga);
- }
-! }
-! #else
-! void
-! display_errors(void)
-! {
- FlushFileBuffers(GetStdHandle(STD_ERROR_HANDLE));
- }
- #endif
-- #endif
-
-
- /*
---- 621,668 ----
-
- #if defined(USE_MCH_ERRMSG) || defined(PROTO)
-
-! # ifdef display_errors
-! # undef display_errors
-! # endif
-
- /*
- * Display the saved error message(s).
- */
- void
- display_errors(void)
- {
-+ # ifdef FEAT_GUI
- char *p;
-
-! # ifdef VIMDLL
-! if (gui.in_use || gui.starting)
-! # endif
- {
-! if (error_ga.ga_data != NULL)
-! {
-! /* avoid putting up a message box with blanks only */
-! for (p = (char *)error_ga.ga_data; *p; ++p)
-! if (!isspace(*p))
-! {
-! (void)gui_mch_dialog(
- gui.starting ? VIM_INFO :
- VIM_ERROR,
- gui.starting ? (char_u *)_("Message") :
- (char_u *)_("Error"),
- (char_u *)p, (char_u *)_("&Ok"),
- 1, NULL, FALSE);
-! break;
-! }
-! ga_clear(&error_ga);
-! }
-! return;
- }
-! # endif
-! # if !defined(FEAT_GUI) || defined(VIMDLL)
- FlushFileBuffers(GetStdHandle(STD_ERROR_HANDLE));
-+ # endif
- }
- #endif
-
-
- /*
-***************
-*** 717,723 ****
- }
-
-
-! #ifdef FEAT_GUI_MSWIN
- /*
- * return non-zero if a character is available
- */
---- 745,751 ----
- }
-
-
-! #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
- /*
- * return non-zero if a character is available
- */
-***************
-*** 955,961 ****
-
- #endif //_DEBUG
-
-! #if !defined(FEAT_GUI) || defined(PROTO)
- # ifdef FEAT_TITLE
- extern HWND g_hWnd; /* This is in os_win32.c. */
- # endif
---- 983,989 ----
-
- #endif //_DEBUG
-
-! #if !defined(FEAT_GUI) || defined(VIMDLL) || defined(PROTO)
- # ifdef FEAT_TITLE
- extern HWND g_hWnd; /* This is in os_win32.c. */
- # endif
-***************
-*** 1121,1128 ****
- VIM_CLEAR(prt_name);
- }
- EnableMenuItem(GetSystemMenu(hDlg, FALSE), SC_CLOSE, MF_GRAYED);
-! #ifndef FEAT_GUI
-! BringWindowToTop(s_hwnd);
- #endif
- return TRUE;
-
---- 1149,1159 ----
- VIM_CLEAR(prt_name);
- }
- EnableMenuItem(GetSystemMenu(hDlg, FALSE), SC_CLOSE, MF_GRAYED);
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! BringWindowToTop(s_hwnd);
- #endif
- return TRUE;
-
-***************
-*** 1155,1161 ****
- return !*bUserAbort;
- }
-
-! #ifndef FEAT_GUI
-
- static UINT_PTR CALLBACK
- PrintHookProc(
---- 1186,1192 ----
- return !*bUserAbort;
- }
-
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
-
- static UINT_PTR CALLBACK
- PrintHookProc(
-***************
-*** 1349,1356 ****
- bUserAbort = &(psettings->user_abort);
- vim_memset(&prt_dlg, 0, sizeof(PRINTDLGW));
- prt_dlg.lStructSize = sizeof(PRINTDLGW);
-! #ifndef FEAT_GUI
-! GetConsoleHwnd(); /* get value of s_hwnd */
- #endif
- prt_dlg.hwndOwner = s_hwnd;
- prt_dlg.Flags = PD_NOPAGENUMS | PD_NOSELECTION | PD_RETURNDC;
---- 1380,1390 ----
- bUserAbort = &(psettings->user_abort);
- vim_memset(&prt_dlg, 0, sizeof(PRINTDLGW));
- prt_dlg.lStructSize = sizeof(PRINTDLGW);
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! GetConsoleHwnd(); /* get value of s_hwnd */
- #endif
- prt_dlg.hwndOwner = s_hwnd;
- prt_dlg.Flags = PD_NOPAGENUMS | PD_NOSELECTION | PD_RETURNDC;
-***************
-*** 1359,1370 ****
- prt_dlg.hDevMode = stored_dm;
- prt_dlg.hDevNames = stored_devn;
- prt_dlg.lCustData = stored_nCopies; // work around bug in print dialog
-! #ifndef FEAT_GUI
-! /*
-! * Use hook to prevent console window being sent to back
-! */
-! prt_dlg.lpfnPrintHook = PrintHookProc;
-! prt_dlg.Flags |= PD_ENABLEPRINTHOOK;
- #endif
- prt_dlg.Flags |= stored_nFlags;
- }
---- 1393,1409 ----
- prt_dlg.hDevMode = stored_dm;
- prt_dlg.hDevNames = stored_devn;
- prt_dlg.lCustData = stored_nCopies; // work around bug in print dialog
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! {
-! /*
-! * Use hook to prevent console window being sent to back
-! */
-! prt_dlg.lpfnPrintHook = PrintHookProc;
-! prt_dlg.Flags |= PD_ENABLEPRINTHOOK;
-! }
- #endif
- prt_dlg.Flags |= stored_nFlags;
- }
-***************
-*** 1374,1381 ****
- * never show dialog if we are running over telnet
- */
- if (forceit
-! #ifndef FEAT_GUI
- || !term_console
- #endif
- )
- {
---- 1413,1424 ----
- * never show dialog if we are running over telnet
- */
- if (forceit
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
-! # ifdef VIMDLL
-! || (!gui.in_use && !term_console)
-! # else
- || !term_console
-+ # endif
- #endif
- )
- {
-***************
-*** 1548,1554 ****
- char szBuffer[300];
- WCHAR *wp;
-
-! hDlgPrint = CreateDialog(GetModuleHandle(NULL), TEXT("PrintDlgBox"),
- prt_dlg.hwndOwner, PrintDlgProc);
- SetAbortProc(prt_dlg.hDC, AbortProc);
- wsprintf(szBuffer, _("Printing '%s'"), gettail(psettings->jobname));
---- 1591,1597 ----
- char szBuffer[300];
- WCHAR *wp;
-
-! hDlgPrint = CreateDialog(g_hinst, TEXT("PrintDlgBox"),
- prt_dlg.hwndOwner, PrintDlgProc);
- SetAbortProc(prt_dlg.hDC, AbortProc);
- wsprintf(szBuffer, _("Printing '%s'"), gettail(psettings->jobname));
-***************
-*** 1568,1574 ****
-
- #ifdef FEAT_GUI
- /* Give focus back to main window (when using MDI). */
-! SetFocus(s_hwnd);
- #endif
-
- return (ret > 0);
---- 1611,1620 ----
-
- #ifdef FEAT_GUI
- /* Give focus back to main window (when using MDI). */
-! # ifdef VIMDLL
-! if (gui.in_use)
-! # endif
-! SetFocus(s_hwnd);
- #endif
-
- return (ret > 0);
-***************
-*** 1927,1942 ****
- }
- #endif
-
-! #if (defined(FEAT_EVAL) && !defined(FEAT_GUI)) || defined(PROTO)
- /*
- * Bring ourselves to the foreground. Does work if the OS doesn't allow it.
- */
- void
- win32_set_foreground(void)
- {
-- # ifndef FEAT_GUI
- GetConsoleHwnd(); /* get value of s_hwnd */
-- # endif
- if (s_hwnd != 0)
- SetForegroundWindow(s_hwnd);
- }
---- 1973,1986 ----
- }
- #endif
-
-! #if (defined(FEAT_EVAL) && (!defined(FEAT_GUI) || defined(VIMDLL))) || defined(PROTO)
- /*
- * Bring ourselves to the foreground. Does work if the OS doesn't allow it.
- */
- void
- win32_set_foreground(void)
- {
- GetConsoleHwnd(); /* get value of s_hwnd */
- if (s_hwnd != 0)
- SetForegroundWindow(s_hwnd);
- }
-***************
-*** 2078,2085 ****
-
- # ifdef FEAT_GUI
- /* Wake up the main GUI loop. */
-! if (s_hwnd != 0)
-! PostMessage(s_hwnd, WM_NULL, 0, 0);
- # endif
- return 1;
-
---- 2122,2132 ----
-
- # ifdef FEAT_GUI
- /* Wake up the main GUI loop. */
-! # ifdef VIMDLL
-! if (gui.in_use)
-! # endif
-! if (s_hwnd != 0)
-! PostMessage(s_hwnd, WM_NULL, 0, 0);
- # endif
- return 1;
-
-***************
-*** 2145,2152 ****
- {
- /* When the message window is activated (brought to the foreground),
- * this actually applies to the text window. */
-! #ifndef FEAT_GUI
-! GetConsoleHwnd(); /* get value of s_hwnd */
- #endif
- if (s_hwnd != 0)
- {
---- 2192,2202 ----
- {
- /* When the message window is activated (brought to the foreground),
- * this actually applies to the text window. */
-! #if !defined(FEAT_GUI) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! GetConsoleHwnd(); /* get value of s_hwnd */
- #endif
- if (s_hwnd != 0)
- {
-***************
-*** 2166,2172 ****
- serverInitMessaging(void)
- {
- WNDCLASS wndclass;
-- HINSTANCE s_hinst;
-
- /* Clean up on exit */
- atexit(CleanUpMessaging);
---- 2216,2221 ----
-***************
-*** 2174,2185 ****
- /* Register a window class - we only really care
- * about the window procedure
- */
-- s_hinst = (HINSTANCE)GetModuleHandle(0);
- wndclass.style = 0;
- wndclass.lpfnWndProc = Messaging_WndProc;
- wndclass.cbClsExtra = 0;
- wndclass.cbWndExtra = 0;
-! wndclass.hInstance = s_hinst;
- wndclass.hIcon = NULL;
- wndclass.hCursor = NULL;
- wndclass.hbrBackground = NULL;
---- 2223,2233 ----
- /* Register a window class - we only really care
- * about the window procedure
- */
- wndclass.style = 0;
- wndclass.lpfnWndProc = Messaging_WndProc;
- wndclass.cbClsExtra = 0;
- wndclass.cbWndExtra = 0;
-! wndclass.hInstance = g_hinst;
- wndclass.hIcon = NULL;
- wndclass.hCursor = NULL;
- wndclass.hbrBackground = NULL;
-***************
-*** 2194,2200 ****
- WS_POPUPWINDOW | WS_CAPTION,
- CW_USEDEFAULT, CW_USEDEFAULT,
- 100, 100, NULL, NULL,
-! s_hinst, NULL);
- }
-
- /* Used by serverSendToVim() to find an alternate server name. */
---- 2242,2248 ----
- WS_POPUPWINDOW | WS_CAPTION,
- CW_USEDEFAULT, CW_USEDEFAULT,
- 100, 100, NULL, NULL,
-! g_hinst, NULL);
- }
-
- /* Used by serverSendToVim() to find an alternate server name. */
-***************
-*** 2744,2755 ****
- L"Fixedsys" /* see _ReadVimIni */
- };
-
-! /* Initialise the "current height" to -12 (same as s_lfDefault) just
-! * in case the user specifies a font in "guifont" with no size before a font
-! * with an explicit size has been set. This defaults the size to this value
-! * (-12 equates to roughly 9pt).
-! */
-! int current_font_height = -12; /* also used in gui_w48.c */
-
- /* Convert a string representing a point size into pixels. The string should
- * be a positive decimal number, with an optional decimal point (eg, "12", or
---- 2792,2802 ----
- L"Fixedsys" /* see _ReadVimIni */
- };
-
-! // Initialise the "current height" to -12 (same as s_lfDefault) just
-! // in case the user specifies a font in "guifont" with no size before a font
-! // with an explicit size has been set. This defaults the size to this value
-! // (-12 equates to roughly 9pt).
-! int current_font_height = -12; // also used in gui_w32.c
-
- /* Convert a string representing a point size into pixels. The string should
- * be a positive decimal number, with an optional decimal point (eg, "12", or
-*** ../vim-8.1.1229/src/os_w32dll.c 2019-04-28 19:44:58.074429436 +0200
---- src/os_w32dll.c 2019-04-28 18:58:04.375310506 +0200
-***************
-*** 0 ****
---- 1,27 ----
-+ /* 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.
-+ */
-+ /*
-+ * Windows GUI: main program (DLL) entry point:
-+ *
-+ * Ron Aaron <ronaharon@yahoo.com> wrote this and the DLL support code.
-+ * Adapted by Ken Takata.
-+ */
-+ #ifndef WIN32_LEAN_AND_MEAN
-+ # define WIN32_LEAN_AND_MEAN
-+ #endif
-+ #include <windows.h>
-+
-+ void SaveInst(HINSTANCE hInst);
-+
-+ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
-+ {
-+ if (fdwReason == DLL_PROCESS_ATTACH)
-+ SaveInst(hinstDLL);
-+ return TRUE;
-+ }
-*** ../vim-8.1.1229/src/os_w32exe.c 2019-04-03 20:30:56.085017544 +0200
---- src/os_w32exe.c 2019-04-28 18:55:14.820079984 +0200
-***************
-*** 22,29 ****
- #endif
-
- // cproto doesn't create a prototype for VimMain()
- int _cdecl VimMain(int argc, char **argv);
-! #ifdef FEAT_GUI
- void _cdecl SaveInst(HINSTANCE hInst);
- #endif
-
---- 22,32 ----
- #endif
-
- // cproto doesn't create a prototype for VimMain()
-+ #ifdef VIMDLL
-+ __declspec(dllimport)
-+ #endif
- int _cdecl VimMain(int argc, char **argv);
-! #ifndef VIMDLL
- void _cdecl SaveInst(HINSTANCE hInst);
- #endif
-
-***************
-*** 40,47 ****
- wmain(int argc UNUSED, wchar_t **argv UNUSED)
- # endif
- {
-! # ifdef FEAT_GUI
- SaveInst(hInstance);
- # endif
- VimMain(0, NULL);
-
---- 43,54 ----
- wmain(int argc UNUSED, wchar_t **argv UNUSED)
- # endif
- {
-! # ifndef VIMDLL
-! # ifdef FEAT_GUI
- SaveInst(hInstance);
-+ # else
-+ SaveInst(GetModuleHandleW(NULL));
-+ # endif
- # endif
- VimMain(0, NULL);
-
-*** ../vim-8.1.1229/src/os_win32.c 2019-04-02 22:15:51.348273497 +0200
---- src/os_win32.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 151,157 ****
- # define wcsicmp(a, b) wcscmpi((a), (b))
- #endif
-
-! #ifndef FEAT_GUI_MSWIN
- /* Win32 Console handles for input and output */
- static HANDLE g_hConIn = INVALID_HANDLE_VALUE;
- static HANDLE g_hConOut = INVALID_HANDLE_VALUE;
---- 151,157 ----
- # define wcsicmp(a, b) wcscmpi((a), (b))
- #endif
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- /* Win32 Console handles for input and output */
- static HANDLE g_hConIn = INVALID_HANDLE_VALUE;
- static HANDLE g_hConOut = INVALID_HANDLE_VALUE;
-***************
-*** 179,185 ****
- static void standout(void);
- static int s_cursor_visible = TRUE;
- static int did_create_conin = FALSE;
-! #else
- static int s_dont_use_vimrun = TRUE;
- static int need_vimrun_warning = FALSE;
- static char *vimrun_path = "vimrun ";
---- 179,186 ----
- static void standout(void);
- static int s_cursor_visible = TRUE;
- static int did_create_conin = FALSE;
-! #endif
-! #ifdef FEAT_GUI_MSWIN
- static int s_dont_use_vimrun = TRUE;
- static int need_vimrun_warning = FALSE;
- static char *vimrun_path = "vimrun ";
-***************
-*** 193,199 ****
- static int conpty_stable = 0;
- static void vtp_flag_init();
-
-! #ifndef FEAT_GUI_MSWIN
- static int vtp_working = 0;
- static void vtp_init();
- static void vtp_exit();
---- 194,200 ----
- static int conpty_stable = 0;
- static void vtp_flag_init();
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- static int vtp_working = 0;
- static void vtp_init();
- static void vtp_exit();
-***************
-*** 227,233 ****
- # define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
- #endif
-
-! #ifndef FEAT_GUI_MSWIN
- static int suppress_winsize = 1; /* don't fiddle with console */
- #endif
-
---- 228,234 ----
- # define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
- #endif
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- static int suppress_winsize = 1; /* don't fiddle with console */
- #endif
-
-***************
-*** 235,241 ****
-
- static BOOL win8_or_later = FALSE;
-
-! #ifndef FEAT_GUI_MSWIN
- /* Dynamic loading for portability */
- typedef struct _DYN_CONSOLE_SCREEN_BUFFER_INFOEX
- {
---- 236,242 ----
-
- static BOOL win8_or_later = FALSE;
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- /* Dynamic loading for portability */
- typedef struct _DYN_CONSOLE_SCREEN_BUFFER_INFOEX
- {
-***************
-*** 284,290 ****
- return ver;
- }
-
-! #ifndef FEAT_GUI_MSWIN
- /*
- * Version of ReadConsoleInput() that works with IME.
- * Works around problems on Windows 8.
---- 285,291 ----
- return ver;
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- /*
- * Version of ReadConsoleInput() that works with IME.
- * Works around problems on Windows 8.
-***************
-*** 496,501 ****
---- 497,524 ----
- return dll;
- }
-
-+ #if defined(VIMDLL) || defined(PROTO)
-+ /*
-+ * Check if the current executable file is for the GUI subsystem.
-+ */
-+ int
-+ mch_is_gui_executable(void)
-+ {
-+ PBYTE pImage = (PBYTE)GetModuleHandle(NULL);
-+ PIMAGE_DOS_HEADER pDOS = (PIMAGE_DOS_HEADER)pImage;
-+ PIMAGE_NT_HEADERS pPE;
-+
-+ if (pDOS->e_magic != IMAGE_DOS_SIGNATURE)
-+ return FALSE;
-+ pPE = (PIMAGE_NT_HEADERS)(pImage + pDOS->e_lfanew);
-+ if (pPE->Signature != IMAGE_NT_SIGNATURE)
-+ return FALSE;
-+ if (pPE->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI)
-+ return TRUE;
-+ return FALSE;
-+ }
-+ #endif
-+
- #if defined(DYNAMIC_ICONV) || defined(DYNAMIC_GETTEXT) || defined(PROTO)
- /*
- * Get related information about 'funcname' which is imported by 'hInst'.
-***************
-*** 816,822 ****
- }
- }
-
-! #ifndef FEAT_GUI_MSWIN
-
- #define SHIFT (SHIFT_PRESSED)
- #define CTRL (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED)
---- 839,845 ----
- }
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-
- #define SHIFT (SHIFT_PRESSED)
- #define CTRL (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED)
-***************
-*** 1116,1122 ****
- /*
- * For the GUI the mouse handling is in gui_w32.c.
- */
-! # ifdef FEAT_GUI_MSWIN
- void
- mch_setmouse(int on UNUSED)
- {
---- 1139,1145 ----
- /*
- * For the GUI the mouse handling is in gui_w32.c.
- */
-! # if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
- void
- mch_setmouse(int on UNUSED)
- {
-***************
-*** 1136,1141 ****
---- 1159,1168 ----
- {
- DWORD cmodein;
-
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return;
-+ # endif
- if (!g_fMouseAvail)
- return;
-
-***************
-*** 1454,1459 ****
---- 1481,1491 ----
- int idx;
- int thickness;
-
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return;
-+ # endif
-+
- /*
- * How the cursor is drawn depends on the current mode.
- */
-***************
-*** 1467,1473 ****
- }
- #endif
-
-! #ifndef FEAT_GUI_MSWIN /* this isn't used for the GUI */
- /*
- * Handle FOCUS_EVENT.
- */
---- 1499,1505 ----
- }
- #endif
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- /*
- * Handle FOCUS_EVENT.
- */
-***************
-*** 1677,1689 ****
- return FALSE;
- }
-
-- #ifndef FEAT_GUI_MSWIN
- /*
- * return non-zero if a character is available
- */
- int
- mch_char_avail(void)
- {
- return WaitForChar(0L, FALSE);
- }
-
---- 1709,1724 ----
- return FALSE;
- }
-
- /*
- * return non-zero if a character is available
- */
- int
- mch_char_avail(void)
- {
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return TRUE;
-+ # endif
- return WaitForChar(0L, FALSE);
- }
-
-***************
-*** 1694,1703 ****
- int
- mch_check_messages(void)
- {
- return WaitForChar(0L, TRUE);
- }
- # endif
-- #endif
-
- /*
- * Create the console input. Used when reading stdin doesn't work.
---- 1729,1741 ----
- int
- mch_check_messages(void)
- {
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return TRUE;
-+ # endif
- return WaitForChar(0L, TRUE);
- }
- # endif
-
- /*
- * Create the console input. Used when reading stdin doesn't work.
-***************
-*** 1779,1785 ****
- long time UNUSED,
- int tb_change_cnt UNUSED)
- {
-! #ifndef FEAT_GUI_MSWIN /* this isn't used for the GUI */
-
- int len;
- int c;
---- 1817,1823 ----
- long time UNUSED,
- int tb_change_cnt UNUSED)
- {
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-
- int len;
- int c;
-***************
-*** 1787,1792 ****
---- 1825,1835 ----
- static char_u typeahead[TYPEAHEADLEN]; /* previously typed bytes. */
- static int typeaheadlen = 0;
-
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return 0;
-+ # endif
-+
- /* First use any typeahead that was kept because "buf" was too small. */
- if (typeaheadlen > 0)
- goto theend;
-***************
-*** 2092,2099 ****
- /*
- * GUI version of mch_init().
- */
-! void
-! mch_init(void)
- {
- #ifndef __MINGW32__
- extern int _fmode;
---- 2135,2142 ----
- /*
- * GUI version of mch_init().
- */
-! static void
-! mch_init_g(void)
- {
- #ifndef __MINGW32__
- extern int _fmode;
-***************
-*** 2160,2166 ****
- }
-
-
-! #else /* FEAT_GUI_MSWIN */
-
- #define SRWIDTH(sr) ((sr).Right - (sr).Left + 1)
- #define SRHEIGHT(sr) ((sr).Bottom - (sr).Top + 1)
---- 2203,2211 ----
- }
-
-
-! #endif /* FEAT_GUI_MSWIN */
-!
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-
- #define SRWIDTH(sr) ((sr).Right - (sr).Left + 1)
- #define SRHEIGHT(sr) ((sr).Bottom - (sr).Top + 1)
-***************
-*** 2442,2452 ****
- static ConsoleBuffer g_cbTermcap = { 0 };
-
- #ifdef FEAT_TITLE
-- #ifdef __BORLANDC__
-- typedef HWND (__stdcall *GETCONSOLEWINDOWPROC)(VOID);
-- #else
-- typedef HWND (WINAPI *GETCONSOLEWINDOWPROC)(VOID);
-- #endif
- char g_szOrigTitle[256] = { 0 };
- HWND g_hWnd = NULL; /* also used in os_mswin.c */
- static HICON g_hOrigIconSmall = NULL;
---- 2487,2492 ----
-***************
-*** 2563,2570 ****
- /*
- * non-GUI version of mch_init().
- */
-! void
-! mch_init(void)
- {
- #ifndef FEAT_RESTORE_ORIG_SCREEN
- CONSOLE_SCREEN_BUFFER_INFO csbi;
---- 2603,2610 ----
- /*
- * non-GUI version of mch_init().
- */
-! static void
-! mch_init_c(void)
- {
- #ifndef FEAT_RESTORE_ORIG_SCREEN
- CONSOLE_SCREEN_BUFFER_INFO csbi;
-***************
-*** 2660,2667 ****
- * Shut down and exit with status `r'
- * Careful: mch_exit() may be called before mch_init()!
- */
-! void
-! mch_exit(int r)
- {
- exiting = TRUE;
-
---- 2700,2707 ----
- * Shut down and exit with status `r'
- * Careful: mch_exit() may be called before mch_init()!
- */
-! static void
-! mch_exit_c(int r)
- {
- exiting = TRUE;
-
-***************
-*** 2711,2716 ****
---- 2751,2786 ----
- }
- #endif /* !FEAT_GUI_MSWIN */
-
-+ void
-+ mch_init(void)
-+ {
-+ #ifdef VIMDLL
-+ if (gui.starting)
-+ mch_init_g();
-+ else
-+ mch_init_c();
-+ #elif defined(FEAT_GUI_MSWIN)
-+ mch_init_g();
-+ #else
-+ mch_init_c();
-+ #endif
-+ }
-+
-+ void
-+ mch_exit(int r)
-+ {
-+ #ifdef VIMDLL
-+ if (gui.starting || gui.in_use)
-+ mch_exit_g(r);
-+ else
-+ mch_exit_c(r);
-+ #elif defined(FEAT_GUI_MSWIN)
-+ mch_exit_g(r);
-+ #else
-+ mch_exit_c(r);
-+ #endif
-+ }
-+
- /*
- * Do we have an interactive window?
- */
-***************
-*** 2721,2729 ****
- {
- get_exe_name();
-
-! #ifdef FEAT_GUI_MSWIN
- return OK; /* GUI always has a tty */
- #else
- if (isatty(1))
- return OK;
- return FAIL;
---- 2791,2803 ----
- {
- get_exe_name();
-
-! #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
- return OK; /* GUI always has a tty */
- #else
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return OK;
-+ # endif
- if (isatty(1))
- return OK;
- return FAIL;
-***************
-*** 3446,3452 ****
- #endif
- }
-
-! #ifndef FEAT_GUI_MSWIN
-
- /*
- * handler for ctrl-break, ctrl-c interrupts, and fatal events.
---- 3520,3526 ----
- #endif
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-
- /*
- * handler for ctrl-break, ctrl-c interrupts, and fatal events.
-***************
-*** 3516,3521 ****
---- 3590,3599 ----
- DWORD cmodeout;
- BOOL bEnableHandler;
-
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return;
-+ # endif
- GetConsoleMode(g_hConIn, &cmodein);
- GetConsoleMode(g_hConOut, &cmodeout);
- if (tmode == TMODE_RAW)
-***************
-*** 3528,3534 ****
- #endif
- cmodeout &= ~(
- #ifdef FEAT_TERMGUICOLORS
-! /* Do not turn off the ENABLE_PROCESSRD_OUTPUT flag when using
- * VTP. */
- ((vtp_working) ? 0 : ENABLE_PROCESSED_OUTPUT) |
- #else
---- 3606,3612 ----
- #endif
- cmodeout &= ~(
- #ifdef FEAT_TERMGUICOLORS
-! /* Do not turn off the ENABLE_PROCESSED_OUTPUT flag when using
- * VTP. */
- ((vtp_working) ? 0 : ENABLE_PROCESSED_OUTPUT) |
- #else
-***************
-*** 3570,3575 ****
---- 3648,3657 ----
- {
- CONSOLE_SCREEN_BUFFER_INFO csbi;
-
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return OK;
-+ # endif
- if (!g_fTermcapMode && g_cbTermcap.IsValid)
- {
- /*
-***************
-*** 3717,3722 ****
---- 3799,3808 ----
- {
- COORD coordScreen;
-
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return;
-+ # endif
- /* Don't change window size while still starting up */
- if (suppress_winsize != 0)
- {
-***************
-*** 3744,3749 ****
---- 3830,3839 ----
- void
- mch_new_shellsize(void)
- {
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return;
-+ # endif
- set_scroll_region(0, 0, Columns - 1, Rows - 1);
- }
-
-***************
-*** 4369,4375 ****
- }
-
- static int
-! mch_system(char *cmd, int options)
- {
- /* if we can pipe and the shelltemp option is off */
- if (!p_stmp)
---- 4459,4465 ----
- }
-
- static int
-! mch_system_g(char *cmd, int options)
- {
- /* if we can pipe and the shelltemp option is off */
- if (!p_stmp)
-***************
-*** 4377,4386 ****
- else
- return mch_system_classic(cmd, options);
- }
-! #else
-
- static int
-! mch_system(char *cmd, int options)
- {
- int ret;
- WCHAR *wcmd;
---- 4467,4477 ----
- else
- return mch_system_classic(cmd, options);
- }
-! #endif
-
-+ #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- static int
-! mch_system_c(char *cmd, int options)
- {
- int ret;
- WCHAR *wcmd;
-***************
-*** 4396,4401 ****
---- 4487,4507 ----
-
- #endif
-
-+ static int
-+ mch_system(char *cmd, int options)
-+ {
-+ #ifdef VIMDLL
-+ if (gui.in_use)
-+ return mch_system_g(cmd, options);
-+ else
-+ return mch_system_c(cmd, options);
-+ #elif defined(FEAT_GUI_MSWIN)
-+ return mch_system_g(cmd, options);
-+ #else
-+ return mch_system_c(cmd, options);
-+ #endif
-+ }
-+
- #if defined(FEAT_GUI) && defined(FEAT_TERMINAL)
- /*
- * Use a terminal window to run a shell command in.
-***************
-*** 4527,4533 ****
- #endif
- #if defined(FEAT_GUI) && defined(FEAT_TERMINAL)
- /* TODO: make the terminal window work with input or output redirected. */
-! if (vim_strchr(p_go, GO_TERMINAL) != NULL
- && (options & (SHELL_FILTER|SHELL_DOOUT|SHELL_WRITE|SHELL_READ)) == 0)
- {
- /* Use a terminal window to run the command in. */
---- 4633,4643 ----
- #endif
- #if defined(FEAT_GUI) && defined(FEAT_TERMINAL)
- /* TODO: make the terminal window work with input or output redirected. */
-! if (
-! # ifdef VIMDLL
-! gui.in_use &&
-! # endif
-! vim_strchr(p_go, GO_TERMINAL) != NULL
- && (options & (SHELL_FILTER|SHELL_DOOUT|SHELL_WRITE|SHELL_READ)) == 0)
- {
- /* Use a terminal window to run the command in. */
-***************
-*** 4679,4685 ****
- {
- x = -1;
- #ifdef FEAT_GUI_MSWIN
-! emsg(_("E371: Command not found"));
- #endif
- }
-
---- 4789,4798 ----
- {
- x = -1;
- #ifdef FEAT_GUI_MSWIN
-! # ifdef VIMDLL
-! if (gui.in_use)
-! # endif
-! emsg(_("E371: Command not found"));
- #endif
- }
-
-***************
-*** 4699,4705 ****
- {
- cmdlen = (
- #ifdef FEAT_GUI_MSWIN
-! (!p_stmp ? 0 : STRLEN(vimrun_path)) +
- #endif
- STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10);
-
---- 4812,4818 ----
- {
- cmdlen = (
- #ifdef FEAT_GUI_MSWIN
-! (gui.in_use ? (!p_stmp ? 0 : STRLEN(vimrun_path)) : 0) +
- #endif
- STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10);
-
-***************
-*** 4707,4713 ****
- if (newcmd != NULL)
- {
- #if defined(FEAT_GUI_MSWIN)
-! if (need_vimrun_warning)
- {
- char *msg = _("VIMRUN.EXE not found in your $PATH.\n"
- "External commands will not pause after completion.\n"
---- 4820,4830 ----
- if (newcmd != NULL)
- {
- #if defined(FEAT_GUI_MSWIN)
-! if (
-! # ifdef VIMDLL
-! gui.in_use &&
-! # endif
-! need_vimrun_warning)
- {
- char *msg = _("VIMRUN.EXE not found in your $PATH.\n"
- "External commands will not pause after completion.\n"
-***************
-*** 4722,4728 ****
- vim_free(wtitle);
- need_vimrun_warning = FALSE;
- }
-! if (!s_dont_use_vimrun && p_stmp)
- /* Use vimrun to execute the command. It opens a console
- * window, which can be closed without killing Vim. */
- vim_snprintf((char *)newcmd, cmdlen, "%s%s%s %s %s",
---- 4839,4849 ----
- vim_free(wtitle);
- need_vimrun_warning = FALSE;
- }
-! if (
-! # ifdef VIMDLL
-! gui.in_use &&
-! # endif
-! !s_dont_use_vimrun && p_stmp)
- /* Use vimrun to execute the command. It opens a console
- * window, which can be closed without killing Vim. */
- vim_snprintf((char *)newcmd, cmdlen, "%s%s%s %s %s",
-***************
-*** 4746,4752 ****
- /* Print the return value, unless "vimrun" was used. */
- if (x != 0 && !(options & SHELL_SILENT) && !emsg_silent
- #if defined(FEAT_GUI_MSWIN)
-! && ((options & SHELL_DOOUT) || s_dont_use_vimrun || !p_stmp)
- #endif
- )
- {
---- 4867,4874 ----
- /* Print the return value, unless "vimrun" was used. */
- if (x != 0 && !(options & SHELL_SILENT) && !emsg_silent
- #if defined(FEAT_GUI_MSWIN)
-! && (gui.in_use ?
-! ((options & SHELL_DOOUT) || s_dont_use_vimrun || !p_stmp) : 1)
- #endif
- )
- {
-***************
-*** 5278,5284 ****
- #endif
-
-
-! #ifndef FEAT_GUI_MSWIN
-
- /*
- * Start termcap mode
---- 5400,5406 ----
- #endif
-
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-
- /*
- * Start termcap mode
-***************
-*** 5397,5403 ****
- #endif /* FEAT_GUI_MSWIN */
-
-
-! #ifdef FEAT_GUI_MSWIN
- void
- mch_write(
- char_u *s UNUSED,
---- 5519,5525 ----
- #endif /* FEAT_GUI_MSWIN */
-
-
-! #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
- void
- mch_write(
- char_u *s UNUSED,
-***************
-*** 5694,5700 ****
-
- /*
- * Set the current text attribute = (foreground | background)
-! * See ../doc/os_win32.txt for the numbers.
- */
- static void
- textattr(WORD wAttr)
---- 5816,5822 ----
-
- /*
- * Set the current text attribute = (foreground | background)
-! * See ../runtime/doc/os_win32.txt for the numbers.
- */
- static void
- textattr(WORD wAttr)
-***************
-*** 5924,5929 ****
---- 6046,6056 ----
- char_u *s,
- int len)
- {
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ return;
-+ # endif
-+
- s[len] = NUL;
-
- if (!term_console)
-***************
-*** 6222,6230 ****
- long msec,
- int ignoreinput UNUSED)
- {
-! #ifdef FEAT_GUI_MSWIN
- Sleep((int)msec); /* never wait for input */
- #else /* Console */
- if (ignoreinput)
- # ifdef FEAT_MZSCHEME
- if (mzthreads_allowed() && p_mzq > 0 && msec > p_mzq)
---- 6349,6364 ----
- long msec,
- int ignoreinput UNUSED)
- {
-! #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
- Sleep((int)msec); /* never wait for input */
- #else /* Console */
-+ # ifdef VIMDLL
-+ if (gui.in_use)
-+ {
-+ Sleep((int)msec); /* never wait for input */
-+ return;
-+ }
-+ # endif
- if (ignoreinput)
- # ifdef FEAT_MZSCHEME
- if (mzthreads_allowed() && p_mzq > 0 && msec > p_mzq)
-***************
-*** 6286,6298 ****
- void
- mch_breakcheck(int force)
- {
-! #ifndef FEAT_GUI_MSWIN /* never used */
-! if (g_fCtrlCPressed || g_fCBrkPressed)
-! {
-! ctrl_break_was_pressed = g_fCBrkPressed;
-! g_fCtrlCPressed = g_fCBrkPressed = FALSE;
-! got_int = TRUE;
-! }
- #endif
- }
-
---- 6420,6435 ----
- void
- mch_breakcheck(int force)
- {
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! if (g_fCtrlCPressed || g_fCBrkPressed)
-! {
-! ctrl_break_was_pressed = g_fCBrkPressed;
-! g_fCtrlCPressed = g_fCBrkPressed = FALSE;
-! got_int = TRUE;
-! }
- #endif
- }
-
-***************
-*** 6308,6314 ****
- MEMORYSTATUSEX ms;
-
- /* Need to use GlobalMemoryStatusEx() when there is more memory than
-! * what fits in 32 bits. But it's not always available. */
- ms.dwLength = sizeof(MEMORYSTATUSEX);
- GlobalMemoryStatusEx(&ms);
- if (ms.ullAvailVirtual < ms.ullTotalPhys)
---- 6445,6451 ----
- MEMORYSTATUSEX ms;
-
- /* Need to use GlobalMemoryStatusEx() when there is more memory than
-! * what fits in 32 bits. */
- ms.dwLength = sizeof(MEMORYSTATUSEX);
- GlobalMemoryStatusEx(&ms);
- if (ms.ullAvailVirtual < ms.ullTotalPhys)
-***************
-*** 7098,7114 ****
- vtp_flag_init(void)
- {
- DWORD ver = get_build_number();
-! #ifndef FEAT_GUI_MSWIN
- DWORD mode;
- HANDLE out;
-
-! out = GetStdHandle(STD_OUTPUT_HANDLE);
-
-! vtp_working = (ver >= VTP_FIRST_SUPPORT_BUILD) ? 1 : 0;
-! GetConsoleMode(out, &mode);
-! mode |= (ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
-! if (SetConsoleMode(out, mode) == 0)
-! vtp_working = 0;
- #endif
-
- if (ver >= CONPTY_FIRST_SUPPORT_BUILD)
---- 7235,7256 ----
- vtp_flag_init(void)
- {
- DWORD ver = get_build_number();
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
- DWORD mode;
- HANDLE out;
-
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! {
-! out = GetStdHandle(STD_OUTPUT_HANDLE);
-
-! vtp_working = (ver >= VTP_FIRST_SUPPORT_BUILD) ? 1 : 0;
-! GetConsoleMode(out, &mode);
-! mode |= (ENABLE_PROCESSED_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
-! if (SetConsoleMode(out, mode) == 0)
-! vtp_working = 0;
-! }
- #endif
-
- if (ver >= CONPTY_FIRST_SUPPORT_BUILD)
-***************
-*** 7118,7124 ****
-
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(PROTO)
-
- static void
- vtp_init(void)
---- 7260,7266 ----
-
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) || defined(PROTO)
-
- static void
- vtp_init(void)
-***************
-*** 7343,7349 ****
- return conpty_stable;
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(PROTO)
- void
- resize_console_buf(void)
- {
---- 7485,7491 ----
- return conpty_stable;
- }
-
-! #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) || defined(PROTO)
- void
- resize_console_buf(void)
- {
-*** ../vim-8.1.1229/src/os_win32.h 2019-02-17 17:44:36.219875473 +0100
---- src/os_win32.h 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 78,84 ****
-
- #define HAVE_PUTENV /* at least Bcc 5.2 and MSC have it */
-
-! #ifdef FEAT_GUI_MSWIN
- # define NO_CONSOLE /* don't included console-only code */
- #endif
-
---- 78,84 ----
-
- #define HAVE_PUTENV /* at least Bcc 5.2 and MSC have it */
-
-! #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
- # define NO_CONSOLE /* don't included console-only code */
- #endif
-
-*** ../vim-8.1.1229/src/proto/gui.pro 2018-05-17 13:52:58.000000000 +0200
---- src/proto/gui.pro 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 1,5 ****
- /* gui.c */
-! void gui_start(void);
- void gui_prepare(int *argc, char **argv);
- int gui_init_check(void);
- void gui_init(void);
---- 1,5 ----
- /* gui.c */
-! void gui_start(char_u *arg);
- void gui_prepare(int *argc, char **argv);
- int gui_init_check(void);
- void gui_init(void);
-*** ../vim-8.1.1229/src/proto/gui_w32.pro 2019-04-17 18:24:32.006143206 +0200
---- src/proto/gui_w32.pro 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 61,66 ****
---- 61,67 ----
- char_u *gui_mch_browse(int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter);
- char_u *gui_mch_browsedir(char_u *title, char_u *initdir);
- void gui_mch_set_parent(char *title);
-+ char *gui_mch_do_spawn(char_u *arg);
- void gui_mch_prepare(int *argc, char **argv);
- int gui_mch_init(void);
- void gui_mch_set_shellsize(int width, int height, int min_width, int min_height, int base_width, int base_height, int direction);
-*** ../vim-8.1.1229/src/proto/misc2.pro 2019-02-13 22:45:21.512636158 +0100
---- src/proto/misc2.pro 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 108,111 ****
---- 108,112 ----
- int mch_parse_cmd(char_u *cmd, int use_shcf, char ***argv, int *argc);
- int build_argv_from_string(char_u *cmd, char ***argv, int *argc);
- int build_argv_from_list(list_T *l, char ***argv, int *argc);
-+ int write_session_file(char_u *filename);
- /* vim: set ft=c : */
-*** ../vim-8.1.1229/src/proto/os_mswin.pro 2019-03-30 16:24:12.240380238 +0100
---- src/proto/os_mswin.pro 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 1,5 ****
- /* os_mswin.c */
-! void mch_exit(int r);
- void mch_early_init(void);
- int mch_input_isatty(void);
- void mch_settitle(char_u *title, char_u *icon);
---- 1,5 ----
- /* os_mswin.c */
-! void mch_exit_g(int r);
- void mch_early_init(void);
- int mch_input_isatty(void);
- void mch_settitle(char_u *title, char_u *icon);
-*** ../vim-8.1.1229/src/proto/os_win32.pro 2019-02-17 15:00:48.450637077 +0100
---- src/proto/os_win32.pro 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 1,5 ****
---- 1,6 ----
- /* os_win32.c */
- HINSTANCE vimLoadLib(char *name);
-+ int mch_is_gui_executable(void);
- HINSTANCE find_imported_module_by_funcname(HINSTANCE hInst, const char *funcname);
- void *get_dll_import_func(HINSTANCE hInst, const char *funcname);
- int dyn_libintl_init(void);
-*** ../vim-8.1.1229/src/syntax.c 2019-04-26 22:33:44.896723710 +0200
---- src/syntax.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 8280,8285 ****
---- 8280,8292 ----
- * background/foreground colors. */
- mch_set_normal_colors();
- #else
-+ # ifdef VIMDLL
-+ if (!gui.in_use)
-+ {
-+ mch_set_normal_colors();
-+ return;
-+ }
-+ # endif
- cterm_normal_fg_color = 0;
- cterm_normal_fg_bold = 0;
- cterm_normal_bg_color = 0;
-***************
-*** 9823,9829 ****
- #endif
-
- #if (defined(MSWIN) \
-! && !defined(FEAT_GUI_MSWIN) \
- && defined(FEAT_TERMGUICOLORS)) || defined(PROTO)
- void
- syn_id2cterm_bg(int hl_id, int *fgp, int *bgp)
---- 9830,9836 ----
- #endif
-
- #if (defined(MSWIN) \
-! && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL)) \
- && defined(FEAT_TERMGUICOLORS)) || defined(PROTO)
- void
- syn_id2cterm_bg(int hl_id, int *fgp, int *bgp)
-*** ../vim-8.1.1229/src/term.c 2019-04-21 17:22:29.749014298 +0200
---- src/term.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 4094,4100 ****
- #if defined(MSWIN) && !defined(FEAT_GUI)
- s = vim_strnsave(string, (int)STRLEN(string) + 1);
- #else
-! s = vim_strsave(string);
- #endif
- if (s == NULL)
- return;
---- 4094,4105 ----
- #if defined(MSWIN) && !defined(FEAT_GUI)
- s = vim_strnsave(string, (int)STRLEN(string) + 1);
- #else
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! s = vim_strnsave(string, (int)STRLEN(string) + 1);
-! else
-! # endif
-! s = vim_strsave(string);
- #endif
- if (s == NULL)
- return;
-***************
-*** 4106,4116 ****
- s[0] = term_7to8bit(string);
- }
-
-! #if defined(MSWIN) && !defined(FEAT_GUI)
-! if (s[0] == K_NUL)
- {
-! STRMOVE(s + 1, s);
-! s[1] = 3;
- }
- #endif
-
---- 4111,4126 ----
- s[0] = term_7to8bit(string);
- }
-
-! #if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
- {
-! if (s[0] == K_NUL)
-! {
-! STRMOVE(s + 1, s);
-! s[1] = 3;
-! }
- }
- #endif
-
-***************
-*** 6712,6718 ****
- }
- #endif
-
-! #if (defined(MSWIN) && !defined(FEAT_GUI)) || defined(PROTO)
- static char ksme_str[20];
- static char ksmr_str[20];
- static char ksmd_str[20];
---- 6722,6728 ----
- }
- #endif
-
-! #if (defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))) || defined(PROTO)
- static char ksme_str[20];
- static char ksmr_str[20];
- static char ksmd_str[20];
-***************
-*** 6902,6907 ****
---- 6912,6930 ----
- return 0x1ffffff;
- }
-
-+ # ifdef VIMDLL
-+ static guicolor_T
-+ gui_adjust_rgb(guicolor_T c)
-+ {
-+ if (gui.in_use)
-+ return c;
-+ else
-+ return ((c & 0xff) << 16) | (c & 0x00ff00) | ((c >> 16) & 0xff);
-+ }
-+ # else
-+ # define gui_adjust_rgb(c) (c)
-+ # endif
-+
- guicolor_T
- gui_get_color_cmn(char_u *name)
- {
-***************
-*** 6973,6985 ****
- ((hex_digit(name[5]) << 4) + hex_digit(name[6])));
- if (color > 0xffffff)
- return INVALCOLOR;
-! return color;
- }
-
- /* Check if the name is one of the colors we know */
- for (i = 0; i < (int)(sizeof(rgb_table) / sizeof(rgb_table[0])); i++)
- if (STRICMP(name, rgb_table[i].color_name) == 0)
-! return rgb_table[i].color;
-
- /*
- * Last attempt. Look in the file "$VIMRUNTIME/rgb.txt".
---- 6996,7008 ----
- ((hex_digit(name[5]) << 4) + hex_digit(name[6])));
- if (color > 0xffffff)
- return INVALCOLOR;
-! return gui_adjust_rgb(color);
- }
-
- /* Check if the name is one of the colors we know */
- for (i = 0; i < (int)(sizeof(rgb_table) / sizeof(rgb_table[0])); i++)
- if (STRICMP(name, rgb_table[i].color_name) == 0)
-! return gui_adjust_rgb(rgb_table[i].color);
-
- /*
- * Last attempt. Look in the file "$VIMRUNTIME/rgb.txt".
-***************
-*** 7060,7066 ****
-
- for (i = 0; i < size; i++)
- if (STRICMP(name, colornames_table[i].color_name) == 0)
-! return colornames_table[i].color;
-
- return INVALCOLOR;
- }
---- 7083,7089 ----
-
- for (i = 0; i < size; i++)
- if (STRICMP(name, colornames_table[i].color_name) == 0)
-! return gui_adjust_rgb(colornames_table[i].color);
-
- return INVALCOLOR;
- }
-***************
-*** 7072,7082 ****
-
- if (color > 0xffffff)
- return INVALCOLOR;
-! return color;
- }
- #endif
-
-! #if (defined(MSWIN) && !defined(FEAT_GUI_MSWIN)) || defined(FEAT_TERMINAL) \
- || defined(PROTO)
- static int cube_value[] = {
- 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF
---- 7095,7105 ----
-
- if (color > 0xffffff)
- return INVALCOLOR;
-! return gui_adjust_rgb(color);
- }
- #endif
-
-! #if (defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))) || defined(FEAT_TERMINAL) \
- || defined(PROTO)
- static int cube_value[] = {
- 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF
-*** ../vim-8.1.1229/src/terminal.c 2019-04-21 00:00:07.946354820 +0200
---- src/terminal.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 3553,3559 ****
- }
- else
- {
-! #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
- int tmp;
- #endif
-
---- 3553,3559 ----
- }
- else
- {
-! #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
- int tmp;
- #endif
-
-***************
-*** 3561,3570 ****
- if (cterm_normal_fg_color > 0)
- {
- cterm_color2vterm(cterm_normal_fg_color - 1, fg);
-! # if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
-! tmp = fg->red;
-! fg->red = fg->blue;
-! fg->blue = tmp;
- # endif
- }
- # ifdef FEAT_TERMRESPONSE
---- 3561,3575 ----
- if (cterm_normal_fg_color > 0)
- {
- cterm_color2vterm(cterm_normal_fg_color - 1, fg);
-! # if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! {
-! tmp = fg->red;
-! fg->red = fg->blue;
-! fg->blue = tmp;
-! }
- # endif
- }
- # ifdef FEAT_TERMRESPONSE
-***************
-*** 3575,3584 ****
- if (cterm_normal_bg_color > 0)
- {
- cterm_color2vterm(cterm_normal_bg_color - 1, bg);
-! # if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
-! tmp = bg->red;
-! bg->red = bg->blue;
-! bg->blue = tmp;
- # endif
- }
- # ifdef FEAT_TERMRESPONSE
---- 3580,3594 ----
- if (cterm_normal_bg_color > 0)
- {
- cterm_color2vterm(cterm_normal_bg_color - 1, bg);
-! # if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))
-! # ifdef VIMDLL
-! if (!gui.in_use)
-! # endif
-! {
-! tmp = fg->red;
-! fg->red = fg->blue;
-! fg->blue = tmp;
-! }
- # endif
- }
- # ifdef FEAT_TERMRESPONSE
-***************
-*** 3887,3893 ****
- #endif
- {
- // We roughly estimate the position of the terminal window inside
-! // the Vim window by assuing a 10 x 7 character cell.
- x += wp->w_wincol * 7;
- y += W_WINROW(wp) * 10;
- }
---- 3897,3903 ----
- #endif
- {
- // We roughly estimate the position of the terminal window inside
-! // the Vim window by assuming a 10 x 7 character cell.
- x += wp->w_wincol * 7;
- y += W_WINROW(wp) * 10;
- }
-*** ../vim-8.1.1229/src/ui.c 2019-04-06 22:01:20.756989404 +0200
---- src/ui.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 643,649 ****
- if (gui.in_use)
- return gui_mch_get_winpos(x, y);
- # endif
-! # if defined(MSWIN) && !defined(FEAT_GUI)
- return mch_get_winpos(x, y);
- # else
- # if defined(HAVE_TGETENT) && defined(FEAT_TERMRESPONSE)
---- 643,649 ----
- if (gui.in_use)
- return gui_mch_get_winpos(x, y);
- # endif
-! # if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))
- return mch_get_winpos(x, y);
- # else
- # if defined(HAVE_TGETENT) && defined(FEAT_TERMRESPONSE)
-*** ../vim-8.1.1229/src/version.c 2019-04-28 18:39:59.559845361 +0200
---- src/version.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 3420,3429 ****
- msg(longVersion);
- #ifdef MSWIN
- # ifdef FEAT_GUI_MSWIN
-! # ifdef _WIN64
-! msg_puts(_("\nMS-Windows 64-bit GUI version"));
- # else
- msg_puts(_("\nMS-Windows 32-bit GUI version"));
- # endif
- # ifdef FEAT_OLE
- msg_puts(_(" with OLE support"));
---- 3422,3439 ----
- msg(longVersion);
- #ifdef MSWIN
- # ifdef FEAT_GUI_MSWIN
-! # ifdef VIMDLL
-! # ifdef _WIN64
-! msg_puts(_("\nMS-Windows 64-bit GUI/console version"));
-! # else
-! msg_puts(_("\nMS-Windows 32-bit GUI/console version"));
-! # endif
- # else
-+ # ifdef _WIN64
-+ msg_puts(_("\nMS-Windows 64-bit GUI version"));
-+ # else
- msg_puts(_("\nMS-Windows 32-bit GUI version"));
-+ # endif
- # endif
- # ifdef FEAT_OLE
- msg_puts(_(" with OLE support"));
-*** ../vim-8.1.1229/src/vim.rc 2019-02-18 21:41:34.477750367 +0100
---- src/vim.rc 2019-04-28 18:55:14.828079949 +0200
-***************
-*** 23,29 ****
- //
- IDR_VIM ICON "vim.ico"
-
-! #ifdef FEAT_GUI_MSWIN
- IDR_VIM_ERROR ICON "vim_error.ico"
- IDR_VIM_ALERT ICON "vim_alert.ico"
- IDR_VIM_INFO ICON "vim_info.ico"
---- 23,29 ----
- //
- IDR_VIM ICON "vim.ico"
-
-! #if (defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)) || defined(RCDLL)
- IDR_VIM_ERROR ICON "vim_error.ico"
- IDR_VIM_ALERT ICON "vim_alert.ico"
- IDR_VIM_INFO ICON "vim_info.ico"
-***************
-*** 34,40 ****
---- 34,42 ----
- //
- IDB_TEAROFF BITMAP DISCARDABLE "tearoff.bmp"
- IDR_TOOLBAR1 BITMAP DISCARDABLE "tools.bmp"
-+ #endif // FEAT_GUI_MSWIN
-
-+ #ifndef RCDLL
- //
- // WinXP theme support
- //
-***************
-*** 46,52 ****
- #endif
-
- CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gvim.exe.mnf"
-! #endif // FEAT_GUI_MSWIN
-
- //
- // Type Library
---- 48,54 ----
- #endif
-
- CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gvim.exe.mnf"
-! #endif // RCDLL
-
- //
- // Type Library
-***************
-*** 79,85 ****
---- 81,91 ----
- #endif
-
- FILEOS VOS__WINDOWS32
-+ #ifdef RCDLL
-+ FILETYPE VFT_DLL
-+ #else
- FILETYPE VFT_APP
-+ #endif
- FILESUBTYPE 0x0L
- BEGIN
- BLOCK "StringFileInfo"
-***************
-*** 93,99 ****
- VALUE "InternalName", "VIM\0"
- VALUE "LegalCopyright", "Copyright \251 1996\0"
- VALUE "LegalTrademarks", "Vim\0"
-! VALUE "OriginalFilename", "VIM.EXE\0"
- VALUE "ProductName", "Vim\0"
- VALUE "ProductVersion", VIM_VERSION_MAJOR_STR ", " VIM_VERSION_MINOR_STR ", " VIM_VERSION_BUILD_STR ", " VIM_VERSION_PATCHLEVEL_STR "\0"
- END
---- 99,111 ----
- VALUE "InternalName", "VIM\0"
- VALUE "LegalCopyright", "Copyright \251 1996\0"
- VALUE "LegalTrademarks", "Vim\0"
-! #ifdef VIMDLLBASE
-! VALUE "OriginalFilename", VIMDLLBASE ".dll\0"
-! #elif defined(FEAT_GUI_MSWIN)
-! VALUE "OriginalFilename", "gvim.exe\0"
-! #else
-! VALUE "OriginalFilename", "vim.exe\0"
-! #endif
- VALUE "ProductName", "Vim\0"
- VALUE "ProductVersion", VIM_VERSION_MAJOR_STR ", " VIM_VERSION_MINOR_STR ", " VIM_VERSION_BUILD_STR ", " VIM_VERSION_PATCHLEVEL_STR "\0"
- END
-***************
-*** 104,109 ****
---- 116,122 ----
- END
- END
-
-+ #if !defined(VIMDLL) || defined(RCDLL)
- /*
- * Printing Status Dialog (should only be used when FEAT_PRINTER is defined)
- */
-***************
-*** 121,123 ****
---- 134,137 ----
- CTEXT "Initializing...",IDC_PROGRESS,24,38,157,9
- GROUPBOX "",IDC_BOX1,19,9,170,47
- END
-+ #endif
-*** ../vim-8.1.1229/src/version.c 2019-04-28 18:39:59.559845361 +0200
---- src/version.c 2019-04-28 18:55:14.824079967 +0200
-***************
-*** 769,770 ****
---- 769,772 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 1230,
- /**/
-
---
-Seen on the back of a biker's vest: If you can read this, my wife fell off.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///