1
0
forked from aniani/vim

patch 7.4.1983

Problem:    farsi.c and arabic.c are included in a strange way.
Solution:   Build them like other files.
This commit is contained in:
Bram Moolenaar 2016-07-02 20:27:50 +02:00
parent 951fa1819a
commit 75464dc434
18 changed files with 123 additions and 44 deletions

View File

@ -116,6 +116,7 @@ SRC_ALL = \
src/testdir/bench*.vim \
src/testdir/samples/*.txt \
src/proto.h \
src/proto/arabic.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/channel.pro \
@ -131,6 +132,7 @@ SRC_ALL = \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/farsi.pro \
src/proto/fileio.pro \
src/proto/fold.pro \
src/proto/getchar.pro \

View File

@ -537,6 +537,7 @@ vimwinmain = \
!endif
vimobj = \
$(OBJDIR)\arabic.obj \
$(OBJDIR)\blowfish.obj \
$(OBJDIR)\buffer.obj \
$(OBJDIR)\charset.obj \
@ -551,6 +552,7 @@ vimobj = \
$(OBJDIR)\ex_docmd.obj \
$(OBJDIR)\ex_eval.obj \
$(OBJDIR)\ex_getln.obj \
$(OBJDIR)\farsi.obj \
$(OBJDIR)\fileio.obj \
$(OBJDIR)\fold.obj \
$(OBJDIR)\getchar.obj \

View File

@ -594,6 +594,7 @@ LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
CUIOBJ = $(OUTDIR)/iscygpty.o
OBJ = \
$(OUTDIR)/arabic.o \
$(OUTDIR)/blowfish.o \
$(OUTDIR)/buffer.o \
$(OUTDIR)/charset.o \
@ -608,6 +609,7 @@ OBJ = \
$(OUTDIR)/ex_docmd.o \
$(OUTDIR)/ex_eval.o \
$(OUTDIR)/ex_getln.o \
$(OUTDIR)/farsi.o \
$(OUTDIR)/fileio.o \
$(OUTDIR)/fold.o \
$(OUTDIR)/getchar.o \

View File

@ -26,6 +26,7 @@ LD = dcc
${CC} ${PRE} ${CFLAGS} $< -o $@
SRC = \
arabic.c \
blowfish.c \
buffer.c \
charset.c \
@ -40,6 +41,7 @@ SRC = \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
farsi.c \
fileio.c \
fold.c \
getchar.c \
@ -75,7 +77,8 @@ SRC = \
window.c \
version.c
OBJ = o/blowfish.o \
OBJ = o/arabic.o \
o/blowfish.o \
o/buffer.o \
o/charset.o \
o/crypt.o \
@ -89,6 +92,7 @@ OBJ = o/blowfish.o \
o/ex_docmd.o \
o/ex_eval.o \
o/ex_getln.o \
o/farsi.o \
o/fileio.o \
o/fold.o \
o/getchar.o \
@ -143,6 +147,8 @@ $(SYMS) : vim.h globals.h keymap.h macros.h ascii.h term.h os_amiga.h structs.h
###########################################################################
o/arabic.o: arabic.c $(SYMS)
o/blowfish.o: blowfish.c $(SYMS)
o/buffer.o: buffer.c $(SYMS)
@ -171,6 +177,8 @@ o/ex_eval.o: ex_eval.c $(SYMS) ex_cmds.h
o/ex_getln.o: ex_getln.c $(SYMS)
o/farsi.o: farsi.c $(SYMS)
o/fileio.o: fileio.c $(SYMS)
o/fold.o: fold.c $(SYMS)

View File

@ -210,6 +210,7 @@ ALL : .\$(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvime
LINK32_OBJS= \
$(EXTRAS) \
"$(INTDIR)/arabic.obj" \
"$(INTDIR)/blowfish.obj" \
"$(INTDIR)/buffer.obj" \
"$(INTDIR)/charset.obj" \
@ -224,6 +225,7 @@ LINK32_OBJS= \
"$(INTDIR)/ex_docmd.obj" \
"$(INTDIR)/ex_eval.obj" \
"$(INTDIR)/ex_getln.obj" \
"$(INTDIR)/farsi.obj" \
"$(INTDIR)/fileio.obj" \
"$(INTDIR)/fold.obj" \
"$(INTDIR)/getchar.obj" \
@ -330,6 +332,10 @@ GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
# Begin Source File
SOURCE=.\arabic.c
# End Source File
# Begin Source File
SOURCE=.\blowfish.c
# End Source File
# Begin Source File
@ -386,6 +392,10 @@ SOURCE=.\ex_getln.c
# End Source File
# Begin Source File
SOURCE=.\farsi.c
# End Source File
# Begin Source File
SOURCE=.\fileio.c
# End Source File
# Begin Source File

View File

@ -36,7 +36,8 @@ SHELL = csh
REN = $(SHELL) -c mv -f
DEL = $(SHELL) -c rm -f
SRC = blowfish.c \
SRC = arabic.c \
blowfish.c \
buffer.c \
charset.c \
crypt.c \
@ -50,6 +51,7 @@ SRC = blowfish.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
farsi.c \
fileio.c \
fold.c \
getchar.c \
@ -87,7 +89,8 @@ SRC = blowfish.c \
INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
OBJ = obj/blowfish.o \
OBJ = obj/arabic.o \
obj/blowfish.o \
obj/buffer.o \
obj/charset.o \
obj/crypt.o \
@ -101,6 +104,7 @@ OBJ = obj/blowfish.o \
obj/ex_docmd.o \
obj/ex_eval.o \
obj/ex_getln.o \
obj/farsi.o \
obj/fileio.o \
obj/fold.o \
obj/getchar.o \
@ -136,7 +140,8 @@ OBJ = obj/blowfish.o \
obj/window.o \
$(TERMLIB)
PRO = proto/blowfish.pro \
PRO = proto/arabic.pro \
proto/blowfish.pro \
proto/buffer.pro \
proto/charset.pro \
proto/crypt.pro \
@ -150,6 +155,7 @@ PRO = proto/blowfish.pro \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
proto/farsi.pro \
proto/fileio.pro \
proto/fold.pro \
proto/getchar.pro \
@ -229,6 +235,9 @@ CCNOSYM = $(CC) $(CFLAGS) -o
$(OBJ): $(SYMS)
obj/arabic.o: arabic.c
$(CCSYM) $@ arabic.c
obj/blowfish.o: blowfish.c
$(CCSYM) $@ blowfish.c
@ -272,6 +281,9 @@ obj/ex_eval.o: ex_eval.c ex_cmds.h
obj/ex_getln.o: ex_getln.c
$(CCSYM) $@ ex_getln.c
obj/farsi.o: farsi.c
$(CCSYM) $@ farsi.c
obj/fileio.o: fileio.c
$(CCSYM) $@ fileio.c

View File

@ -24,7 +24,8 @@ RM = rm
.c.o:
${CC} ${CFLAGS} $< -o $@
SRC = blowfish.c \
SRC = arabic.c \
blowfish.c \
buffer.c \
charset.c \
crypt.c \
@ -38,6 +39,7 @@ SRC = blowfish.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
farsi.c \
fileio.c \
fold.c \
getchar.c \

View File

@ -548,6 +548,7 @@ INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
$(NBDEBUG_INCL)
OBJ = \
$(OUTDIR)\arabic.obj \
$(OUTDIR)\blowfish.obj \
$(OUTDIR)\buffer.obj \
$(OUTDIR)\charset.obj \
@ -562,6 +563,7 @@ OBJ = \
$(OUTDIR)\ex_docmd.obj \
$(OUTDIR)\ex_eval.obj \
$(OUTDIR)\ex_getln.obj \
$(OUTDIR)\farsi.obj \
$(OUTDIR)\fileio.obj \
$(OUTDIR)\fold.obj \
$(OUTDIR)\getchar.obj \
@ -1148,6 +1150,8 @@ testclean:
!ENDIF
$(CC) $(CFLAGS) $<
$(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
$(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL)
$(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL)
@ -1176,6 +1180,8 @@ $(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL) ex_cmds.h
$(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL)
$(OUTDIR)/farsi.obj: $(OUTDIR) farsi.c $(INCL)
$(OUTDIR)/fileio.obj: $(OUTDIR) fileio.c $(INCL)
$(OUTDIR)/fold.obj: $(OUTDIR) fold.c $(INCL)
@ -1346,6 +1352,7 @@ auto:
# End Custom Build
proto.h: \
proto/arabic.pro \
proto/blowfish.pro \
proto/buffer.pro \
proto/charset.pro \
@ -1360,6 +1367,7 @@ proto.h: \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
proto/farsi.pro \
proto/fileio.pro \
proto/getchar.pro \
proto/hardcopy.pro \

View File

@ -89,6 +89,7 @@ CFLAGS4 = $(DEFINES) DATAMEMORY=$(MEMORYTYPE)
PROPT = DEF=PROTO GPROTO GPPARM MAXIMUMERRORS=999 GENPROTOSTATICS GENPROTOPARAMETERS
SRC = \
arabic.c \
blowfish.c \
buffer.c \
charset.c \
@ -103,6 +104,7 @@ SRC = \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
farsi.c \
fileio.c \
fold.c \
getchar.c \
@ -139,6 +141,7 @@ SRC = \
version.c
OBJ = \
arabic.o \
blowfish.o \
buffer.o \
charset.o \
@ -153,6 +156,7 @@ OBJ = \
ex_docmd.o \
ex_eval.o \
ex_getln.o \
farsi.o \
fileio.o \
fold.o \
getchar.o \
@ -189,6 +193,7 @@ OBJ = \
$(TERMLIB)
PRO = \
proto/arabic.pro \
proto/blowfish.pro \
proto/buffer.pro \
proto/charset.pro \
@ -203,6 +208,7 @@ PRO = \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
proto/farsi.pro \
proto/fileio.pro \
proto/fold.pro \
proto/getchar.pro \
@ -293,6 +299,8 @@ $(PRO): $(GST) vim.h
$(CC) $(CFLAGS) GPFILE=proto/$*.pro $(PROPT) $*.c
# dependencies
arabic.o: arabic.c
proto/arabic.pro: arabic.c
blowfish.o: blowfish.c
proto/blowfish.pro: blowfish.c
buffer.o: buffer.c
@ -321,6 +329,8 @@ ex_eval.o: ex_eval.c ex_cmds.h
proto/ex_eval.pro: ex_eval.c ex_cmds.h
ex_getln.o: ex_getln.c
proto/ex_getln.pro: ex_getln.c
farsi.o: farsi.c
proto/farsi.pro: farsi.c
fileio.o: fileio.c
proto/fileio.pro: fileio.c
fold.o: fold.c

View File

@ -1478,6 +1478,7 @@ DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
TAGS_INCL = *.h
BASIC_SRC = \
arabic.c \
blowfish.c \
buffer.c \
charset.c \
@ -1492,6 +1493,7 @@ BASIC_SRC = \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
farsi.c \
fileio.c \
fold.c \
getchar.c \
@ -1575,6 +1577,7 @@ LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
#LINT_SRC = $(BASIC_SRC)
OBJ_COMMON = \
objects/arabic.o \
objects/buffer.o \
objects/blowfish.o \
objects/charset.o \
@ -1589,6 +1592,7 @@ OBJ_COMMON = \
objects/ex_docmd.o \
objects/ex_eval.o \
objects/ex_getln.o \
objects/farsi.o \
objects/fileio.o \
objects/fold.o \
objects/getchar.o \
@ -1652,6 +1656,7 @@ MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
objects/memfile_test.o
PRO_AUTO = \
arabic.pro \
blowfish.pro \
buffer.pro \
charset.pro \
@ -1666,6 +1671,7 @@ PRO_AUTO = \
ex_docmd.pro \
ex_eval.pro \
ex_getln.pro \
farsi.pro \
fileio.pro \
fold.pro \
getchar.pro \
@ -2749,6 +2755,9 @@ auto/gui_gtk_gresources.h: gui_gtk_res.xml $(GUI_GTK_RES_INPUTS)
objects:
mkdir objects
objects/arabic.o: arabic.c
$(CCC) -o $@ arabic.c
objects/blowfish.o: blowfish.c
$(CCC) -o $@ blowfish.c
@ -2791,6 +2800,9 @@ objects/ex_eval.o: ex_eval.c
objects/ex_getln.o: ex_getln.c
$(CCC) -o $@ ex_getln.c
objects/farsi.o: farsi.c
$(CCC) -o $@ farsi.c
objects/fileio.o: fileio.c
$(CCC) -o $@ fileio.c
@ -3110,6 +3122,10 @@ $(APPDIR)/Contents:
###############################################################################
### (automatically generated by 'make depend')
### Dependencies:
objects/arabic.o: arabic.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
farsi.h arabic.h
objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
@ -3166,6 +3182,10 @@ objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
objects/farsi.o: farsi.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
farsi.h arabic.h
objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
@ -3201,7 +3221,7 @@ objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
farsi.h arabic.h farsi.c arabic.c
farsi.h arabic.h
objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
@ -3314,10 +3334,10 @@ objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
objects/gui_gtk.o: gui_gtk.c gui_gtk_f.h vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
objects/gui_gtk.o: gui_gtk.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
farsi.h arabic.h gui_gtk_f.h
objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
@ -3394,11 +3414,11 @@ objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.
objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h farsi.c arabic.c json.c
globals.h farsi.h arabic.h json.c
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h proto.h globals.h farsi.h arabic.h farsi.c arabic.c memfile.c
ex_cmds.h proto.h globals.h farsi.h arabic.h memfile.c
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \

View File

@ -10,14 +10,13 @@
/*
* arabic.c: functions for Arabic language
*
* Included by main.c, when FEAT_ARABIC & FEAT_GUI is defined.
*
* --
*
* Author: Nadim Shaikli & Isam Bayazidi
*
*/
#include "vim.h"
#if defined(FEAT_ARABIC) || defined(PROTO)
static int A_is_a(int cur_c);
static int A_is_s(int cur_c);
static int A_is_f(int cur_c);
@ -1148,3 +1147,5 @@ A_is_special(int c)
{
return (c == a_HAMZA || c == a_s_HAMZA);
}
#endif /* FEAT_ARABIC */

View File

@ -9,10 +9,12 @@
/*
* farsi.c: functions for Farsi language
*
* Included by main.c, when FEAT_FKMAP is defined.
*/
#include "vim.h"
#if defined(FEAT_FKMAP) || defined(PROTO)
static int toF_Xor_X_(int c);
static int F_is_TyE(int c);
static int F_is_TyC_TyD(int c);
@ -2189,3 +2191,5 @@ farsi_f9(cmdarg_T *cap UNUSED)
conv_to_pstd();
}
}
#endif /* FEAT_FKMAP */

View File

@ -4186,17 +4186,3 @@ serverConvert(
return res;
}
#endif
/*
* When FEAT_FKMAP is defined, also compile the Farsi source code.
*/
#if defined(FEAT_FKMAP) || defined(PROTO)
# include "farsi.c"
#endif
/*
* When FEAT_ARABIC is defined, also compile the Arabic source code.
*/
#if defined(FEAT_ARABIC) || defined(PROTO)
# include "arabic.c"
#endif

View File

@ -92,6 +92,12 @@ extern int _stricoll(char *a, char *b);
# ifdef FEAT_MENU
# include "menu.pro"
# endif
# ifdef FEAT_FKMAP
# include "farsi.pro"
# endif
# ifdef FEAT_ARABIC
# include "arabic.pro"
# endif
/* These prototypes cannot be produced automatically. */
int

3
src/proto/arabic.pro Normal file
View File

@ -0,0 +1,3 @@
/* arabic.c */
int arabic_shape(int c, int *ccp, int *c1p, int prev_c, int prev_c1, int next_c);
/* vim: set ft=c : */

12
src/proto/farsi.pro Normal file
View File

@ -0,0 +1,12 @@
/* farsi.c */
int fkmap(int c);
char_u *lrswap(char_u *ibuf);
char_u *lrFswap(char_u *cmdbuf, int len);
char_u *lrF_sub(char_u *ibuf);
int cmdl_fkmap(int c);
int F_isalpha(int c);
int F_isdigit(int c);
int F_ischar(int c);
void farsi_f8(cmdarg_T *cap);
void farsi_f9(cmdarg_T *cap);
/* vim: set ft=c : */

View File

@ -10,15 +10,4 @@ void time_msg(char *mesg, void *tv_start);
void server_to_input_buf(char_u *str);
char_u *eval_client_expr_to_string(char_u *expr);
char_u *serverConvert(char_u *client_enc, char_u *data, char_u **tofree);
int fkmap(int c);
char_u *lrswap(char_u *ibuf);
char_u *lrFswap(char_u *cmdbuf, int len);
char_u *lrF_sub(char_u *ibuf);
int cmdl_fkmap(int c);
int F_isalpha(int c);
int F_isdigit(int c);
int F_ischar(int c);
void farsi_f8(cmdarg_T *cap);
void farsi_f9(cmdarg_T *cap);
int arabic_shape(int c, int *ccp, int *c1p, int prev_c, int prev_c1, int next_c);
/* vim: set ft=c : */

View File

@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1983,
/**/
1982,
/**/