patch 7.4.1364
Problem: The Win 16 code is not maintained and unused. Solution: Remove the Win 16 support.
This commit is contained in:
11
Filelist
11
Filelist
@ -300,7 +300,6 @@ SRC_DOS = \
|
||||
src/Make_dvc.mak \
|
||||
src/Make_ming.mak \
|
||||
src/Make_mvc.mak \
|
||||
src/Make_w16.mak \
|
||||
src/bigvim.bat \
|
||||
src/bigvim64.bat \
|
||||
src/msvcsetup.bat \
|
||||
@ -314,10 +313,7 @@ SRC_DOS = \
|
||||
src/glbl_ime.h \
|
||||
src/gui_dwrite.cpp \
|
||||
src/gui_dwrite.h \
|
||||
src/gui_w16.c \
|
||||
src/gui_w32.c \
|
||||
src/gui_w48.c \
|
||||
src/guiw16rc.h \
|
||||
src/gui_w32_rc.h \
|
||||
src/if_ole.cpp \
|
||||
src/if_ole.h \
|
||||
@ -329,16 +325,12 @@ SRC_DOS = \
|
||||
src/os_msdos.h \
|
||||
src/os_w32dll.c \
|
||||
src/os_w32exe.c \
|
||||
src/os_win16.c \
|
||||
src/os_win32.c \
|
||||
src/os_mswin.c \
|
||||
src/os_win16.h \
|
||||
src/os_win32.h \
|
||||
src/proto/gui_w16.pro \
|
||||
src/proto/gui_w32.pro \
|
||||
src/proto/if_ole.pro \
|
||||
src/proto/os_msdos.pro \
|
||||
src/proto/os_win16.pro \
|
||||
src/proto/os_win32.pro \
|
||||
src/proto/os_mswin.pro \
|
||||
src/testdir/Make_dos.mak \
|
||||
@ -349,8 +341,6 @@ SRC_DOS = \
|
||||
src/vim.rc \
|
||||
src/vimio.h \
|
||||
src/gvim.exe.mnf \
|
||||
src/vim16.def \
|
||||
src/vim16.rc \
|
||||
src/vimrun.c \
|
||||
src/vimtbar.h \
|
||||
src/xpm_w32.c \
|
||||
@ -390,7 +380,6 @@ SRC_DOS_BIN = \
|
||||
src/VisVim/Res/*.bmp \
|
||||
src/tearoff.bmp \
|
||||
src/tools.bmp \
|
||||
src/tools16.bmp \
|
||||
src/vim*.ico \
|
||||
src/vim.tlb \
|
||||
src/vimtbar.lib \
|
||||
|
||||
@ -860,7 +860,7 @@ $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
|
||||
$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
|
||||
$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
|
||||
|
||||
$(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL)
|
||||
$(OUTDIR)/gui_w32.o: gui_w32.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
|
||||
|
||||
$(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
|
||||
|
||||
@ -1175,7 +1175,7 @@ $(OUTDIR)/gui.obj: $(OUTDIR) gui.c $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/gui_beval.obj: $(OUTDIR) gui_beval.c $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c gui_w48.c $(INCL) $(GUI_INCL)
|
||||
$(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/gui_dwrite.obj: $(OUTDIR) gui_dwrite.cpp $(INCL) $(GUI_INCL)
|
||||
|
||||
|
||||
204
src/Make_w16.mak
204
src/Make_w16.mak
@ -1,204 +0,0 @@
|
||||
#
|
||||
# Borland C++ 5.0[12] makefile for vim, 16-bit windows gui version
|
||||
# By Vince Negri
|
||||
#
|
||||
# NOTE: THIS IS OLD AND PROBABLY NO LONGER WORKS.
|
||||
#
|
||||
# *************************************************************
|
||||
# * WARNING!
|
||||
# * This was originally produced by the IDE, but has since been
|
||||
# * modified to make it work properly. Adjust with care!
|
||||
# * In particular, leave LinkerLocalOptsAtW16_gvim16dexe alone
|
||||
# * unless you are a guru.
|
||||
# *************************************************************
|
||||
#
|
||||
# Look for BOR below and either pass a different value or
|
||||
# adjust the path as required. For example
|
||||
# make -fMake_w16.mak -DBOR=C:\PF\Borland\BC5.01 -B BccW16.cfg
|
||||
# make -fMake_w16.mak
|
||||
# Note: $(BOR) is effectively ignored unless BccW16.cfg is rebuilt.
|
||||
#
|
||||
# Does not compile with Borland C++ 4.51 Walter Briscoe 2003-02-24
|
||||
# "out of memory" from compiler if gvim16 wildly wrong. WFB 2003-03-04
|
||||
#
|
||||
# vim16.def must be a DOS-formatted file. (\r\n line endings.)
|
||||
# It is a UNIX-formatted file (\n line endings) in vim-*-extra.tar.gz
|
||||
|
||||
.AUTODEPEND
|
||||
|
||||
#
|
||||
# Borland C++ tools
|
||||
#
|
||||
IMPLIB = Implib
|
||||
BCC = Bcc +BccW16.cfg
|
||||
TLINK = TLink
|
||||
TLIB = TLib
|
||||
BRC = Brc
|
||||
TASM = Tasm
|
||||
#
|
||||
# IDE macros
|
||||
#
|
||||
|
||||
#
|
||||
# Options
|
||||
#
|
||||
!ifndef BOR
|
||||
BOR = D:\BC5
|
||||
!endif
|
||||
|
||||
# !ifndef INTDIR is lethal considering CLEAN below. WFB 2003-03-13
|
||||
INTDIR=w16
|
||||
|
||||
# /Twe Make the target a Windows .EXE with explicit functions exportable +
|
||||
# /x Map file off
|
||||
# /l Include source line numbers in object map files`
|
||||
# /c case sensitive link
|
||||
# /C Case-sensitive exports and imports (16-bit only)
|
||||
# /k Produce "No Stack" warning.
|
||||
# /Oa Minimise segment alignment
|
||||
# /Oc Minimise Chain fixes
|
||||
# /Oi Minimise Iterated data
|
||||
# /Or Minimise resource alignment
|
||||
# /P -P=x Code pack size
|
||||
# /V Windows version for application
|
||||
# /L Folder to search for library files
|
||||
LinkerLocalOptsAtW16_gvim16dexe =/Twe/x/l/c/C/k/Or/Oc/Oa/Oi/P=65535/V3.10
|
||||
|
||||
CompInheritOptsAt_gvim16dexe = \
|
||||
-I$(BOR)\INCLUDE;PROTO;. \
|
||||
-DFEAT_GUI;FEAT_GUI_MSWIN;FEAT_GUI_W16;MSWIN;WIN16;MSWIN16_FASTTEXT \
|
||||
-DFEAT_TOOLBAR;WIN16_3DLOOK
|
||||
|
||||
#
|
||||
# Dependency List
|
||||
#
|
||||
Dep_Gvim16 = \
|
||||
gvim16.exe
|
||||
|
||||
ObjFiles = \
|
||||
$(INTDIR)\buffer.obj\
|
||||
$(INTDIR)\charset.obj\
|
||||
$(INTDIR)\diff.obj\
|
||||
$(INTDIR)\digraph.obj\
|
||||
$(INTDIR)\edit.obj\
|
||||
$(INTDIR)\eval.obj\
|
||||
$(INTDIR)\ex_cmds.obj\
|
||||
$(INTDIR)\ex_cmds2.obj\
|
||||
$(INTDIR)\ex_docmd.obj\
|
||||
$(INTDIR)\ex_eval.obj\
|
||||
$(INTDIR)\ex_getln.obj\
|
||||
$(INTDIR)\fileio.obj\
|
||||
$(INTDIR)\fold.obj\
|
||||
$(INTDIR)\getchar.obj\
|
||||
$(INTDIR)\hardcopy.obj\
|
||||
$(INTDIR)\hashtab.obj\
|
||||
$(INTDIR)\gui.obj\
|
||||
$(INTDIR)\gui_w16.obj\
|
||||
$(INTDIR)\main.obj\
|
||||
$(INTDIR)\mark.obj\
|
||||
$(INTDIR)\mbyte.obj\
|
||||
$(INTDIR)\memfile.obj\
|
||||
$(INTDIR)\memline.obj\
|
||||
$(INTDIR)\menu.obj\
|
||||
$(INTDIR)\message.obj\
|
||||
$(INTDIR)\misc1.obj\
|
||||
$(INTDIR)\misc2.obj\
|
||||
$(INTDIR)\move.obj\
|
||||
$(INTDIR)\normal.obj\
|
||||
$(INTDIR)\ops.obj\
|
||||
$(INTDIR)\option.obj\
|
||||
$(INTDIR)\os_win16.obj\
|
||||
$(INTDIR)\os_msdos.obj\
|
||||
$(INTDIR)\os_mswin.obj\
|
||||
$(INTDIR)\winclip.obj\
|
||||
$(INTDIR)\popupmnu.obj\
|
||||
$(INTDIR)\quickfix.obj\
|
||||
$(INTDIR)\regexp.obj\
|
||||
$(INTDIR)\screen.obj\
|
||||
$(INTDIR)\search.obj\
|
||||
$(INTDIR)\spell.obj\
|
||||
$(INTDIR)\syntax.obj\
|
||||
$(INTDIR)\tag.obj\
|
||||
$(INTDIR)\term.obj\
|
||||
$(INTDIR)\ui.obj\
|
||||
$(INTDIR)\undo.obj\
|
||||
$(INTDIR)\version.obj\
|
||||
$(INTDIR)\window.obj
|
||||
|
||||
Dep_gvim16dexe = \
|
||||
vimtbar.lib\
|
||||
vim16.def\
|
||||
$(INTDIR)\vim16.res\
|
||||
$(ObjFiles)
|
||||
|
||||
# Without the following, the implicit rule in BUILTINS.MAK is picked up
|
||||
# for a rule for .c.obj rather than the local implicit rule
|
||||
.SUFFIXES
|
||||
.SUFFIXES .c .obj
|
||||
.path.c = .
|
||||
|
||||
# -P- Force C++ compilation off
|
||||
# -c Compilation only
|
||||
# -n Place .OBJ files
|
||||
{.}.c{$(INTDIR)}.obj:
|
||||
$(BCC) -P- -c -n$(INTDIR)\ {$< }
|
||||
|
||||
Gvim16 : BccW16.cfg $(Dep_Gvim16)
|
||||
echo MakeNode
|
||||
|
||||
gvim16.exe : $(Dep_gvim16dexe)
|
||||
$(TLINK) $(LinkerLocalOptsAtW16_gvim16dexe) @&&|
|
||||
c0wl.obj $(ObjFiles)
|
||||
|,$*,,vimtbar ctl3dv2 import cwl, vim16.def,$(INTDIR)\vim16.res
|
||||
|
||||
# Force objects to be built if $(BOR) changes
|
||||
$(ObjFiles) : Make_w16.mak BccW16.cfg
|
||||
|
||||
$(INTDIR)\vim16.res : vim16.rc
|
||||
$(BRC) -R @&&|
|
||||
$(CompInheritOptsAt_gvim16dexe) -fo$*.res $?
|
||||
|
|
||||
|
||||
|
||||
# Compiler configuration file
|
||||
# There is no rule for $(INTDIR) as make always says it does not exist
|
||||
BccW16.cfg :
|
||||
-@if not exist $(INTDIR)\$(NULL) mkdir $(INTDIR)
|
||||
Copy &&|
|
||||
-3 ; Generate 80386 protected-mode compatible instructions
|
||||
-a ; Byte alignment
|
||||
-dc ; Move string literals from data segment to code segment
|
||||
-ff ; Fast floating point
|
||||
-H ; Generate and use precompiled headers
|
||||
-H=$(INTDIR)\gvim16.csm ; gvim16.csm is the precompiled header filename
|
||||
-k- ; No standard stack frame
|
||||
-ml ; Large memory model
|
||||
-OW ; Suppress the inc bp/dec bp on windows far functions
|
||||
-O1 ; Generate smallest possible code
|
||||
-O2 ; Generate fastest possible code (overrides prior -O1 control)
|
||||
-pr ; Fastcall calling convention passing parameters in registers
|
||||
-R- ; Exclude browser information in generated .OBJ files
|
||||
-v- ; Turn off source debugging
|
||||
-vi ; Turn inline function expansion on
|
||||
-WE ; Only __far _export functions are exported
|
||||
-w ; Display warnings
|
||||
-w-par ; Suppress: Parameter 'parameter' is never used
|
||||
-w-pch ; Cannot create pre-compiled header: initialized data in header
|
||||
-w-sig ; identifier' declared but never used
|
||||
-w-ucp ; Mixing pointers to different 'char' types
|
||||
-wuse ; 'identifier' declared but never used
|
||||
$(CompInheritOptsAt_gvim16dexe)
|
||||
| $@
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
DEL_TREE = rmdir /s /q
|
||||
!ELSE
|
||||
NULL=nul
|
||||
DEL_TREE = deltree /y
|
||||
!ENDIF
|
||||
|
||||
CLEAN:
|
||||
-@if exist $(INTDIR)\$(NULL) $(DEL_TREE) $(INTDIR)
|
||||
-@if exist BccW16.cfg erase BccW16.cfg
|
||||
-@if exist gvim16.exe erase gvim16.exe
|
||||
13
src/Makefile
13
src/Makefile
@ -1336,7 +1336,7 @@ CARBONGUI_TESTARG = VIMPROG=../$(APPDIR)/Contents/MacOS/$(VIMTARGET)
|
||||
|
||||
# All GUI files
|
||||
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c
|
||||
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_photon.pro
|
||||
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro
|
||||
|
||||
# }}}
|
||||
|
||||
@ -1715,7 +1715,7 @@ PRO_AUTO = \
|
||||
# Resources used for the Mac are in one directory.
|
||||
RSRC_DIR = os_mac_rsrc
|
||||
|
||||
PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
|
||||
PRO_MANUAL = os_amiga.pro os_msdos.pro os_win32.pro \
|
||||
os_mswin.pro winclip.pro os_beos.pro os_vms.pro $(PERL_PRO)
|
||||
|
||||
# Default target is making the executable and tools
|
||||
@ -1868,20 +1868,16 @@ os_msdos.pro: os_msdos.c
|
||||
$(CPROTO) -DMSDOS -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_win16.pro: os_win16.c
|
||||
$(CPROTO) -DWIN16 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_win32.pro: os_win32.c
|
||||
$(CPROTO) -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_mswin.pro: os_mswin.c
|
||||
$(CPROTO) -DWIN16 -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
$(CPROTO) -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
winclip.pro: winclip.c
|
||||
$(CPROTO) -DWIN16 -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
$(CPROTO) -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_beos.pro: os_beos.c
|
||||
@ -2025,6 +2021,7 @@ test_arglist \
|
||||
test_menu \
|
||||
test_perl \
|
||||
test_quickfix \
|
||||
test_reltime \
|
||||
test_searchpos \
|
||||
test_set \
|
||||
test_sort \
|
||||
|
||||
@ -13235,9 +13235,6 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#ifdef VMS
|
||||
"vms",
|
||||
#endif
|
||||
#ifdef WIN16
|
||||
"win16",
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
"win32",
|
||||
#endif
|
||||
|
||||
@ -320,7 +320,7 @@
|
||||
*
|
||||
* Disabled for EBCDIC as it requires multibyte.
|
||||
*/
|
||||
#if defined(FEAT_BIG) && !defined(WIN16) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
|
||||
#if defined(FEAT_BIG) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
|
||||
# define FEAT_ARABIC
|
||||
#endif
|
||||
#ifdef FEAT_ARABIC
|
||||
@ -624,8 +624,7 @@
|
||||
* Multibyte support doesn't work on z/OS Unix currently.
|
||||
*/
|
||||
#if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
|
||||
&& !defined(FEAT_MBYTE) && !defined(WIN16) \
|
||||
&& VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
|
||||
&& !defined(FEAT_MBYTE) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
|
||||
# define FEAT_MBYTE
|
||||
#endif
|
||||
|
||||
@ -763,7 +762,7 @@
|
||||
&& (defined(FEAT_GUI_GTK) \
|
||||
|| (defined(FEAT_GUI_MOTIF) && defined(HAVE_XM_NOTEBOOK_H)) \
|
||||
|| defined(FEAT_GUI_MAC) \
|
||||
|| (defined(FEAT_GUI_MSWIN) && !defined(WIN16) \
|
||||
|| (defined(FEAT_GUI_MSWIN) \
|
||||
&& (!defined(_MSC_VER) || _MSC_VER > 1020)))
|
||||
# define FEAT_GUI_TABLINE
|
||||
#endif
|
||||
|
||||
18
src/gui.c
18
src/gui.c
@ -2184,7 +2184,7 @@ gui_outstr_nowrap(
|
||||
guicolor_T fg_color;
|
||||
guicolor_T bg_color;
|
||||
guicolor_T sp_color;
|
||||
#if !defined(MSWIN16_FASTTEXT) && !defined(FEAT_GUI_GTK)
|
||||
#if !defined(FEAT_GUI_GTK)
|
||||
GuiFont font = NOFONT;
|
||||
# ifdef FEAT_MBYTE
|
||||
GuiFont wide_font = NOFONT;
|
||||
@ -2241,7 +2241,7 @@ gui_outstr_nowrap(
|
||||
highlight_mask = gui.highlight_mask;
|
||||
hl_mask_todo = highlight_mask;
|
||||
|
||||
#if !defined(MSWIN16_FASTTEXT) && !defined(FEAT_GUI_GTK)
|
||||
#if !defined(FEAT_GUI_GTK)
|
||||
/* Set the font */
|
||||
if (aep != NULL && aep->ae_u.gui.font != NOFONT)
|
||||
font = aep->ae_u.gui.font;
|
||||
@ -2358,11 +2358,9 @@ gui_outstr_nowrap(
|
||||
clip_may_clear_selection(gui.row, gui.row);
|
||||
|
||||
|
||||
#ifndef MSWIN16_FASTTEXT
|
||||
/* If there's no bold font, then fake it */
|
||||
if (hl_mask_todo & (HL_BOLD | HL_STANDOUT))
|
||||
draw_flags |= DRAW_BOLD;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* When drawing bold or italic characters the spill-over from the left
|
||||
@ -2383,11 +2381,7 @@ gui_outstr_nowrap(
|
||||
draw_flags |= DRAW_UNDERL;
|
||||
#else
|
||||
/* Do we underline the text? */
|
||||
if ((hl_mask_todo & HL_UNDERLINE)
|
||||
# ifndef MSWIN16_FASTTEXT
|
||||
|| (hl_mask_todo & HL_ITALIC)
|
||||
# endif
|
||||
)
|
||||
if ((hl_mask_todo & HL_UNDERLINE) || (hl_mask_todo & HL_ITALIC))
|
||||
draw_flags |= DRAW_UNDERL;
|
||||
#endif
|
||||
/* Do we undercurl the text? */
|
||||
@ -3338,7 +3332,7 @@ gui_init_which_components(char_u *oldval UNUSED)
|
||||
static int prev_footer = -1;
|
||||
int using_footer = FALSE;
|
||||
#endif
|
||||
#if defined(FEAT_MENU) && !defined(WIN16)
|
||||
#if defined(FEAT_MENU)
|
||||
static int prev_tearoff = -1;
|
||||
int using_tearoff = FALSE;
|
||||
#endif
|
||||
@ -3415,7 +3409,7 @@ gui_init_which_components(char_u *oldval UNUSED)
|
||||
break;
|
||||
#endif
|
||||
case GO_TEAROFF:
|
||||
#if defined(FEAT_MENU) && !defined(WIN16)
|
||||
#if defined(FEAT_MENU)
|
||||
using_tearoff = TRUE;
|
||||
#endif
|
||||
break;
|
||||
@ -3522,7 +3516,7 @@ gui_init_which_components(char_u *oldval UNUSED)
|
||||
fix_size = TRUE;
|
||||
}
|
||||
#endif
|
||||
#if defined(FEAT_MENU) && !defined(WIN16) && !(defined(WIN3264) && !defined(FEAT_TEAROFF))
|
||||
#if defined(FEAT_MENU) && !(defined(WIN3264) && !defined(FEAT_TEAROFF))
|
||||
if (using_tearoff != prev_tearoff)
|
||||
{
|
||||
gui_mch_toggle_tearoffs(using_tearoff);
|
||||
|
||||
1564
src/gui_w16.c
1564
src/gui_w16.c
File diff suppressed because it is too large
Load Diff
4107
src/gui_w32.c
4107
src/gui_w32.c
File diff suppressed because it is too large
Load Diff
4155
src/gui_w48.c
4155
src/gui_w48.c
File diff suppressed because it is too large
Load Diff
@ -1,17 +0,0 @@
|
||||
|
||||
#define IDR_VIM 150
|
||||
|
||||
#define IDR_VIM_ERROR 151
|
||||
#define IDR_VIM_ALERT 152
|
||||
#define IDR_VIM_INFO 153
|
||||
#define IDR_VIM_QUESTION 154
|
||||
|
||||
#define IDR_ICOBUDDYBASE 200
|
||||
|
||||
#define IDR_ICOBUDDY_DEF1 (IDR_ICOBUDDYBASE + 3)
|
||||
#define IDR_ICOBUDDY_DEF2 (IDR_ICOBUDDYBASE + 0)
|
||||
#define IDR_ICOBUDDY_DEF3 (IDR_ICOBUDDYBASE + 1)
|
||||
#define IDR_ICOBUDDY_DEF4 (IDR_ICOBUDDYBASE + 2)
|
||||
|
||||
#define IDR_ICOBUDDY_GRIN (IDR_ICOBUDDYBASE + 4)
|
||||
#define IDR_ICOBUDDY_ALARM (IDR_ICOBUDDYBASE + 5)
|
||||
@ -1400,7 +1400,7 @@ vim_strsave_shellescape(char_u *string, int do_special, int do_newline)
|
||||
length = (unsigned)STRLEN(string) + 3; /* two quotes and a trailing NUL */
|
||||
for (p = string; *p != NUL; mb_ptr_adv(p))
|
||||
{
|
||||
# if defined(WIN32) || defined(WIN16) || defined(DOS)
|
||||
# if defined(WIN32) || defined(DOS)
|
||||
if (!p_ssl)
|
||||
{
|
||||
if (*p == '"')
|
||||
@ -1431,7 +1431,7 @@ vim_strsave_shellescape(char_u *string, int do_special, int do_newline)
|
||||
d = escaped_string;
|
||||
|
||||
/* add opening quote */
|
||||
# if defined(WIN32) || defined(WIN16) || defined(DOS)
|
||||
# if defined(WIN32) || defined(DOS)
|
||||
if (!p_ssl)
|
||||
*d++ = '"';
|
||||
else
|
||||
@ -1440,7 +1440,7 @@ vim_strsave_shellescape(char_u *string, int do_special, int do_newline)
|
||||
|
||||
for (p = string; *p != NUL; )
|
||||
{
|
||||
# if defined(WIN32) || defined(WIN16) || defined(DOS)
|
||||
# if defined(WIN32) || defined(DOS)
|
||||
if (!p_ssl)
|
||||
{
|
||||
if (*p == '"')
|
||||
@ -1483,7 +1483,7 @@ vim_strsave_shellescape(char_u *string, int do_special, int do_newline)
|
||||
}
|
||||
|
||||
/* add terminating quote and finish with a NUL */
|
||||
# if defined(WIN32) || defined(WIN16) || defined(DOS)
|
||||
# if defined(WIN32) || defined(DOS)
|
||||
if (!p_ssl)
|
||||
*d++ = '"';
|
||||
else
|
||||
|
||||
@ -2296,16 +2296,12 @@ static struct vimoption
|
||||
# if defined(MSDOS)
|
||||
(char_u *)"command",
|
||||
# else
|
||||
# if defined(WIN16)
|
||||
(char_u *)"command.com",
|
||||
# else
|
||||
# if defined(WIN3264)
|
||||
(char_u *)"", /* set in set_init_1() */
|
||||
# else
|
||||
(char_u *)"sh",
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif /* VMS */
|
||||
(char_u *)0L} SCRIPTID_INIT},
|
||||
{"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE,
|
||||
@ -2367,7 +2363,7 @@ static struct vimoption
|
||||
{"shellxescape", "sxe", P_STRING|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_sxe, PV_NONE,
|
||||
{
|
||||
#if defined(MSDOS) || defined(WIN16) || defined(WIN3264)
|
||||
#if defined(MSDOS) || defined(WIN3264)
|
||||
(char_u *)"\"&|<>()@^",
|
||||
#else
|
||||
(char_u *)"",
|
||||
|
||||
@ -28,12 +28,6 @@
|
||||
# include <conio.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MS-DOS only code, not used for Win16.
|
||||
*/
|
||||
#ifndef WIN16
|
||||
|
||||
|
||||
#ifndef PROTO
|
||||
# include <bios.h>
|
||||
# ifdef DJGPP
|
||||
@ -2850,11 +2844,6 @@ Win16SetClipboardData(
|
||||
#endif /* FEAT_CLIPBOARD */
|
||||
#endif /* DJGPP */
|
||||
|
||||
/*
|
||||
* End of MS-DOS only code
|
||||
*/
|
||||
#endif /* WIN16 */
|
||||
|
||||
/* common MS-DOS and Win16 code follows */
|
||||
|
||||
static int
|
||||
|
||||
@ -10,28 +10,11 @@
|
||||
/*
|
||||
* os_mswin.c
|
||||
*
|
||||
* Routines common to both Win16 and Win32.
|
||||
* Routines for Win32.
|
||||
*/
|
||||
|
||||
#ifdef WIN16
|
||||
# ifdef __BORLANDC__
|
||||
# pragma warn -par
|
||||
# pragma warn -ucp
|
||||
# pragma warn -use
|
||||
# pragma warn -aus
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
#ifdef WIN16
|
||||
# define SHORT_FNAME /* always 8.3 file name */
|
||||
/* cproto fails on missing include files */
|
||||
# ifndef PROTO
|
||||
# include <dos.h>
|
||||
# endif
|
||||
# include <string.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
#include <limits.h>
|
||||
@ -904,7 +887,6 @@ typedef int (*MYSTRPROCINT)(LPSTR);
|
||||
typedef int (*MYINTPROCINT)(int);
|
||||
# endif
|
||||
|
||||
# ifndef WIN16
|
||||
/*
|
||||
* Check if a pointer points to a valid NUL terminated string.
|
||||
* Return the length of the string, including terminating NUL.
|
||||
@ -944,7 +926,6 @@ check_str_len(char_u *str)
|
||||
|
||||
return 0;
|
||||
}
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Passed to do_in_runtimepath() to load a vim.ico file.
|
||||
@ -991,11 +972,7 @@ mch_libcall(
|
||||
BOOL fRunTimeLinkSuccess = FALSE;
|
||||
|
||||
// Get a handle to the DLL module.
|
||||
# ifdef WIN16
|
||||
hinstLib = LoadLibrary(libname);
|
||||
# else
|
||||
hinstLib = vimLoadLib((char *)libname);
|
||||
# endif
|
||||
|
||||
// If the handle is valid, try to get the function address.
|
||||
if (hinstLib != NULL)
|
||||
@ -1034,15 +1011,7 @@ mch_libcall(
|
||||
if (string_result == NULL)
|
||||
*number_result = retval_int;
|
||||
else if (retval_str != NULL
|
||||
# ifdef WIN16
|
||||
&& retval_str != (char_u *)1
|
||||
&& retval_str != (char_u *)-1
|
||||
&& !IsBadStringPtr(retval_str, INT_MAX)
|
||||
&& (len = strlen(retval_str) + 1) > 0
|
||||
# else
|
||||
&& (len = check_str_len(retval_str)) > 0
|
||||
# endif
|
||||
)
|
||||
&& (len = check_str_len(retval_str)) > 0)
|
||||
{
|
||||
*string_result = lalloc((long_u)len, TRUE);
|
||||
if (*string_result != NULL)
|
||||
@ -1184,9 +1153,6 @@ mch_set_winpos(int x, int y)
|
||||
|
||||
#if (defined(FEAT_PRINTER) && !defined(FEAT_POSTSCRIPT)) || defined(PROTO)
|
||||
|
||||
# ifdef WIN16
|
||||
# define TEXT(a) a
|
||||
# endif
|
||||
/*=================================================================
|
||||
* Win32 printer stuff
|
||||
*/
|
||||
@ -1211,7 +1177,7 @@ static char_u *prt_name = NULL;
|
||||
#define IDC_PRINTTEXT2 402
|
||||
#define IDC_PROGRESS 403
|
||||
|
||||
#if !defined(FEAT_MBYTE) || defined(WIN16)
|
||||
#if !defined(FEAT_MBYTE)
|
||||
# define vimSetDlgItemText(h, i, s) SetDlgItemText(h, i, s)
|
||||
#else
|
||||
static BOOL
|
||||
@ -1456,23 +1422,13 @@ prt_get_cpl(void)
|
||||
int dvoff;
|
||||
int rev_offset;
|
||||
int dpi;
|
||||
#ifdef WIN16
|
||||
POINT pagesize;
|
||||
#endif
|
||||
|
||||
GetTextMetrics(prt_dlg.hDC, &prt_tm);
|
||||
prt_line_height = prt_tm.tmHeight + prt_tm.tmExternalLeading;
|
||||
|
||||
hr = GetDeviceCaps(prt_dlg.hDC, HORZRES);
|
||||
#ifdef WIN16
|
||||
Escape(prt_dlg.hDC, GETPHYSPAGESIZE, NULL, NULL, &pagesize);
|
||||
phyw = pagesize.x;
|
||||
Escape(prt_dlg.hDC, GETPRINTINGOFFSET, NULL, NULL, &pagesize);
|
||||
dvoff = pagesize.x;
|
||||
#else
|
||||
phyw = GetDeviceCaps(prt_dlg.hDC, PHYSICALWIDTH);
|
||||
dvoff = GetDeviceCaps(prt_dlg.hDC, PHYSICALOFFSETX);
|
||||
#endif
|
||||
dpi = GetDeviceCaps(prt_dlg.hDC, LOGPIXELSX);
|
||||
|
||||
rev_offset = phyw - (dvoff + hr);
|
||||
@ -1501,20 +1457,10 @@ prt_get_lpp(void)
|
||||
int rev_offset;
|
||||
int bottom_margin;
|
||||
int dpi;
|
||||
#ifdef WIN16
|
||||
POINT pagesize;
|
||||
#endif
|
||||
|
||||
vr = GetDeviceCaps(prt_dlg.hDC, VERTRES);
|
||||
#ifdef WIN16
|
||||
Escape(prt_dlg.hDC, GETPHYSPAGESIZE, NULL, NULL, &pagesize);
|
||||
phyw = pagesize.y;
|
||||
Escape(prt_dlg.hDC, GETPRINTINGOFFSET, NULL, NULL, &pagesize);
|
||||
dvoff = pagesize.y;
|
||||
#else
|
||||
phyw = GetDeviceCaps(prt_dlg.hDC, PHYSICALHEIGHT);
|
||||
dvoff = GetDeviceCaps(prt_dlg.hDC, PHYSICALOFFSETY);
|
||||
#endif
|
||||
dpi = GetDeviceCaps(prt_dlg.hDC, LOGPIXELSY);
|
||||
|
||||
rev_offset = phyw - (dvoff + vr);
|
||||
@ -1741,12 +1687,6 @@ init_fail_dlg:
|
||||
|
||||
if (err)
|
||||
{
|
||||
#ifdef WIN16
|
||||
char buf[20];
|
||||
|
||||
sprintf(buf, "%ld", err);
|
||||
EMSG2(_("E238: Print error: %s"), buf);
|
||||
#else
|
||||
char_u *buf;
|
||||
|
||||
/* I suspect FormatMessage() doesn't work for values returned by
|
||||
@ -1758,7 +1698,6 @@ init_fail_dlg:
|
||||
EMSG2(_("E238: Print error: %s"),
|
||||
buf == NULL ? (char_u *)_("Unknown") : buf);
|
||||
LocalFree((LPVOID)(buf));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
msg_clr_eos(); /* Maybe canceled */
|
||||
@ -1778,11 +1717,7 @@ mch_print_begin(prt_settings_T *psettings)
|
||||
|
||||
hDlgPrint = CreateDialog(GetModuleHandle(NULL), TEXT("PrintDlgBox"),
|
||||
prt_dlg.hwndOwner, PrintDlgProc);
|
||||
#ifdef WIN16
|
||||
Escape(prt_dlg.hDC, SETABORTPROC, 0, (LPSTR)AbortProc, NULL);
|
||||
#else
|
||||
SetAbortProc(prt_dlg.hDC, AbortProc);
|
||||
#endif
|
||||
wsprintf(szBuffer, _("Printing '%s'"), gettail(psettings->jobname));
|
||||
vimSetDlgItemText(hDlgPrint, IDC_PRINTTEXT1, (char_u *)szBuffer);
|
||||
|
||||
@ -1845,10 +1780,10 @@ mch_print_start_line(int margin, int page_line)
|
||||
int
|
||||
mch_print_text_out(char_u *p, int len)
|
||||
{
|
||||
#if defined(FEAT_PROPORTIONAL_FONTS) || (defined(FEAT_MBYTE) && !defined(WIN16))
|
||||
#if defined(FEAT_PROPORTIONAL_FONTS) || defined(FEAT_MBYTE)
|
||||
SIZE sz;
|
||||
#endif
|
||||
#if defined(FEAT_MBYTE) && !defined(WIN16)
|
||||
#if defined(FEAT_MBYTE)
|
||||
WCHAR *wp = NULL;
|
||||
int wlen = len;
|
||||
|
||||
@ -1888,20 +1823,12 @@ mch_print_text_out(char_u *p, int len)
|
||||
return (prt_pos_x + prt_left_margin + prt_tm.tmAveCharWidth
|
||||
+ prt_tm.tmOverhang > prt_right_margin);
|
||||
#else
|
||||
# ifdef WIN16
|
||||
GetTextExtentPoint(prt_dlg.hDC, (LPCSTR)p, len, &sz);
|
||||
# else
|
||||
GetTextExtentPoint32(prt_dlg.hDC, (LPCSTR)p, len, &sz);
|
||||
# endif
|
||||
prt_pos_x += (sz.cx - prt_tm.tmOverhang);
|
||||
/* This is wrong when printing spaces for a TAB. */
|
||||
if (p[len] == NUL)
|
||||
return FALSE;
|
||||
# ifdef WIN16
|
||||
GetTextExtentPoint(prt_dlg.hDC, p + len, 1, &sz);
|
||||
# else
|
||||
GetTextExtentPoint32(prt_dlg.hDC, p + len, 1, &sz);
|
||||
# endif
|
||||
return (prt_pos_x + prt_left_margin + sz.cx > prt_right_margin);
|
||||
#endif
|
||||
}
|
||||
@ -3027,14 +2954,10 @@ get_logfont(
|
||||
lf->lfWidth = points_to_pixels(p, &p, FALSE, (long_i)printer_dc);
|
||||
break;
|
||||
case 'b':
|
||||
#ifndef MSWIN16_FASTTEXT
|
||||
lf->lfWeight = FW_BOLD;
|
||||
#endif
|
||||
break;
|
||||
case 'i':
|
||||
#ifndef MSWIN16_FASTTEXT
|
||||
lf->lfItalic = TRUE;
|
||||
#endif
|
||||
break;
|
||||
case 'u':
|
||||
lf->lfUnderline = TRUE;
|
||||
|
||||
427
src/os_win16.c
427
src/os_win16.c
@ -1,427 +0,0 @@
|
||||
/* vi:set ts=8 sts=4 sw=4:
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
/*
|
||||
* os_win16.c
|
||||
*
|
||||
* Win16 (Windows 3.1x) system-dependent routines.
|
||||
* Carved brutally from os_win32.c by Vince Negri <vn@aslnet.co.uk>
|
||||
*/
|
||||
#ifdef __BORLANDC__
|
||||
# pragma warn -par
|
||||
# pragma warn -ucp
|
||||
# pragma warn -use
|
||||
# pragma warn -aus
|
||||
# pragma warn -obs
|
||||
#endif
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
/* cproto fails on missing include files */
|
||||
#ifndef PROTO
|
||||
# include <dos.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
#include <limits.h>
|
||||
|
||||
#ifndef PROTO
|
||||
# include <process.h>
|
||||
|
||||
# undef chdir
|
||||
# include <direct.h>
|
||||
# include <shellapi.h> /* required for FindExecutable() */
|
||||
#endif
|
||||
|
||||
|
||||
/* Record all output and all keyboard & mouse input */
|
||||
/* #define MCH_WRITE_DUMP */
|
||||
|
||||
#ifdef MCH_WRITE_DUMP
|
||||
FILE* fdDump = NULL;
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* When generating prototypes for Win32 on Unix, these lines make the syntax
|
||||
* errors disappear. They do not need to be correct.
|
||||
*/
|
||||
#ifdef PROTO
|
||||
typedef int HANDLE;
|
||||
typedef int SMALL_RECT;
|
||||
typedef int COORD;
|
||||
typedef int SHORT;
|
||||
typedef int WORD;
|
||||
typedef int DWORD;
|
||||
typedef int BOOL;
|
||||
typedef int LPSTR;
|
||||
typedef int LPTSTR;
|
||||
typedef int KEY_EVENT_RECORD;
|
||||
typedef int MOUSE_EVENT_RECORD;
|
||||
# define WINAPI
|
||||
typedef int CONSOLE_CURSOR_INFO;
|
||||
typedef char * LPCSTR;
|
||||
# define WINBASEAPI
|
||||
typedef int INPUT_RECORD;
|
||||
# define _cdecl
|
||||
#endif
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
/* being a more ANSI compliant compiler, BorlandC doesn't define _stricoll:
|
||||
* but it does in BC 5.02! */
|
||||
# if __BORLANDC__ < 0x502
|
||||
int _stricoll(char *a, char *b);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* cproto doesn't create a prototype for main() */
|
||||
int _cdecl
|
||||
VimMain
|
||||
(int argc, char **argv);
|
||||
static int (_cdecl *pmain)(int, char **);
|
||||
|
||||
#ifndef PROTO
|
||||
void _cdecl SaveInst(HINSTANCE hInst);
|
||||
static void (_cdecl *pSaveInst)(HINSTANCE);
|
||||
|
||||
int WINAPI
|
||||
WinMain(
|
||||
HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInst,
|
||||
LPSTR lpszCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
int argc;
|
||||
char **argv;
|
||||
char *tofree;
|
||||
char prog[256];
|
||||
|
||||
/*
|
||||
* Ron: added full path name so that the $VIM variable will get set to our
|
||||
* startup path (so the .vimrc file can be found w/o a VIM env. var.)
|
||||
* Remove the ".exe" extension, and find the 1st non-space.
|
||||
*/
|
||||
GetModuleFileName(hInstance, prog, 255);
|
||||
if (*prog != NUL)
|
||||
exe_name = FullName_save((char_u *)prog, FALSE);
|
||||
|
||||
/* Separate the command line into arguments. */
|
||||
argc = get_cmd_args(prog, (char *)lpszCmdLine, &argv, &tofree);
|
||||
if (argc == 0)
|
||||
{
|
||||
/* Error message? */
|
||||
return 0;
|
||||
}
|
||||
|
||||
pSaveInst = SaveInst;
|
||||
pmain = VimMain;
|
||||
pSaveInst(hInstance);
|
||||
pmain(argc, argv);
|
||||
|
||||
free(argv);
|
||||
if (tofree != NULL)
|
||||
free(tofree);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
|
||||
/*
|
||||
* For the GUI the mouse handling is in gui_w32.c.
|
||||
*/
|
||||
void
|
||||
mch_setmouse(
|
||||
int on)
|
||||
{
|
||||
}
|
||||
#endif /* FEAT_MOUSE */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* GUI version of mch_init().
|
||||
*/
|
||||
void
|
||||
mch_init(void)
|
||||
{
|
||||
extern int _fmode;
|
||||
|
||||
|
||||
/* Let critical errors result in a failure, not in a dialog box. Required
|
||||
* for the timestamp test to work on removed floppies. */
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
|
||||
_fmode = O_BINARY; /* we do our own CR-LF translation */
|
||||
|
||||
/* Specify window size. Is there a place to get the default from? */
|
||||
Rows = 25;
|
||||
Columns = 80;
|
||||
|
||||
|
||||
set_option_value((char_u *)"grepprg", 0, (char_u *)"grep -n", 0);
|
||||
|
||||
#ifdef FEAT_CLIPBOARD
|
||||
clip_init(TRUE);
|
||||
|
||||
/*
|
||||
* Vim's own clipboard format recognises whether the text is char, line,
|
||||
* or rectangular block. Only useful for copying between two Vims.
|
||||
* "VimClipboard" was used for previous versions, using the first
|
||||
* character to specify MCHAR, MLINE or MBLOCK.
|
||||
*/
|
||||
clip_star.format = RegisterClipboardFormat("VimClipboard2");
|
||||
clip_star.format_raw = RegisterClipboardFormat("VimRawBytes");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Do we have an interactive window?
|
||||
*/
|
||||
int
|
||||
mch_check_win(
|
||||
int argc,
|
||||
char **argv)
|
||||
{
|
||||
return OK; /* GUI always has a tty */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* return process ID
|
||||
*/
|
||||
long
|
||||
mch_get_pid(void)
|
||||
{
|
||||
return (long)GetCurrentTask();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Specialised version of system().
|
||||
* This version proceeds as follows:
|
||||
* 1. Start the program with WinExec
|
||||
* 2. Wait for the module use count of the program to go to 0
|
||||
* (This is the best way of detecting the program has finished)
|
||||
*/
|
||||
|
||||
static int
|
||||
mch_system(char *cmd, int options)
|
||||
{
|
||||
DWORD ret = 0;
|
||||
UINT wShowWindow;
|
||||
UINT h_module;
|
||||
MSG msg;
|
||||
BOOL again = TRUE;
|
||||
|
||||
/*
|
||||
* It's nicer to run a filter command in a minimized window, but in
|
||||
*/
|
||||
if (options & SHELL_DOOUT)
|
||||
wShowWindow = SW_SHOWMINIMIZED;
|
||||
else
|
||||
wShowWindow = SW_SHOWNORMAL;
|
||||
|
||||
/* Now, run the command */
|
||||
h_module = WinExec((LPCSTR)cmd, wShowWindow);
|
||||
|
||||
if (h_module < 32)
|
||||
{
|
||||
/*error*/
|
||||
ret = -h_module;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Wait for the command to terminate before continuing */
|
||||
while (GetModuleUsage((HINSTANCE)h_module) > 0 && again )
|
||||
{
|
||||
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) && again)
|
||||
{
|
||||
if (msg.message == WM_QUIT)
|
||||
|
||||
{
|
||||
PostQuitMessage(msg.wParam);
|
||||
again = FALSE;
|
||||
}
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Either execute a command by calling the shell or start a new shell
|
||||
*/
|
||||
int
|
||||
mch_call_shell(
|
||||
char_u *cmd,
|
||||
int options) /* SHELL_, see vim.h */
|
||||
{
|
||||
int x;
|
||||
int tmode = cur_tmode;
|
||||
|
||||
out_flush();
|
||||
|
||||
|
||||
#ifdef MCH_WRITE_DUMP
|
||||
if (fdDump)
|
||||
{
|
||||
fprintf(fdDump, "mch_call_shell(\"%s\", %d)\n", cmd, options);
|
||||
fflush(fdDump);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Catch all deadly signals while running the external command, because a
|
||||
* CTRL-C, Ctrl-Break or illegal instruction might otherwise kill us.
|
||||
*/
|
||||
signal(SIGINT, SIG_IGN);
|
||||
signal(SIGILL, SIG_IGN);
|
||||
signal(SIGFPE, SIG_IGN);
|
||||
signal(SIGSEGV, SIG_IGN);
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
signal(SIGABRT, SIG_IGN);
|
||||
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
if (cmd == NULL)
|
||||
{
|
||||
x = mch_system(p_sh, options);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* we use "command" or "cmd" to start the shell; slow but easy */
|
||||
char_u *newcmd;
|
||||
|
||||
newcmd = lalloc(
|
||||
STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10, TRUE);
|
||||
if (newcmd != NULL)
|
||||
{
|
||||
if (STRNICMP(cmd, "start ", 6) == 0)
|
||||
{
|
||||
sprintf((char *)newcmd, "%s\0", cmd+6);
|
||||
if (WinExec((LPCSTR)newcmd, SW_SHOWNORMAL) > 31)
|
||||
x = 0;
|
||||
else
|
||||
x = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf((char *)newcmd, "%s%s %s %s",
|
||||
"",
|
||||
p_sh,
|
||||
p_shcf,
|
||||
cmd);
|
||||
x = mch_system((char *)newcmd, options);
|
||||
}
|
||||
vim_free(newcmd);
|
||||
}
|
||||
}
|
||||
|
||||
if (tmode == TMODE_RAW)
|
||||
settmode(TMODE_RAW); /* set to raw mode */
|
||||
|
||||
if (x && !(options & SHELL_SILENT) && !emsg_silent)
|
||||
{
|
||||
smsg(_("shell returned %d"), x);
|
||||
msg_putchar('\n');
|
||||
}
|
||||
#ifdef FEAT_TITLE
|
||||
resettitle();
|
||||
#endif
|
||||
|
||||
signal(SIGINT, SIG_DFL);
|
||||
signal(SIGILL, SIG_DFL);
|
||||
signal(SIGFPE, SIG_DFL);
|
||||
signal(SIGSEGV, SIG_DFL);
|
||||
signal(SIGTERM, SIG_DFL);
|
||||
signal(SIGABRT, SIG_DFL);
|
||||
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Delay for half a second.
|
||||
*/
|
||||
void
|
||||
mch_delay(
|
||||
long msec,
|
||||
int ignoreinput)
|
||||
{
|
||||
#ifdef MUST_FIX
|
||||
Sleep((int)msec); /* never wait for input */
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* check for an "interrupt signal": CTRL-break or CTRL-C
|
||||
*/
|
||||
void
|
||||
mch_breakcheck(void)
|
||||
{
|
||||
/* never used */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* How much memory is available in Kbyte?
|
||||
*/
|
||||
long_u
|
||||
mch_avail_mem(
|
||||
int special)
|
||||
{
|
||||
return GetFreeSpace(0) >> 10;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Like rename(), returns 0 upon success, non-zero upon failure.
|
||||
* Should probably set errno appropriately when errors occur.
|
||||
*/
|
||||
int
|
||||
mch_rename(
|
||||
const char *pszOldFile,
|
||||
const char *pszNewFile)
|
||||
{
|
||||
|
||||
/*
|
||||
* No need to play tricks, this isn't rubbish like Windows 95 <g>
|
||||
*/
|
||||
return rename(pszOldFile, pszNewFile);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the default shell for the current hardware platform
|
||||
*/
|
||||
char*
|
||||
default_shell(void)
|
||||
{
|
||||
char* psz = NULL;
|
||||
|
||||
psz = "command.com";
|
||||
|
||||
return psz;
|
||||
}
|
||||
143
src/os_win16.h
143
src/os_win16.h
@ -1,143 +0,0 @@
|
||||
/* vi:set ts=8 sts=4 sw=4:
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Win16 (Windows 3.1x) machine-dependent things.
|
||||
*/
|
||||
|
||||
#include "os_dos.h" /* common MS-DOS and Windows stuff */
|
||||
|
||||
#define BINARY_FILE_IO
|
||||
#define USE_EXE_NAME /* use argv[0] for $VIM */
|
||||
#define SYNC_DUP_CLOSE /* sync() a file with dup() and close() */
|
||||
#define USE_TERM_CONSOLE
|
||||
#define HAVE_STRING_H
|
||||
#define HAVE_STRCSPN
|
||||
#define HAVE_STRICMP
|
||||
#define HAVE_STRNICMP
|
||||
#define HAVE_STRFTIME /* guessed */
|
||||
#define HAVE_MEMSET
|
||||
#define USE_TMPNAM /* use tmpnam() instead of mktemp() */
|
||||
#define HAVE_LOCALE_H
|
||||
#define HAVE_FCNTL_H
|
||||
#define HAVE_QSORT
|
||||
#define HAVE_ST_MODE /* have stat.st_mode */
|
||||
#define HAVE_MATH_H
|
||||
//#define USE_FNAME_CASE /* adjust case of file names */
|
||||
#ifndef FEAT_CLIPBOARD
|
||||
# define FEAT_CLIPBOARD /* include clipboard support */
|
||||
#endif
|
||||
#if defined(__DATE__) && defined(__TIME__)
|
||||
# define HAVE_DATE_TIME
|
||||
#endif
|
||||
#define HAVE_AVAIL_MEM
|
||||
|
||||
#define SHORT_FNAME /* always 8.3 file name */
|
||||
|
||||
#define SMALL_MALLOC /* 16 bit storage allocation */
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# define HAVE_PUTENV /* at least Bcc 5.2 has it */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_W16
|
||||
# define NO_CONSOLE /* don't included console-only code */
|
||||
#endif
|
||||
|
||||
/* toupper() is not really broken, but it's very slow. Probably because of
|
||||
* using unicode characters on Windows NT */
|
||||
#define BROKEN_TOUPPER
|
||||
|
||||
#define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
|
||||
|
||||
#ifndef VIM_SIZEOF_INT
|
||||
# define VIM_SIZEOF_INT 2
|
||||
#endif
|
||||
|
||||
typedef long off_t;
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
/* cproto fails on missing include files */
|
||||
#ifndef PROTO
|
||||
# include <dos.h>
|
||||
# include <dir.h>
|
||||
|
||||
# ifndef STRICT
|
||||
# define STRICT
|
||||
# endif
|
||||
# ifndef COBJMACROS
|
||||
# define COBJMACROS /* For OLE: Enable "friendlier" access to objects */
|
||||
# endif
|
||||
# include <windows.h>
|
||||
|
||||
#endif /* PROTO */
|
||||
|
||||
/*
|
||||
* plenty of memory, use large buffers
|
||||
*/
|
||||
#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
|
||||
|
||||
|
||||
#define BASENAMELEN (MAXPATHL-5) /* length of base of file name */
|
||||
|
||||
#ifndef DFLT_MAXMEM
|
||||
# define DFLT_MAXMEM (256) /* use up to 256K for a buffer*/
|
||||
#endif
|
||||
|
||||
#ifndef DFLT_MAXMEMTOT
|
||||
# define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Some simple debugging macros that look and behave a lot like their
|
||||
* namesakes in MFC.
|
||||
*/
|
||||
|
||||
#ifdef _DEBUG
|
||||
|
||||
# if defined(_MSC_VER) && (_MSC_VER >= 1000)
|
||||
/* Use the new debugging tools in Visual C++ 4.x */
|
||||
# include <crtdbg.h>
|
||||
# define ASSERT(f) _ASSERT(f)
|
||||
# else
|
||||
# include <assert.h>
|
||||
# define ASSERT(f) assert(f)
|
||||
# endif
|
||||
|
||||
# define TRACE Trace
|
||||
# define TRACE0(sz) Trace(_T("%s"), _T(sz))
|
||||
# define TRACE1(sz, p1) Trace(_T(sz), p1)
|
||||
# define TRACE2(sz, p1, p2) Trace(_T(sz), p1, p2)
|
||||
# define TRACE3(sz, p1, p2, p3) Trace(_T(sz), p1, p2, p3)
|
||||
|
||||
/* In debug version, writes trace messages to debug stream */
|
||||
void __cdecl
|
||||
Trace(char *pszFormat, ...);
|
||||
|
||||
#else /* !_DEBUG */
|
||||
|
||||
/* These macros should all compile away to nothing */
|
||||
# define ASSERT(f) ((void)0)
|
||||
# define TRACE 1 ? (void)0 : printf
|
||||
# define TRACE0(sz)
|
||||
# define TRACE1(sz, p1)
|
||||
# define TRACE2(sz, p1, p2)
|
||||
# define TRACE3(sz, p1, p2, p3)
|
||||
|
||||
#endif /* !_DEBUG */
|
||||
|
||||
|
||||
#define ASSERT_POINTER(p, type) \
|
||||
ASSERT(((p) != NULL) && IsValidAddress((p), sizeof(type), FALSE))
|
||||
|
||||
#define ASSERT_NULL_OR_POINTER(p, type) \
|
||||
ASSERT(((p) == NULL) || IsValidAddress((p), sizeof(type), FALSE))
|
||||
|
||||
#define mch_setenv(name, val, x) setenv(name, val, x)
|
||||
10
src/proto.h
10
src/proto.h
@ -38,17 +38,9 @@
|
||||
# if defined(UNIX) || defined(__EMX__) || defined(VMS)
|
||||
# include "os_unix.pro"
|
||||
# endif
|
||||
# if defined(MSDOS) || defined(WIN16)
|
||||
# if defined(MSDOS)
|
||||
# include "os_msdos.pro"
|
||||
# endif
|
||||
# ifdef WIN16
|
||||
typedef LPSTR LPWSTR;
|
||||
typedef LPCSTR LPCWSTR;
|
||||
typedef int LPBOOL;
|
||||
# include "os_win16.pro"
|
||||
# include "os_mswin.pro"
|
||||
# include "winclip.pro"
|
||||
# endif
|
||||
# ifdef WIN3264
|
||||
# include "os_win32.pro"
|
||||
# include "os_mswin.pro"
|
||||
|
||||
@ -1,80 +0,0 @@
|
||||
/* gui_w16.c */
|
||||
void gui_mch_set_blinking(long wait, long on, long off);
|
||||
void gui_mch_stop_blink(void);
|
||||
void gui_mch_start_blink(void);
|
||||
LRESULT WINAPI vim_WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
void gui_mch_new_colors(void);
|
||||
void gui_mch_def_colors(void);
|
||||
int gui_mch_open(void);
|
||||
int gui_mch_get_winpos(int *x, int *y);
|
||||
void gui_mch_set_winpos(int x, int y);
|
||||
void gui_mch_set_text_area_pos(int x, int y, int w, int h);
|
||||
void gui_mch_enable_scrollbar(scrollbar_T *sb, int flag);
|
||||
void gui_mch_set_scrollbar_pos(scrollbar_T *sb, int x, int y, int w, int h);
|
||||
void gui_mch_create_scrollbar(scrollbar_T *sb, int orient);
|
||||
int gui_mch_adjust_charheight(void);
|
||||
GuiFont gui_mch_get_font(char_u *name, int giveErrorIfMissing);
|
||||
char_u *gui_mch_get_fontname(GuiFont font, char_u *name);
|
||||
void gui_mch_free_font(GuiFont font);
|
||||
guicolor_T gui_mch_get_color(char_u *name);
|
||||
int gui_mch_haskey(char_u *name);
|
||||
void gui_mch_beep(void);
|
||||
void gui_mch_invert_rectangle(int r, int c, int nr, int nc);
|
||||
void gui_mch_iconify(void);
|
||||
void gui_mch_draw_hollow_cursor(guicolor_T color);
|
||||
void gui_mch_draw_part_cursor(int w, int h, guicolor_T color);
|
||||
void gui_mch_update(void);
|
||||
int gui_mch_wait_for_chars(int wtime);
|
||||
void gui_mch_clear_block(int row1, int col1, int row2, int col2);
|
||||
void gui_mch_clear_all(void);
|
||||
void gui_mch_enable_menu(int flag);
|
||||
void gui_mch_set_menu_pos(int x, int y, int w, int h);
|
||||
void gui_mch_menu_hidden(vimmenu_T *menu, int hidden);
|
||||
void gui_mch_draw_menubar(void);
|
||||
long_u gui_mch_get_rgb(guicolor_T pixel);
|
||||
void gui_mch_activate_window(void);
|
||||
void gui_mch_show_toolbar(int showit);
|
||||
void gui_mch_show_tabline(int showit);
|
||||
int gui_mch_showing_tabline(void);
|
||||
void gui_mch_update_tabline(void);
|
||||
void gui_mch_set_curtab(int nr);
|
||||
void ex_simalt(exarg_T *eap);
|
||||
void gui_mch_find_dialog(exarg_T *eap);
|
||||
void gui_mch_replace_dialog(exarg_T *eap);
|
||||
void gui_mch_mousehide(int hide);
|
||||
void gui_mch_destroy_scrollbar(scrollbar_T *sb);
|
||||
void gui_mch_getmouse(int *x, int *y);
|
||||
void gui_mch_setmouse(int x, int y);
|
||||
void gui_mch_flash(int msec);
|
||||
void gui_mch_delete_lines(int row, int num_lines);
|
||||
void gui_mch_insert_lines(int row, int num_lines);
|
||||
void gui_mch_exit(int rc);
|
||||
void gui_mch_wide_font_changed(void);
|
||||
int gui_mch_init_font(char_u *font_name, int fontset);
|
||||
int gui_mch_maximized(void);
|
||||
void gui_mch_newfont(void);
|
||||
void gui_mch_settitle(char_u *title, char_u *icon);
|
||||
void mch_set_mouse_shape(int shape);
|
||||
char_u *gui_mch_browsedir(char_u *title, char_u *initdir);
|
||||
char_u *gui_mch_browse(int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter);
|
||||
int get_cmd_args(char *prog, char *cmdline, char ***argvp, char **tofree);
|
||||
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);
|
||||
void gui_mch_set_scrollbar_thumb(scrollbar_T *sb, long val, long size, long max);
|
||||
void gui_mch_set_font(GuiFont font);
|
||||
void gui_mch_set_fg_color(guicolor_T color);
|
||||
void gui_mch_set_bg_color(guicolor_T color);
|
||||
void gui_mch_set_sp_color(guicolor_T color);
|
||||
void gui_mch_draw_string(int row, int col, char_u *text, int len, int flags);
|
||||
void gui_mch_flush(void);
|
||||
void gui_mch_get_screen_dimensions(int *screen_w, int *screen_h);
|
||||
void gui_mch_add_menu(vimmenu_T *menu, int pos);
|
||||
void gui_mch_show_popupmenu(vimmenu_T *menu);
|
||||
void gui_make_popup(char_u *path_name, int mouse_pos);
|
||||
void gui_mch_add_menu_item(vimmenu_T *menu, int idx);
|
||||
void gui_mch_destroy_menu(vimmenu_T *menu);
|
||||
void gui_mch_menu_grey(vimmenu_T *menu, int grey);
|
||||
int gui_mch_dialog(int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd);
|
||||
void gui_mch_set_foreground(void);
|
||||
/* vim: set ft=c : */
|
||||
@ -747,6 +747,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1364,
|
||||
/**/
|
||||
1363,
|
||||
/**/
|
||||
@ -3638,9 +3640,6 @@ list_version(void)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef WIN16
|
||||
MSG_PUTS(_("\nMS-Windows 16-bit version"));
|
||||
#endif
|
||||
#ifdef MSDOS
|
||||
# ifdef DJGPP
|
||||
MSG_PUTS(_("\n32-bit MS-DOS version"));
|
||||
|
||||
10
src/vim.h
10
src/vim.h
@ -27,7 +27,7 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64) \
|
||||
#if defined(MSDOS) || defined(WIN32) || defined(_WIN64) \
|
||||
|| defined(__EMX__)
|
||||
# include "vimio.h"
|
||||
#endif
|
||||
@ -150,7 +150,7 @@
|
||||
#if defined(FEAT_GUI_W32) || defined(FEAT_GUI_W16)
|
||||
# define FEAT_GUI_MSWIN
|
||||
#endif
|
||||
#if defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
#if defined(WIN32) || defined(_WIN64)
|
||||
# define MSWIN
|
||||
#endif
|
||||
/* Practically everything is common to both Win32 and Win64 */
|
||||
@ -308,10 +308,6 @@
|
||||
# include "os_msdos.h"
|
||||
#endif
|
||||
|
||||
#ifdef WIN16
|
||||
# include "os_win16.h"
|
||||
#endif
|
||||
|
||||
#ifdef WIN3264
|
||||
# include "os_win32.h"
|
||||
#endif
|
||||
@ -471,7 +467,7 @@ typedef unsigned long u8char_T; /* long should be 32 bits or more */
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_ERRNO_H) || defined(DJGPP) || defined(WIN16) \
|
||||
#if defined(HAVE_ERRNO_H) || defined(DJGPP) \
|
||||
|| defined(WIN32) || defined(_WIN64) || defined(__EMX__)
|
||||
# include <errno.h>
|
||||
#endif
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
CODE PRELOAD EXECUTEONLY
|
||||
DATA MULTIPLE SHARED
|
||||
DESCRIPTION 'Vim 7.4'
|
||||
STACKSIZE 16000
|
||||
HEAPSIZE 10000
|
||||
81
src/vim16.rc
81
src/vim16.rc
@ -1,81 +0,0 @@
|
||||
// vim:ts=8:sw=4:sts=4:
|
||||
//
|
||||
// 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.
|
||||
|
||||
// vim.rc
|
||||
// Icon and version information for the Win32 version of Vim
|
||||
// Must be in DOS format <CR><NL>!
|
||||
|
||||
#include "version.h"
|
||||
#include "gui_w3~1.h"
|
||||
#include "guiw16rc.h"
|
||||
|
||||
//
|
||||
// Icons
|
||||
//
|
||||
IDR_VIM ICON "VIM.ICO"
|
||||
|
||||
#ifndef FEAT_TINY
|
||||
IDR_VIM_ERROR ICON "VIM_ER~1.ICO"
|
||||
IDR_VIM_ALERT ICON "VIM_AL~1.ICO"
|
||||
IDR_VIM_INFO ICON "VIM_INFO.ICO"
|
||||
IDR_VIM_QUESTION ICON "VIM_QU~1.ICO"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Bitmaps
|
||||
//
|
||||
#ifdef FEAT_TOOLBAR
|
||||
IDR_TOOLBAR1 BITMAP DISCARDABLE "tools16.bmp"
|
||||
#endif
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION VIM_VERSION_MAJOR,VIM_VERSION_MINOR,VIM_VERSION_BUILD,VIM_VERSION_PATCHLEVEL
|
||||
PRODUCTVERSION VIM_VERSION_MAJOR,VIM_VERSION_MINOR,VIM_VERSION_BUILD,VIM_VERSION_PATCHLEVEL
|
||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||
|
||||
#if VIM_VERSION_PATCHLEVEL > 0
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS VS_FF_PRERELEASE | VS_FF_DEBUG | VS_FF_PATCHED
|
||||
#else
|
||||
FILEFLAGS VS_FF_PRERELEASE | VS_FF_PATCHED
|
||||
#endif
|
||||
#else
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS VS_FF_PRERELEASE | VS_FF_DEBUG
|
||||
#else
|
||||
FILEFLAGS VS_FF_PRERELEASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
FILEOS VOS__WINDOWS32
|
||||
FILETYPE VFT_APP
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
// 0x0409 == U.S. English; 0x04E4 => Windows Multilingual
|
||||
BLOCK "040904E4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Vim Developers\0"
|
||||
VALUE "FileDescription", "Vi Improved - A Text Editor\0"
|
||||
VALUE "FileVersion", VIM_VERSION_MAJOR_STR ", " VIM_VERSION_MINOR_STR ", " VIM_VERSION_BUILD_STR ", " VIM_VERSION_PATCHLEVEL_STR "\0"
|
||||
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
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 0x4E4
|
||||
END
|
||||
END
|
||||
@ -14,15 +14,6 @@
|
||||
* Also used by Cygwin, using os_unix.c.
|
||||
*/
|
||||
|
||||
#ifdef WIN16
|
||||
# ifdef __BORLANDC__
|
||||
# pragma warn -par
|
||||
# pragma warn -ucp
|
||||
# pragma warn -use
|
||||
# pragma warn -aus
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include "vimio.h"
|
||||
#include "vim.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user