Problem: farsi.c and arabic.c are included in a strange way.
Solution: Build them like other files.
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 \
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 \
!endif
vimobj = \
+ $(OBJDIR)\arabic.obj \
$(OBJDIR)\blowfish.obj \
$(OBJDIR)\buffer.obj \
$(OBJDIR)\charset.obj \
$(OBJDIR)\ex_docmd.obj \
$(OBJDIR)\ex_eval.obj \
$(OBJDIR)\ex_getln.obj \
+ $(OBJDIR)\farsi.obj \
$(OBJDIR)\fileio.obj \
$(OBJDIR)\fold.obj \
$(OBJDIR)\getchar.obj \
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 \
$(OUTDIR)/ex_docmd.o \
$(OUTDIR)/ex_eval.o \
$(OUTDIR)/ex_getln.o \
+ $(OUTDIR)/farsi.o \
$(OUTDIR)/fileio.o \
$(OUTDIR)/fold.o \
$(OUTDIR)/getchar.o \
${CC} ${PRE} ${CFLAGS} $< -o $@
SRC = \
+ arabic.c \
blowfish.c \
buffer.c \
charset.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
+ farsi.c \
fileio.c \
fold.c \
getchar.c \
window.c \
version.c
-OBJ = o/blowfish.o \
+OBJ = o/arabic.o \
+ o/blowfish.o \
o/buffer.o \
o/charset.o \
o/crypt.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 \
###########################################################################
+o/arabic.o: arabic.c $(SYMS)
+
o/blowfish.o: blowfish.c $(SYMS)
o/buffer.o: buffer.c $(SYMS)
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)
LINK32_OBJS= \
$(EXTRAS) \
+ "$(INTDIR)/arabic.obj" \
"$(INTDIR)/blowfish.obj" \
"$(INTDIR)/buffer.obj" \
"$(INTDIR)/charset.obj" \
"$(INTDIR)/ex_docmd.obj" \
"$(INTDIR)/ex_eval.obj" \
"$(INTDIR)/ex_getln.obj" \
+ "$(INTDIR)/farsi.obj" \
"$(INTDIR)/fileio.obj" \
"$(INTDIR)/fold.obj" \
"$(INTDIR)/getchar.obj" \
# Begin Source File
+SOURCE=.\arabic.c
+# End Source File
+# Begin Source File
+
SOURCE=.\blowfish.c
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\farsi.c
+# End Source File
+# Begin Source File
+
SOURCE=.\fileio.c
# End Source File
# Begin Source File
REN = $(SHELL) -c mv -f
DEL = $(SHELL) -c rm -f
-SRC = blowfish.c \
+SRC = arabic.c \
+ blowfish.c \
buffer.c \
charset.c \
crypt.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
+ farsi.c \
fileio.c \
fold.c \
getchar.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 \
obj/ex_docmd.o \
obj/ex_eval.o \
obj/ex_getln.o \
+ obj/farsi.o \
obj/fileio.o \
obj/fold.o \
obj/getchar.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 \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
+ proto/farsi.pro \
proto/fileio.pro \
proto/fold.pro \
proto/getchar.pro \
$(OBJ): $(SYMS)
+obj/arabic.o: arabic.c
+ $(CCSYM) $@ arabic.c
+
obj/blowfish.o: blowfish.c
$(CCSYM) $@ blowfish.c
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
.c.o:
${CC} ${CFLAGS} $< -o $@
-SRC = blowfish.c \
+SRC = arabic.c \
+ blowfish.c \
buffer.c \
charset.c \
crypt.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
+ farsi.c \
fileio.c \
fold.c \
getchar.c \
$(NBDEBUG_INCL)
OBJ = \
+ $(OUTDIR)\arabic.obj \
$(OUTDIR)\blowfish.obj \
$(OUTDIR)\buffer.obj \
$(OUTDIR)\charset.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 \
!ENDIF
$(CC) $(CFLAGS) $<
+$(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
+
$(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL)
$(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL)
$(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)
# End Custom Build
proto.h: \
+ proto/arabic.pro \
proto/blowfish.pro \
proto/buffer.pro \
proto/charset.pro \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
+ proto/farsi.pro \
proto/fileio.pro \
proto/getchar.pro \
proto/hardcopy.pro \
PROPT = DEF=PROTO GPROTO GPPARM MAXIMUMERRORS=999 GENPROTOSTATICS GENPROTOPARAMETERS
SRC = \
+ arabic.c \
blowfish.c \
buffer.c \
charset.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
+ farsi.c \
fileio.c \
fold.c \
getchar.c \
version.c
OBJ = \
+ arabic.o \
blowfish.o \
buffer.o \
charset.o \
ex_docmd.o \
ex_eval.o \
ex_getln.o \
+ farsi.o \
fileio.o \
fold.o \
getchar.o \
$(TERMLIB)
PRO = \
+ proto/arabic.pro \
proto/blowfish.pro \
proto/buffer.pro \
proto/charset.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 \
$(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
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
TAGS_INCL = *.h
BASIC_SRC = \
+ arabic.c \
blowfish.c \
buffer.c \
charset.c \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
+ farsi.c \
fileio.c \
fold.c \
getchar.c \
#LINT_SRC = $(BASIC_SRC)
OBJ_COMMON = \
+ objects/arabic.o \
objects/buffer.o \
objects/blowfish.o \
objects/charset.o \
objects/ex_docmd.o \
objects/ex_eval.o \
objects/ex_getln.o \
+ objects/farsi.o \
objects/fileio.o \
objects/fold.o \
objects/getchar.o \
objects/memfile_test.o
PRO_AUTO = \
+ arabic.pro \
blowfish.pro \
buffer.pro \
charset.pro \
ex_docmd.pro \
ex_eval.pro \
ex_getln.pro \
+ farsi.pro \
fileio.pro \
fold.pro \
getchar.pro \
objects:
mkdir objects
+objects/arabic.o: arabic.c
+ $(CCC) -o $@ arabic.c
+
objects/blowfish.o: blowfish.c
$(CCC) -o $@ blowfish.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
###############################################################################
### (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 \
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 \
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 \
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 \
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 \
/*
* 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);
{
return (c == a_HAMZA || c == a_s_HAMZA);
}
+
+#endif /* FEAT_ARABIC */
/*
* 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);
conv_to_pstd();
}
}
+
+#endif /* FEAT_FKMAP */
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
# 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
--- /dev/null
+/* arabic.c */
+int arabic_shape(int c, int *ccp, int *c1p, int prev_c, int prev_c1, int next_c);
+/* vim: set ft=c : */
--- /dev/null
+/* 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 : */
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 : */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1983,
/**/
1982,
/**/