summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0932
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0932')
-rw-r--r--data/vim/patches/8.1.09326097
1 files changed, 6097 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0932 b/data/vim/patches/8.1.0932
new file mode 100644
index 000000000..dee2cf331
--- /dev/null
+++ b/data/vim/patches/8.1.0932
@@ -0,0 +1,6097 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0932
+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.0932
+Problem: Farsi support is outdated and unused.
+Solution: Delete the Farsi support.
+Files: Filelist, src/farsi.c, src/proto/farsi.pro, src/farsi.h, src/edit.c,
+ src/main.c, src/normal.c, src/option.c, src/getchar.c,
+ src/ex_cmds.c, src/search.c, src/ex_getln.c, src/charset.c,
+ src/evalfunc.c, src/screen.c, src/window.c, src/globals.h,
+ src/proto.h, farsi/README.txt, src/structs.h,
+ farsi/fonts/DOS/far-a01.com, farsi/fonts/SunOs/far-a01.fb,
+ farsi/fonts/UNIXs/far-a01.f16, farsi/fonts/UNIXs/far-a01.pcf.gz,
+ farsi/fonts/UNIXs/far-a01.pcf.Z, farsi/fonts/WINDOWS/far-a01.fon,
+ src/Makefile, src/Make_bc5.mak, src/Make_cyg_ming.mak,
+ src/Make_dice.mak, src/Make_ivc.mak, src/Make_manx.mak,
+ src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak,
+ src/Make_vms.mms, src/configure.ac, src/auto/configure,
+ src/config.h.in, src/testdir/test_farsi.vim, src/version.c,
+ src/testdir/Make_all.mak, runtime/doc/options.txt,
+ runtime/doc/starting.txt, runtime/doc/quickref.txt,
+ runtime/doc/farsi.txt
+
+
+*** ../vim-8.1.0931/Filelist 2019-02-13 22:45:21.504636232 +0100
+--- Filelist 2019-02-16 14:26:56.131450066 +0100
+***************
+*** 37,44 ****
+ src/ex_docmd.c \
+ src/ex_eval.c \
+ src/ex_getln.c \
+- src/farsi.c \
+- src/farsi.h \
+ src/feature.h \
+ src/fileio.c \
+ src/findfile.c \
+--- 37,42 ----
+***************
+*** 169,175 ****
+ 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/findfile.pro \
+ src/proto/fold.pro \
+--- 167,172 ----
+***************
+*** 837,844 ****
+ $(SRC_EXTRA) \
+ README_extra.txt \
+ src/VisVim/VisVim.dll \
+- farsi/README.txt \
+- farsi/fonts/*/far-* \
+ runtime/vimlogo.xpm \
+ src/tee/Makefile \
+ src/tee/Make_mvc.mak \
+--- 834,839 ----
+*** ../vim-8.1.0931/src/farsi.c 2019-01-19 17:43:03.409449198 +0100
+--- src/farsi.c 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,2179 ****
+- /* 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.
+- */
+-
+- /*
+- * farsi.c: functions for Farsi language
+- */
+-
+- #include "vim.h"
+-
+- #if defined(FEAT_FKMAP) || defined(PROTO)
+-
+- static int F_is_TyB_TyC_TyD(int src, int offset);
+-
+- /*
+- * Convert the given Farsi character into a _X or _X_ type
+- */
+- static int
+- toF_Xor_X_(int c)
+- {
+- int tempc;
+-
+- switch (c)
+- {
+- case BE: return _BE;
+- case PE: return _PE;
+- case TE: return _TE;
+- case SE: return _SE;
+- case JIM: return _JIM;
+- case CHE: return _CHE;
+- case HE_J: return _HE_J;
+- case XE: return _XE;
+- case SIN: return _SIN;
+- case SHIN: return _SHIN;
+- case SAD: return _SAD;
+- case ZAD: return _ZAD;
+- case AYN: return _AYN;
+- case AYN_: return _AYN_;
+- case GHAYN: return _GHAYN;
+- case GHAYN_: return _GHAYN_;
+- case FE: return _FE;
+- case GHAF: return _GHAF;
+- case KAF: return _KAF;
+- case GAF: return _GAF;
+- case LAM: return _LAM;
+- case MIM: return _MIM;
+- case NOON: return _NOON;
+- case YE:
+- case YE_: return _YE;
+- case YEE:
+- case YEE_: return _YEE;
+- case IE:
+- case IE_: return _IE;
+- case F_HE:
+- tempc = _HE;
+-
+- if (p_ri && (curwin->w_cursor.col + 1
+- < (colnr_T)STRLEN(ml_get_curline())))
+- {
+- inc_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = _HE_;
+-
+- dec_cursor();
+- }
+- if (!p_ri && STRLEN(ml_get_curline()))
+- {
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = _HE_;
+-
+- inc_cursor();
+- }
+-
+- return tempc;
+- }
+- return 0;
+- }
+-
+- /*
+- * Convert the given Farsi character into Farsi capital character.
+- */
+- static int
+- toF_TyA(int c)
+- {
+- switch (c)
+- {
+- case ALEF_: return ALEF;
+- case ALEF_U_H_: return ALEF_U_H;
+- case _BE: return BE;
+- case _PE: return PE;
+- case _TE: return TE;
+- case _SE: return SE;
+- case _JIM: return JIM;
+- case _CHE: return CHE;
+- case _HE_J: return HE_J;
+- case _XE: return XE;
+- case _SIN: return SIN;
+- case _SHIN: return SHIN;
+- case _SAD: return SAD;
+- case _ZAD: return ZAD;
+- case _AYN:
+- case AYN_:
+- case _AYN_: return AYN;
+- case _GHAYN:
+- case GHAYN_:
+- case _GHAYN_: return GHAYN;
+- case _FE: return FE;
+- case _GHAF: return GHAF;
+- /* I am not sure what it is !!! case _KAF_H: */
+- case _KAF: return KAF;
+- case _GAF: return GAF;
+- case _LAM: return LAM;
+- case _MIM: return MIM;
+- case _NOON: return NOON;
+- case _YE:
+- case YE_: return YE;
+- case _YEE:
+- case YEE_: return YEE;
+- case TEE_: return TEE;
+- case _IE:
+- case IE_: return IE;
+- case _HE:
+- case _HE_: return F_HE;
+- }
+- return c;
+- }
+-
+- /*
+- * Is the character under the cursor+offset in the given buffer a join type.
+- * That is a character that is combined with the others.
+- * Note: the offset is used only for command line buffer.
+- */
+- static int
+- F_is_TyB_TyC_TyD(int src, int offset)
+- {
+- int c;
+-
+- if (src == SRC_EDT)
+- c = gchar_cursor();
+- else
+- c = cmd_gchar(AT_CURSOR+offset);
+-
+- switch (c)
+- {
+- case _LAM:
+- case _BE:
+- case _PE:
+- case _TE:
+- case _SE:
+- case _JIM:
+- case _CHE:
+- case _HE_J:
+- case _XE:
+- case _SIN:
+- case _SHIN:
+- case _SAD:
+- case _ZAD:
+- case _TA:
+- case _ZA:
+- case _AYN:
+- case _AYN_:
+- case _GHAYN:
+- case _GHAYN_:
+- case _FE:
+- case _GHAF:
+- case _KAF:
+- case _KAF_H:
+- case _GAF:
+- case _MIM:
+- case _NOON:
+- case _YE:
+- case _YEE:
+- case _IE:
+- case _HE_:
+- case _HE:
+- return TRUE;
+- }
+- return FALSE;
+- }
+-
+- /*
+- * Is the Farsi character one of the terminating only type.
+- */
+- static int
+- F_is_TyE(int c)
+- {
+- switch (c)
+- {
+- case ALEF_A:
+- case ALEF_D_H:
+- case DAL:
+- case ZAL:
+- case RE:
+- case ZE:
+- case JE:
+- case WAW:
+- case WAW_H:
+- case HAMZE:
+- return TRUE;
+- }
+- return FALSE;
+- }
+-
+- /*
+- * Is the Farsi character one of the none leading type.
+- */
+- static int
+- F_is_TyC_TyD(int c)
+- {
+- switch (c)
+- {
+- case ALEF_:
+- case ALEF_U_H_:
+- case _AYN_:
+- case AYN_:
+- case _GHAYN_:
+- case GHAYN_:
+- case _HE_:
+- case YE_:
+- case IE_:
+- case TEE_:
+- case YEE_:
+- return TRUE;
+- }
+- return FALSE;
+- }
+-
+- /*
+- * Convert a none leading Farsi char into a leading type.
+- */
+- static int
+- toF_TyB(int c)
+- {
+- switch (c)
+- {
+- case ALEF_: return ALEF;
+- case ALEF_U_H_: return ALEF_U_H;
+- case _AYN_: return _AYN;
+- case AYN_: return AYN; /* exception - there are many of them */
+- case _GHAYN_: return _GHAYN;
+- case GHAYN_: return GHAYN; /* exception - there are many of them */
+- case _HE_: return _HE;
+- case YE_: return YE;
+- case IE_: return IE;
+- case TEE_: return TEE;
+- case YEE_: return YEE;
+- }
+- return c;
+- }
+-
+-
+- static void
+- put_and_redo(int c)
+- {
+- pchar_cursor(c);
+- AppendCharToRedobuff(K_BS);
+- AppendCharToRedobuff(c);
+- }
+-
+- /*
+- * Overwrite the current redo and cursor characters + left adjust.
+- */
+- static void
+- put_curr_and_l_to_X(int c)
+- {
+- int tempc;
+-
+- if (curwin->w_p_rl && p_ri)
+- return;
+-
+- if ((curwin->w_cursor.col < (colnr_T)STRLEN(ml_get_curline())))
+- {
+- if ((p_ri && curwin->w_cursor.col) || !p_ri)
+- {
+- if (p_ri)
+- dec_cursor();
+- else
+- inc_cursor();
+-
+- if (F_is_TyC_TyD((tempc = gchar_cursor())))
+- {
+- pchar_cursor(toF_TyB(tempc));
+- AppendCharToRedobuff(K_BS);
+- AppendCharToRedobuff(tempc);
+- }
+-
+- if (p_ri)
+- inc_cursor();
+- else
+- dec_cursor();
+- }
+- }
+-
+- put_and_redo(c);
+- }
+-
+- /*
+- * Change the char. under the cursor to a X_ or X type
+- */
+- static void
+- chg_c_toX_orX(void)
+- {
+- int tempc, curc;
+-
+- switch ((curc = gchar_cursor()))
+- {
+- case _BE:
+- tempc = BE;
+- break;
+- case _PE:
+- tempc = PE;
+- break;
+- case _TE:
+- tempc = TE;
+- break;
+- case _SE:
+- tempc = SE;
+- break;
+- case _JIM:
+- tempc = JIM;
+- break;
+- case _CHE:
+- tempc = CHE;
+- break;
+- case _HE_J:
+- tempc = HE_J;
+- break;
+- case _XE:
+- tempc = XE;
+- break;
+- case _SIN:
+- tempc = SIN;
+- break;
+- case _SHIN:
+- tempc = SHIN;
+- break;
+- case _SAD:
+- tempc = SAD;
+- break;
+- case _ZAD:
+- tempc = ZAD;
+- break;
+- case _FE:
+- tempc = FE;
+- break;
+- case _GHAF:
+- tempc = GHAF;
+- break;
+- case _KAF_H:
+- case _KAF:
+- tempc = KAF;
+- break;
+- case _GAF:
+- tempc = GAF;
+- break;
+- case _AYN:
+- tempc = AYN;
+- break;
+- case _AYN_:
+- tempc = AYN_;
+- break;
+- case _GHAYN:
+- tempc = GHAYN;
+- break;
+- case _GHAYN_:
+- tempc = GHAYN_;
+- break;
+- case _LAM:
+- tempc = LAM;
+- break;
+- case _MIM:
+- tempc = MIM;
+- break;
+- case _NOON:
+- tempc = NOON;
+- break;
+- case _HE:
+- case _HE_:
+- tempc = F_HE;
+- break;
+- case _YE:
+- case _IE:
+- case _YEE:
+- if (p_ri)
+- {
+- inc_cursor();
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = (curc == _YE ? YE_ :
+- (curc == _IE ? IE_ : YEE_));
+- else
+- tempc = (curc == _YE ? YE :
+- (curc == _IE ? IE : YEE));
+- dec_cursor();
+- }
+- else
+- {
+- if (curwin->w_cursor.col)
+- {
+- dec_cursor();
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = (curc == _YE ? YE_ :
+- (curc == _IE ? IE_ : YEE_));
+- else
+- tempc = (curc == _YE ? YE :
+- (curc == _IE ? IE : YEE));
+- inc_cursor();
+- }
+- else
+- tempc = (curc == _YE ? YE :
+- (curc == _IE ? IE : YEE));
+- }
+- break;
+- default:
+- tempc = 0;
+- }
+-
+- if (tempc)
+- put_and_redo(tempc);
+- }
+-
+- /*
+- * Change the char. under the cursor to a _X_ or X_ type
+- */
+- static void
+- chg_c_to_X_orX_(void)
+- {
+- int tempc;
+-
+- switch (gchar_cursor())
+- {
+- case ALEF:
+- tempc = ALEF_;
+- break;
+- case ALEF_U_H:
+- tempc = ALEF_U_H_;
+- break;
+- case _AYN:
+- tempc = _AYN_;
+- break;
+- case AYN:
+- tempc = AYN_;
+- break;
+- case _GHAYN:
+- tempc = _GHAYN_;
+- break;
+- case GHAYN:
+- tempc = GHAYN_;
+- break;
+- case _HE:
+- tempc = _HE_;
+- break;
+- case YE:
+- tempc = YE_;
+- break;
+- case IE:
+- tempc = IE_;
+- break;
+- case TEE:
+- tempc = TEE_;
+- break;
+- case YEE:
+- tempc = YEE_;
+- break;
+- default:
+- tempc = 0;
+- }
+-
+- if (tempc)
+- put_and_redo(tempc);
+- }
+-
+- /*
+- * Change the char. under the cursor to a _X_ or _X type
+- */
+- static void
+- chg_c_to_X_or_X(void)
+- {
+- int tempc;
+-
+- tempc = gchar_cursor();
+-
+- if (curwin->w_cursor.col + 1 < (colnr_T)STRLEN(ml_get_curline()))
+- {
+- inc_cursor();
+-
+- if ((tempc == F_HE) && (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR)))
+- {
+- tempc = _HE_;
+-
+- dec_cursor();
+-
+- put_and_redo(tempc);
+- return;
+- }
+-
+- dec_cursor();
+- }
+-
+- if ((tempc = toF_Xor_X_(tempc)) != 0)
+- put_and_redo(tempc);
+- }
+-
+- /*
+- * Change the character left to the cursor to a _X_ or X_ type
+- */
+- static void
+- chg_l_to_X_orX_(void)
+- {
+- int tempc;
+-
+- if (curwin->w_cursor.col != 0 &&
+- (curwin->w_cursor.col + 1 == (colnr_T)STRLEN(ml_get_curline())))
+- return;
+-
+- if (!curwin->w_cursor.col && p_ri)
+- return;
+-
+- if (p_ri)
+- dec_cursor();
+- else
+- inc_cursor();
+-
+- switch (gchar_cursor())
+- {
+- case ALEF:
+- tempc = ALEF_;
+- break;
+- case ALEF_U_H:
+- tempc = ALEF_U_H_;
+- break;
+- case _AYN:
+- tempc = _AYN_;
+- break;
+- case AYN:
+- tempc = AYN_;
+- break;
+- case _GHAYN:
+- tempc = _GHAYN_;
+- break;
+- case GHAYN:
+- tempc = GHAYN_;
+- break;
+- case _HE:
+- tempc = _HE_;
+- break;
+- case YE:
+- tempc = YE_;
+- break;
+- case IE:
+- tempc = IE_;
+- break;
+- case TEE:
+- tempc = TEE_;
+- break;
+- case YEE:
+- tempc = YEE_;
+- break;
+- default:
+- tempc = 0;
+- }
+-
+- if (tempc)
+- put_and_redo(tempc);
+-
+- if (p_ri)
+- inc_cursor();
+- else
+- dec_cursor();
+- }
+-
+- /*
+- * Change the character left to the cursor to a X or _X type
+- */
+- static void
+- chg_l_toXor_X(void)
+- {
+- int tempc;
+-
+- if (curwin->w_cursor.col != 0 &&
+- (curwin->w_cursor.col + 1 == (colnr_T)STRLEN(ml_get_curline())))
+- return;
+-
+- if (!curwin->w_cursor.col && p_ri)
+- return;
+-
+- if (p_ri)
+- dec_cursor();
+- else
+- inc_cursor();
+-
+- switch (gchar_cursor())
+- {
+- case ALEF_:
+- tempc = ALEF;
+- break;
+- case ALEF_U_H_:
+- tempc = ALEF_U_H;
+- break;
+- case _AYN_:
+- tempc = _AYN;
+- break;
+- case AYN_:
+- tempc = AYN;
+- break;
+- case _GHAYN_:
+- tempc = _GHAYN;
+- break;
+- case GHAYN_:
+- tempc = GHAYN;
+- break;
+- case _HE_:
+- tempc = _HE;
+- break;
+- case YE_:
+- tempc = YE;
+- break;
+- case IE_:
+- tempc = IE;
+- break;
+- case TEE_:
+- tempc = TEE;
+- break;
+- case YEE_:
+- tempc = YEE;
+- break;
+- default:
+- tempc = 0;
+- }
+-
+- if (tempc)
+- put_and_redo(tempc);
+-
+- if (p_ri)
+- inc_cursor();
+- else
+- dec_cursor();
+- }
+-
+- /*
+- * Change the character right to the cursor to a _X or _X_ type
+- */
+- static void
+- chg_r_to_Xor_X_(void)
+- {
+- int tempc, c;
+-
+- if (curwin->w_cursor.col)
+- {
+- if (!p_ri)
+- dec_cursor();
+-
+- tempc = gchar_cursor();
+-
+- if ((c = toF_Xor_X_(tempc)) != 0)
+- put_and_redo(c);
+-
+- if (!p_ri)
+- inc_cursor();
+-
+- }
+- }
+-
+- /*
+- * Map Farsi keyboard when in fkmap mode.
+- */
+- int
+- fkmap(int c)
+- {
+- int tempc;
+- int insert_mode = (State & INSERT);
+- static int revins = 0;
+-
+- if (IS_SPECIAL(c))
+- return c;
+-
+- if (insert_mode)
+- {
+- if (VIM_ISDIGIT(c) || ((c == '.' || c == '+' || c == '-' ||
+- c == '^' || c == '%' || c == '#' || c == '=') && revins))
+- {
+- /* Numbers are entered left-to-right. */
+- if (!revins)
+- {
+- if (curwin->w_cursor.col)
+- {
+- if (!p_ri)
+- dec_cursor();
+-
+- chg_c_toX_orX ();
+- chg_l_toXor_X ();
+-
+- if (!p_ri)
+- inc_cursor();
+- }
+- }
+-
+- arrow_used = TRUE;
+- (void)stop_arrow();
+-
+- if (!curwin->w_p_rl && revins)
+- inc_cursor();
+-
+- ++revins;
+- p_ri = 1;
+- }
+- else if (revins)
+- {
+- /* Stop entering number. */
+- arrow_used = TRUE;
+- (void)stop_arrow();
+-
+- revins = 0;
+- if (curwin->w_p_rl)
+- {
+- while ((F_isdigit(gchar_cursor())
+- || (gchar_cursor() == F_PERIOD
+- || gchar_cursor() == F_PLUS
+- || gchar_cursor() == F_MINUS
+- || gchar_cursor() == F_MUL
+- || gchar_cursor() == F_DIVIDE
+- || gchar_cursor() == F_PERCENT
+- || gchar_cursor() == F_EQUALS))
+- && gchar_cursor() != NUL)
+- ++curwin->w_cursor.col;
+- }
+- else
+- {
+- if (curwin->w_cursor.col)
+- while ((F_isdigit(gchar_cursor())
+- || (gchar_cursor() == F_PERIOD
+- || gchar_cursor() == F_PLUS
+- || gchar_cursor() == F_MINUS
+- || gchar_cursor() == F_MUL
+- || gchar_cursor() == F_DIVIDE
+- || gchar_cursor() == F_PERCENT
+- || gchar_cursor() == F_EQUALS))
+- && --curwin->w_cursor.col)
+- ;
+-
+- if (!F_isdigit(gchar_cursor()))
+- ++curwin->w_cursor.col;
+- }
+- }
+- }
+-
+- if (!revins)
+- {
+- if (curwin->w_p_rl)
+- p_ri = 0;
+- if (!curwin->w_p_rl)
+- p_ri = 1;
+- }
+-
+- if ((c < 0x100) && (isalpha(c) || c == '&' || c == '^' || c == ';' ||
+- c == '\''|| c == ',' || c == '[' ||
+- c == ']' || c == '{' || c == '}'))
+- chg_r_to_Xor_X_();
+-
+- tempc = 0;
+-
+- switch (c)
+- {
+- case '`':
+- case ' ':
+- case '.':
+- case '!':
+- case '"':
+- case '$':
+- case '%':
+- case '^':
+- case '&':
+- case '/':
+- case '(':
+- case ')':
+- case '=':
+- case '\\':
+- case '?':
+- case '+':
+- case '-':
+- case '_':
+- case '*':
+- case ':':
+- case '#':
+- case '~':
+- case '@':
+- case '<':
+- case '>':
+- case '{':
+- case '}':
+- case '|':
+- case '0':
+- case '1':
+- case '2':
+- case '3':
+- case '4':
+- case '5':
+- case '6':
+- case '7':
+- case '8':
+- case '9':
+- case 'B':
+- case 'E':
+- case 'F':
+- case 'H':
+- case 'I':
+- case 'K':
+- case 'L':
+- case 'M':
+- case 'O':
+- case 'P':
+- case 'Q':
+- case 'R':
+- case 'T':
+- case 'U':
+- case 'W':
+- case 'Y':
+- case NL:
+- case TAB:
+-
+- if (p_ri && c == NL && curwin->w_cursor.col && insert_mode)
+- {
+- /*
+- * If the char before the cursor is _X_ or X_ do not change
+- * the one under the cursor with X type.
+- */
+- dec_cursor();
+-
+- if (F_isalpha(gchar_cursor()))
+- {
+- inc_cursor();
+- return NL;
+- }
+-
+- inc_cursor();
+- }
+-
+- if (!p_ri && !curwin->w_cursor.col)
+- {
+- switch (c)
+- {
+- case '0': return FARSI_0;
+- case '1': return FARSI_1;
+- case '2': return FARSI_2;
+- case '3': return FARSI_3;
+- case '4': return FARSI_4;
+- case '5': return FARSI_5;
+- case '6': return FARSI_6;
+- case '7': return FARSI_7;
+- case '8': return FARSI_8;
+- case '9': return FARSI_9;
+- case 'B': return F_PSP;
+- case 'E': return JAZR_N;
+- case 'F': return ALEF_D_H;
+- case 'H': return ALEF_A;
+- case 'I': return TASH;
+- case 'K': return F_LQUOT;
+- case 'L': return F_RQUOT;
+- case 'M': return HAMZE;
+- case 'O': return '[';
+- case 'P': return ']';
+- case 'Q': return OO;
+- case 'R': return MAD_N;
+- case 'T': return OW;
+- case 'U': return MAD;
+- case 'W': return OW_OW;
+- case 'Y': return JAZR;
+- case '`': return F_PCN;
+- case '!': return F_EXCL;
+- case '@': return F_COMMA;
+- case '#': return F_DIVIDE;
+- case '$': return F_CURRENCY;
+- case '%': return F_PERCENT;
+- case '^': return F_MUL;
+- case '&': return F_BCOMMA;
+- case '*': return F_STAR;
+- case '(': return F_LPARENT;
+- case ')': return F_RPARENT;
+- case '-': return F_MINUS;
+- case '_': return F_UNDERLINE;
+- case '=': return F_EQUALS;
+- case '+': return F_PLUS;
+- case '\\': return F_BSLASH;
+- case '|': return F_PIPE;
+- case ':': return F_DCOLON;
+- case '"': return F_SEMICOLON;
+- case '.': return F_PERIOD;
+- case '/': return F_SLASH;
+- case '<': return F_LESS;
+- case '>': return F_GREATER;
+- case '?': return F_QUESTION;
+- case ' ': return F_BLANK;
+- }
+- break;
+- }
+-
+- if (insert_mode)
+- {
+- if (!p_ri)
+- dec_cursor();
+-
+- switch ((tempc = gchar_cursor()))
+- {
+- case _BE:
+- case _PE:
+- case _TE:
+- case _SE:
+- case _JIM:
+- case _CHE:
+- case _HE_J:
+- case _XE:
+- case _SIN:
+- case _SHIN:
+- case _SAD:
+- case _ZAD:
+- case _FE:
+- case _GHAF:
+- case _KAF:
+- case _KAF_H:
+- case _GAF:
+- case _LAM:
+- case _MIM:
+- case _NOON:
+- case _HE:
+- case _HE_:
+- case _TA:
+- case _ZA:
+- put_curr_and_l_to_X(toF_TyA(tempc));
+- break;
+- case _AYN:
+- case _AYN_:
+-
+- if (!p_ri)
+- if (!curwin->w_cursor.col)
+- {
+- put_curr_and_l_to_X(AYN);
+- break;
+- }
+-
+- if (p_ri)
+- inc_cursor();
+- else
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = AYN_;
+- else
+- tempc = AYN;
+-
+- if (p_ri)
+- dec_cursor();
+- else
+- inc_cursor();
+-
+- put_curr_and_l_to_X(tempc);
+-
+- break;
+- case _GHAYN:
+- case _GHAYN_:
+-
+- if (!p_ri)
+- if (!curwin->w_cursor.col)
+- {
+- put_curr_and_l_to_X(GHAYN);
+- break;
+- }
+-
+- if (p_ri)
+- inc_cursor();
+- else
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = GHAYN_;
+- else
+- tempc = GHAYN;
+-
+- if (p_ri)
+- dec_cursor();
+- else
+- inc_cursor();
+-
+- put_curr_and_l_to_X(tempc);
+- break;
+- case _YE:
+- case _IE:
+- case _YEE:
+- if (!p_ri)
+- if (!curwin->w_cursor.col)
+- {
+- put_curr_and_l_to_X((tempc == _YE ? YE :
+- (tempc == _IE ? IE : YEE)));
+- break;
+- }
+-
+- if (p_ri)
+- inc_cursor();
+- else
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = (tempc == _YE ? YE_ :
+- (tempc == _IE ? IE_ : YEE_));
+- else
+- tempc = (tempc == _YE ? YE :
+- (tempc == _IE ? IE : YEE));
+-
+- if (p_ri)
+- dec_cursor();
+- else
+- inc_cursor();
+-
+- put_curr_and_l_to_X(tempc);
+- break;
+- }
+-
+- if (!p_ri)
+- inc_cursor();
+- }
+-
+- tempc = 0;
+-
+- switch (c)
+- {
+- case '0': return FARSI_0;
+- case '1': return FARSI_1;
+- case '2': return FARSI_2;
+- case '3': return FARSI_3;
+- case '4': return FARSI_4;
+- case '5': return FARSI_5;
+- case '6': return FARSI_6;
+- case '7': return FARSI_7;
+- case '8': return FARSI_8;
+- case '9': return FARSI_9;
+- case 'B': return F_PSP;
+- case 'E': return JAZR_N;
+- case 'F': return ALEF_D_H;
+- case 'H': return ALEF_A;
+- case 'I': return TASH;
+- case 'K': return F_LQUOT;
+- case 'L': return F_RQUOT;
+- case 'M': return HAMZE;
+- case 'O': return '[';
+- case 'P': return ']';
+- case 'Q': return OO;
+- case 'R': return MAD_N;
+- case 'T': return OW;
+- case 'U': return MAD;
+- case 'W': return OW_OW;
+- case 'Y': return JAZR;
+- case '`': return F_PCN;
+- case '!': return F_EXCL;
+- case '@': return F_COMMA;
+- case '#': return F_DIVIDE;
+- case '$': return F_CURRENCY;
+- case '%': return F_PERCENT;
+- case '^': return F_MUL;
+- case '&': return F_BCOMMA;
+- case '*': return F_STAR;
+- case '(': return F_LPARENT;
+- case ')': return F_RPARENT;
+- case '-': return F_MINUS;
+- case '_': return F_UNDERLINE;
+- case '=': return F_EQUALS;
+- case '+': return F_PLUS;
+- case '\\': return F_BSLASH;
+- case '|': return F_PIPE;
+- case ':': return F_DCOLON;
+- case '"': return F_SEMICOLON;
+- case '.': return F_PERIOD;
+- case '/': return F_SLASH;
+- case '<': return F_LESS;
+- case '>': return F_GREATER;
+- case '?': return F_QUESTION;
+- case ' ': return F_BLANK;
+- }
+- break;
+-
+- case 'a':
+- tempc = _SHIN;
+- break;
+- case 'A':
+- tempc = WAW_H;
+- break;
+- case 'b':
+- tempc = ZAL;
+- break;
+- case 'c':
+- tempc = ZE;
+- break;
+- case 'C':
+- tempc = JE;
+- break;
+- case 'd':
+- tempc = _YE;
+- break;
+- case 'D':
+- tempc = _YEE;
+- break;
+- case 'e':
+- tempc = _SE;
+- break;
+- case 'f':
+- tempc = _BE;
+- break;
+- case 'g':
+- tempc = _LAM;
+- break;
+- case 'G':
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+-
+- if (gchar_cursor() == _LAM)
+- chg_c_toX_orX ();
+- else if (p_ri)
+- chg_c_to_X_or_X ();
+- }
+-
+- if (!p_ri)
+- if (!curwin->w_cursor.col)
+- return ALEF_U_H;
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- if (gchar_cursor() == _LAM)
+- {
+- chg_c_toX_orX ();
+- chg_l_toXor_X ();
+- tempc = ALEF_U_H;
+- }
+- else if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- {
+- tempc = ALEF_U_H_;
+- chg_l_toXor_X ();
+- }
+- else
+- tempc = ALEF_U_H;
+-
+- if (!p_ri)
+- inc_cursor();
+-
+- return tempc;
+- case 'h':
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+- if (p_ri)
+- chg_c_to_X_or_X ();
+-
+- }
+-
+- if (!p_ri)
+- if (!curwin->w_cursor.col)
+- return ALEF;
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- if (gchar_cursor() == _LAM)
+- {
+- chg_l_toXor_X();
+- del_char(FALSE);
+- AppendCharToRedobuff(K_BS);
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- tempc = LA;
+- }
+- else
+- {
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- {
+- tempc = ALEF_;
+- chg_l_toXor_X ();
+- }
+- else
+- tempc = ALEF;
+- }
+-
+- if (!p_ri)
+- inc_cursor();
+-
+- return tempc;
+- case 'i':
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+- if (!p_ri && !F_is_TyE(tempc))
+- chg_c_to_X_orX_ ();
+- if (p_ri)
+- chg_c_to_X_or_X ();
+-
+- }
+-
+- if (!p_ri && !curwin->w_cursor.col)
+- return _HE;
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = _HE_;
+- else
+- tempc = _HE;
+-
+- if (!p_ri)
+- inc_cursor();
+- break;
+- case 'j':
+- tempc = _TE;
+- break;
+- case 'J':
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+- if (p_ri)
+- chg_c_to_X_or_X ();
+-
+- }
+-
+- if (!p_ri)
+- if (!curwin->w_cursor.col)
+- return TEE;
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- {
+- tempc = TEE_;
+- chg_l_toXor_X ();
+- }
+- else
+- tempc = TEE;
+-
+- if (!p_ri)
+- inc_cursor();
+-
+- return tempc;
+- case 'k':
+- tempc = _NOON;
+- break;
+- case 'l':
+- tempc = _MIM;
+- break;
+- case 'm':
+- tempc = _PE;
+- break;
+- case 'n':
+- case 'N':
+- tempc = DAL;
+- break;
+- case 'o':
+- tempc = _XE;
+- break;
+- case 'p':
+- tempc = _HE_J;
+- break;
+- case 'q':
+- tempc = _ZAD;
+- break;
+- case 'r':
+- tempc = _GHAF;
+- break;
+- case 's':
+- tempc = _SIN;
+- break;
+- case 'S':
+- tempc = _IE;
+- break;
+- case 't':
+- tempc = _FE;
+- break;
+- case 'u':
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+- if (!p_ri && !F_is_TyE(tempc))
+- chg_c_to_X_orX_ ();
+- if (p_ri)
+- chg_c_to_X_or_X ();
+-
+- }
+-
+- if (!p_ri && !curwin->w_cursor.col)
+- return _AYN;
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = _AYN_;
+- else
+- tempc = _AYN;
+-
+- if (!p_ri)
+- inc_cursor();
+- break;
+- case 'v':
+- case 'V':
+- tempc = RE;
+- break;
+- case 'w':
+- tempc = _SAD;
+- break;
+- case 'x':
+- case 'X':
+- tempc = _TA;
+- break;
+- case 'y':
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+- if (!p_ri && !F_is_TyE(tempc))
+- chg_c_to_X_orX_ ();
+- if (p_ri)
+- chg_c_to_X_or_X ();
+-
+- }
+-
+- if (!p_ri && !curwin->w_cursor.col)
+- return _GHAYN;
+-
+- if (!p_ri)
+- dec_cursor();
+-
+- if (F_is_TyB_TyC_TyD(SRC_EDT, AT_CURSOR))
+- tempc = _GHAYN_;
+- else
+- tempc = _GHAYN;
+-
+- if (!p_ri)
+- inc_cursor();
+-
+- break;
+- case 'z':
+- tempc = _ZA;
+- break;
+- case 'Z':
+- tempc = _KAF_H;
+- break;
+- case ';':
+- tempc = _KAF;
+- break;
+- case '\'':
+- tempc = _GAF;
+- break;
+- case ',':
+- tempc = WAW;
+- break;
+- case '[':
+- tempc = _JIM;
+- break;
+- case ']':
+- tempc = _CHE;
+- break;
+- }
+-
+- if (F_isalpha(tempc) || F_isdigit(tempc))
+- {
+- if (!curwin->w_cursor.col && STRLEN(ml_get_curline()))
+- {
+- if (!p_ri && !F_is_TyE(tempc))
+- chg_c_to_X_orX_();
+- if (p_ri)
+- chg_c_to_X_or_X();
+- }
+-
+- if (curwin->w_cursor.col)
+- {
+- if (!p_ri)
+- dec_cursor();
+-
+- if (F_is_TyE(tempc))
+- chg_l_toXor_X();
+- else
+- chg_l_to_X_orX_();
+-
+- if (!p_ri)
+- inc_cursor();
+- }
+- }
+- if (tempc)
+- return tempc;
+- return c;
+- }
+-
+- /*
+- * Convert a none leading Farsi char into a leading type.
+- */
+- static int
+- toF_leading(int c)
+- {
+- switch (c)
+- {
+- case ALEF_: return ALEF;
+- case ALEF_U_H_: return ALEF_U_H;
+- case BE: return _BE;
+- case PE: return _PE;
+- case TE: return _TE;
+- case SE: return _SE;
+- case JIM: return _JIM;
+- case CHE: return _CHE;
+- case HE_J: return _HE_J;
+- case XE: return _XE;
+- case SIN: return _SIN;
+- case SHIN: return _SHIN;
+- case SAD: return _SAD;
+- case ZAD: return _ZAD;
+-
+- case AYN:
+- case AYN_:
+- case _AYN_: return _AYN;
+-
+- case GHAYN:
+- case GHAYN_:
+- case _GHAYN_: return _GHAYN;
+-
+- case FE: return _FE;
+- case GHAF: return _GHAF;
+- case KAF: return _KAF;
+- case GAF: return _GAF;
+- case LAM: return _LAM;
+- case MIM: return _MIM;
+- case NOON: return _NOON;
+-
+- case _HE_:
+- case F_HE: return _HE;
+-
+- case YE:
+- case YE_: return _YE;
+-
+- case IE_:
+- case IE: return _IE;
+-
+- case YEE:
+- case YEE_: return _YEE;
+- }
+- return c;
+- }
+-
+- /*
+- * Convert a given Farsi char into right joining type.
+- */
+- static int
+- toF_Rjoin(int c)
+- {
+- switch (c)
+- {
+- case ALEF: return ALEF_;
+- case ALEF_U_H: return ALEF_U_H_;
+- case BE: return _BE;
+- case PE: return _PE;
+- case TE: return _TE;
+- case SE: return _SE;
+- case JIM: return _JIM;
+- case CHE: return _CHE;
+- case HE_J: return _HE_J;
+- case XE: return _XE;
+- case SIN: return _SIN;
+- case SHIN: return _SHIN;
+- case SAD: return _SAD;
+- case ZAD: return _ZAD;
+-
+- case AYN:
+- case AYN_:
+- case _AYN: return _AYN_;
+-
+- case GHAYN:
+- case GHAYN_:
+- case _GHAYN_: return _GHAYN_;
+-
+- case FE: return _FE;
+- case GHAF: return _GHAF;
+- case KAF: return _KAF;
+- case GAF: return _GAF;
+- case LAM: return _LAM;
+- case MIM: return _MIM;
+- case NOON: return _NOON;
+-
+- case _HE:
+- case F_HE: return _HE_;
+-
+- case YE:
+- case YE_: return _YE;
+-
+- case IE_:
+- case IE: return _IE;
+-
+- case TEE: return TEE_;
+-
+- case YEE:
+- case YEE_: return _YEE;
+- }
+- return c;
+- }
+-
+- /*
+- * Can a given Farsi character join via its left edj.
+- */
+- static int
+- canF_Ljoin(int c)
+- {
+- switch (c)
+- {
+- case _BE:
+- case BE:
+- case PE:
+- case _PE:
+- case TE:
+- case _TE:
+- case SE:
+- case _SE:
+- case JIM:
+- case _JIM:
+- case CHE:
+- case _CHE:
+- case HE_J:
+- case _HE_J:
+- case XE:
+- case _XE:
+- case SIN:
+- case _SIN:
+- case SHIN:
+- case _SHIN:
+- case SAD:
+- case _SAD:
+- case ZAD:
+- case _ZAD:
+- case _TA:
+- case _ZA:
+- case AYN:
+- case _AYN:
+- case _AYN_:
+- case AYN_:
+- case GHAYN:
+- case GHAYN_:
+- case _GHAYN_:
+- case _GHAYN:
+- case FE:
+- case _FE:
+- case GHAF:
+- case _GHAF:
+- case _KAF_H:
+- case KAF:
+- case _KAF:
+- case GAF:
+- case _GAF:
+- case LAM:
+- case _LAM:
+- case MIM:
+- case _MIM:
+- case NOON:
+- case _NOON:
+- case IE:
+- case _IE:
+- case IE_:
+- case YE:
+- case _YE:
+- case YE_:
+- case YEE:
+- case _YEE:
+- case YEE_:
+- case F_HE:
+- case _HE:
+- case _HE_:
+- return TRUE;
+- }
+- return FALSE;
+- }
+-
+- /*
+- * Can a given Farsi character join via its right edj.
+- */
+- static int
+- canF_Rjoin(int c)
+- {
+- switch (c)
+- {
+- case ALEF:
+- case ALEF_:
+- case ALEF_U_H:
+- case ALEF_U_H_:
+- case DAL:
+- case ZAL:
+- case RE:
+- case JE:
+- case ZE:
+- case TEE:
+- case TEE_:
+- case WAW:
+- case WAW_H:
+- return TRUE;
+- }
+-
+- return canF_Ljoin(c);
+-
+- }
+-
+- /*
+- * is a given Farsi character a terminating type.
+- */
+- static int
+- F_isterm(int c)
+- {
+- switch (c)
+- {
+- case ALEF:
+- case ALEF_:
+- case ALEF_U_H:
+- case ALEF_U_H_:
+- case DAL:
+- case ZAL:
+- case RE:
+- case JE:
+- case ZE:
+- case WAW:
+- case WAW_H:
+- case TEE:
+- case TEE_:
+- return TRUE;
+- }
+-
+- return FALSE;
+- }
+-
+- /*
+- * Convert the given Farsi character into a ending type .
+- */
+- static int
+- toF_ending(int c)
+- {
+- switch (c)
+- {
+- case _BE: return BE;
+- case _PE: return PE;
+- case _TE: return TE;
+- case _SE: return SE;
+- case _JIM: return JIM;
+- case _CHE: return CHE;
+- case _HE_J: return HE_J;
+- case _XE: return XE;
+- case _SIN: return SIN;
+- case _SHIN: return SHIN;
+- case _SAD: return SAD;
+- case _ZAD: return ZAD;
+- case _AYN: return AYN;
+- case _AYN_: return AYN_;
+- case _GHAYN: return GHAYN;
+- case _GHAYN_: return GHAYN_;
+- case _FE: return FE;
+- case _GHAF: return GHAF;
+- case _KAF_H:
+- case _KAF: return KAF;
+- case _GAF: return GAF;
+- case _LAM: return LAM;
+- case _MIM: return MIM;
+- case _NOON: return NOON;
+- case _YE: return YE_;
+- case YE_: return YE;
+- case _YEE: return YEE_;
+- case YEE_: return YEE;
+- case TEE: return TEE_;
+- case _IE: return IE_;
+- case IE_: return IE;
+- case _HE:
+- case _HE_: return F_HE;
+- }
+- return c;
+- }
+-
+- /*
+- * Convert the Farsi 3342 standard into Farsi VIM.
+- */
+- static void
+- conv_to_pvim(void)
+- {
+- char_u *ptr;
+- int lnum, llen, i;
+-
+- for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
+- {
+- ptr = ml_get((linenr_T)lnum);
+-
+- llen = (int)STRLEN(ptr);
+-
+- for (i = 0; i < llen-1; i++)
+- {
+- if (canF_Ljoin(ptr[i]) && canF_Rjoin(ptr[i+1]))
+- {
+- ptr[i] = toF_leading(ptr[i]);
+- ++i;
+-
+- while (i < llen && canF_Rjoin(ptr[i]))
+- {
+- ptr[i] = toF_Rjoin(ptr[i]);
+- if (F_isterm(ptr[i]) || !F_isalpha(ptr[i]))
+- break;
+- ++i;
+- }
+- if (!F_isalpha(ptr[i]) || !canF_Rjoin(ptr[i]))
+- ptr[i-1] = toF_ending(ptr[i-1]);
+- }
+- else
+- ptr[i] = toF_TyA(ptr[i]);
+- }
+- }
+-
+- /*
+- * Following lines contains Farsi encoded character.
+- */
+-
+- do_cmdline_cmd((char_u *)"%s/\202\231/\232/ge");
+- do_cmdline_cmd((char_u *)"%s/\201\231/\370\334/ge");
+-
+- /* Assume the screen has been messed up: clear it and redraw. */
+- redraw_later(CLEAR);
+- msg_attr(farsi_text_1, HL_ATTR(HLF_S));
+- }
+-
+- /*
+- * Convert the Farsi VIM into Farsi 3342 standard.
+- */
+- static void
+- conv_to_pstd(void)
+- {
+- char_u *ptr;
+- int lnum, llen, i;
+-
+- /*
+- * Following line contains Farsi encoded character.
+- */
+- do_cmdline_cmd((char_u *)"%s/\232/\202\231/ge");
+-
+- for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
+- {
+- ptr = ml_get((linenr_T)lnum);
+- llen = (int)STRLEN(ptr);
+-
+- for (i = 0; i < llen; i++)
+- ptr[i] = toF_TyA(ptr[i]);
+- }
+-
+- /* Assume the screen has been messed up: clear it and redraw. */
+- redraw_later(CLEAR);
+- msg_attr(farsi_text_2, HL_ATTR(HLF_S));
+- }
+-
+- /*
+- * left-right swap the characters in buf[len].
+- */
+- static void
+- lrswapbuf(char_u *buf, int len)
+- {
+- char_u *s, *e;
+- int c;
+-
+- s = buf;
+- e = buf + len - 1;
+-
+- while (e > s)
+- {
+- c = *s;
+- *s = *e;
+- *e = c;
+- ++s;
+- --e;
+- }
+- }
+-
+- /*
+- * swap all the characters in reverse direction
+- */
+- char_u *
+- lrswap(char_u *ibuf)
+- {
+- if (ibuf != NULL && *ibuf != NUL)
+- lrswapbuf(ibuf, (int)STRLEN(ibuf));
+- return ibuf;
+- }
+-
+- /*
+- * swap all the Farsi characters in reverse direction
+- */
+- char_u *
+- lrFswap(char_u *cmdbuf, int len)
+- {
+- int i, cnt;
+-
+- if (cmdbuf == NULL)
+- return cmdbuf;
+-
+- if (len == 0 && (len = (int)STRLEN(cmdbuf)) == 0)
+- return cmdbuf;
+-
+- for (i = 0; i < len; i++)
+- {
+- for (cnt = 0; i + cnt < len
+- && (F_isalpha(cmdbuf[i + cnt])
+- || F_isdigit(cmdbuf[i + cnt])
+- || cmdbuf[i + cnt] == ' '); ++cnt)
+- ;
+-
+- lrswapbuf(cmdbuf + i, cnt);
+- i += cnt;
+- }
+- return cmdbuf;
+- }
+-
+- /*
+- * Reverse the characters in the search path and substitute section
+- * accordingly.
+- * TODO: handle different separator characters. Use skip_regexp().
+- */
+- char_u *
+- lrF_sub(char_u *ibuf)
+- {
+- char_u *p, *ep;
+- int i, cnt;
+-
+- p = ibuf;
+-
+- /* Find the boundary of the search path */
+- while (((p = vim_strchr(p + 1, '/')) != NULL) && p[-1] == '\\')
+- ;
+-
+- if (p == NULL)
+- return ibuf;
+-
+- /* Reverse the Farsi characters in the search path. */
+- lrFswap(ibuf, (int)(p-ibuf));
+-
+- /* Now find the boundary of the substitute section */
+- if ((ep = (char_u *)strrchr((char *)++p, '/')) != NULL)
+- cnt = (int)(ep - p);
+- else
+- cnt = (int)STRLEN(p);
+-
+- /* Reverse the characters in the substitute section and take care of '\' */
+- for (i = 0; i < cnt-1; i++)
+- if (p[i] == '\\')
+- {
+- p[i] = p[i+1] ;
+- p[++i] = '\\';
+- }
+-
+- lrswapbuf(p, cnt);
+-
+- return ibuf;
+- }
+-
+- /*
+- * Map Farsi keyboard when in cmd_fkmap mode.
+- */
+- int
+- cmdl_fkmap(int c)
+- {
+- int tempc;
+-
+- switch (c)
+- {
+- case '0':
+- case '1':
+- case '2':
+- case '3':
+- case '4':
+- case '5':
+- case '6':
+- case '7':
+- case '8':
+- case '9':
+- case '`':
+- case ' ':
+- case '.':
+- case '!':
+- case '"':
+- case '$':
+- case '%':
+- case '^':
+- case '&':
+- case '/':
+- case '(':
+- case ')':
+- case '=':
+- case '\\':
+- case '?':
+- case '+':
+- case '-':
+- case '_':
+- case '*':
+- case ':':
+- case '#':
+- case '~':
+- case '@':
+- case '<':
+- case '>':
+- case '{':
+- case '}':
+- case '|':
+- case 'B':
+- case 'E':
+- case 'F':
+- case 'H':
+- case 'I':
+- case 'K':
+- case 'L':
+- case 'M':
+- case 'O':
+- case 'P':
+- case 'Q':
+- case 'R':
+- case 'T':
+- case 'U':
+- case 'W':
+- case 'Y':
+- case NL:
+- case TAB:
+-
+- switch ((tempc = cmd_gchar(AT_CURSOR)))
+- {
+- case _BE:
+- case _PE:
+- case _TE:
+- case _SE:
+- case _JIM:
+- case _CHE:
+- case _HE_J:
+- case _XE:
+- case _SIN:
+- case _SHIN:
+- case _SAD:
+- case _ZAD:
+- case _AYN:
+- case _GHAYN:
+- case _FE:
+- case _GHAF:
+- case _KAF:
+- case _GAF:
+- case _LAM:
+- case _MIM:
+- case _NOON:
+- case _HE:
+- case _HE_:
+- cmd_pchar(toF_TyA(tempc), AT_CURSOR);
+- break;
+- case _AYN_:
+- cmd_pchar(AYN_, AT_CURSOR);
+- break;
+- case _GHAYN_:
+- cmd_pchar(GHAYN_, AT_CURSOR);
+- break;
+- case _IE:
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR+1))
+- cmd_pchar(IE_, AT_CURSOR);
+- else
+- cmd_pchar(IE, AT_CURSOR);
+- break;
+- case _YEE:
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR+1))
+- cmd_pchar(YEE_, AT_CURSOR);
+- else
+- cmd_pchar(YEE, AT_CURSOR);
+- break;
+- case _YE:
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR+1))
+- cmd_pchar(YE_, AT_CURSOR);
+- else
+- cmd_pchar(YE, AT_CURSOR);
+- }
+-
+- switch (c)
+- {
+- case '0': return FARSI_0;
+- case '1': return FARSI_1;
+- case '2': return FARSI_2;
+- case '3': return FARSI_3;
+- case '4': return FARSI_4;
+- case '5': return FARSI_5;
+- case '6': return FARSI_6;
+- case '7': return FARSI_7;
+- case '8': return FARSI_8;
+- case '9': return FARSI_9;
+- case 'B': return F_PSP;
+- case 'E': return JAZR_N;
+- case 'F': return ALEF_D_H;
+- case 'H': return ALEF_A;
+- case 'I': return TASH;
+- case 'K': return F_LQUOT;
+- case 'L': return F_RQUOT;
+- case 'M': return HAMZE;
+- case 'O': return '[';
+- case 'P': return ']';
+- case 'Q': return OO;
+- case 'R': return MAD_N;
+- case 'T': return OW;
+- case 'U': return MAD;
+- case 'W': return OW_OW;
+- case 'Y': return JAZR;
+- case '`': return F_PCN;
+- case '!': return F_EXCL;
+- case '@': return F_COMMA;
+- case '#': return F_DIVIDE;
+- case '$': return F_CURRENCY;
+- case '%': return F_PERCENT;
+- case '^': return F_MUL;
+- case '&': return F_BCOMMA;
+- case '*': return F_STAR;
+- case '(': return F_LPARENT;
+- case ')': return F_RPARENT;
+- case '-': return F_MINUS;
+- case '_': return F_UNDERLINE;
+- case '=': return F_EQUALS;
+- case '+': return F_PLUS;
+- case '\\': return F_BSLASH;
+- case '|': return F_PIPE;
+- case ':': return F_DCOLON;
+- case '"': return F_SEMICOLON;
+- case '.': return F_PERIOD;
+- case '/': return F_SLASH;
+- case '<': return F_LESS;
+- case '>': return F_GREATER;
+- case '?': return F_QUESTION;
+- case ' ': return F_BLANK;
+- }
+-
+- break;
+-
+- case 'a': return _SHIN;
+- case 'A': return WAW_H;
+- case 'b': return ZAL;
+- case 'c': return ZE;
+- case 'C': return JE;
+- case 'd': return _YE;
+- case 'D': return _YEE;
+- case 'e': return _SE;
+- case 'f': return _BE;
+- case 'g': return _LAM;
+- case 'G':
+- if (cmd_gchar(AT_CURSOR) == _LAM)
+- {
+- cmd_pchar(LAM, AT_CURSOR);
+- return ALEF_U_H;
+- }
+-
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR))
+- return ALEF_U_H_;
+- else
+- return ALEF_U_H;
+- case 'h':
+- if (cmd_gchar(AT_CURSOR) == _LAM)
+- {
+- cmd_pchar(LA, AT_CURSOR);
+- redrawcmdline();
+- return K_IGNORE;
+- }
+-
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR))
+- return ALEF_;
+- else
+- return ALEF;
+- case 'i':
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR))
+- return _HE_;
+- else
+- return _HE;
+- case 'j': return _TE;
+- case 'J':
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR))
+- return TEE_;
+- else
+- return TEE;
+- case 'k': return _NOON;
+- case 'l': return _MIM;
+- case 'm': return _PE;
+- case 'n':
+- case 'N': return DAL;
+- case 'o': return _XE;
+- case 'p': return _HE_J;
+- case 'q': return _ZAD;
+- case 'r': return _GHAF;
+- case 's': return _SIN;
+- case 'S': return _IE;
+- case 't': return _FE;
+- case 'u':
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR))
+- return _AYN_;
+- else
+- return _AYN;
+- case 'v':
+- case 'V': return RE;
+- case 'w': return _SAD;
+- case 'x':
+- case 'X': return _TA;
+- case 'y':
+- if (F_is_TyB_TyC_TyD(SRC_CMD, AT_CURSOR))
+- return _GHAYN_;
+- else
+- return _GHAYN;
+- case 'z':
+- case 'Z': return _ZA;
+- case ';': return _KAF;
+- case '\'': return _GAF;
+- case ',': return WAW;
+- case '[': return _JIM;
+- case ']': return _CHE;
+- }
+-
+- return c;
+- }
+-
+- /*
+- * F_isalpha returns TRUE if 'c' is a Farsi alphabet
+- */
+- int
+- F_isalpha(int c)
+- {
+- return ((c >= TEE_ && c <= _YE)
+- || (c >= ALEF_A && c <= YE)
+- || (c >= _IE && c <= YE_));
+- }
+-
+- /*
+- * F_isdigit returns TRUE if 'c' is a Farsi digit
+- */
+- int
+- F_isdigit(int c)
+- {
+- return (c >= FARSI_0 && c <= FARSI_9);
+- }
+-
+- /*
+- * F_ischar returns TRUE if 'c' is a Farsi character.
+- */
+- int
+- F_ischar(int c)
+- {
+- return (c >= TEE_ && c <= YE_);
+- }
+-
+- void
+- farsi_f8(cmdarg_T *cap UNUSED)
+- {
+- if (p_altkeymap)
+- {
+- if (curwin->w_farsi & W_R_L)
+- {
+- p_fkmap = 0;
+- do_cmdline_cmd((char_u *)"set norl");
+- msg("");
+- }
+- else
+- {
+- p_fkmap = 1;
+- do_cmdline_cmd((char_u *)"set rl");
+- msg("");
+- }
+-
+- curwin->w_farsi = curwin->w_farsi ^ W_R_L;
+- }
+- }
+-
+- void
+- farsi_f9(cmdarg_T *cap UNUSED)
+- {
+- if (p_altkeymap && curwin->w_p_rl)
+- {
+- curwin->w_farsi = curwin->w_farsi ^ W_CONV;
+- if (curwin->w_farsi & W_CONV)
+- conv_to_pvim();
+- else
+- conv_to_pstd();
+- }
+- }
+-
+- #endif /* FEAT_FKMAP */
+--- 0 ----
+*** ../vim-8.1.0931/src/proto/farsi.pro 2018-05-17 13:52:35.000000000 +0200
+--- src/proto/farsi.pro 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 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 : */
+--- 0 ----
+*** ../vim-8.1.0931/src/farsi.h 2019-01-19 17:43:03.433449041 +0100
+--- src/farsi.h 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,234 ****
+- /* 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.
+- */
+-
+- /*
+- * Farsi characters are categorized into following types:
+- *
+- * TyA (for capital letter representation)
+- * TyB (for types that look like _X e.g. AYN)
+- * TyC (for types that look like X_ e.g. YE_)
+- * TyD (for types that look like _X_ e.g. _AYN_)
+- * TyE (for types that look like X e.g. RE)
+- */
+-
+- /*
+- * Farsi character set definition
+- */
+-
+- /*
+- * Begin of the non-standard part
+- */
+-
+- #define TEE_ 0x80
+- #define ALEF_U_H_ 0x81
+- #define ALEF_ 0x82
+- #define _BE 0x83
+- #define _PE 0x84
+- #define _TE 0x85
+- #define _SE 0x86
+- #define _JIM 0x87
+- #define _CHE 0x88
+- #define _HE_J 0x89
+- #define _XE 0x8a
+- #define _SIN 0x8b
+- #define _SHIN 0x8c
+- #define _SAD 0x8d
+- #define _ZAD 0x8e
+- #define _AYN 0x8f
+- #define _AYN_ 0x90
+- #define AYN_ 0x91
+- #define _GHAYN 0x92
+- #define _GHAYN_ 0x93
+- #define GHAYN_ 0x94
+- #define _FE 0x95
+- #define _GHAF 0x96
+- #define _KAF 0x97
+- #define _GAF 0x98
+- #define _LAM 0x99
+- #define LA 0x9a
+- #define _MIM 0x9b
+- #define _NOON 0x9c
+- #define _HE 0x9d
+- #define _HE_ 0x9e
+- #define _YE 0x9f
+- #define _IE 0xec
+- #define IE_ 0xed
+- #define IE 0xfb
+- #define _YEE 0xee
+- #define YEE_ 0xef
+- #define YE_ 0xff
+-
+- /*
+- * End of the non-standard part
+- */
+-
+- /*
+- * Standard part
+- */
+-
+- #define F_BLANK 0xa0 /* Farsi ' ' (SP) character */
+- #define F_PSP 0xa1 /* PSP for capitalizing of a character */
+- #define F_PCN 0xa2 /* PCN for redefining of the hamye meaning */
+- #define F_EXCL 0xa3 /* Farsi ! character */
+- #define F_CURRENCY 0xa4 /* Farsi Rial character */
+- #define F_PERCENT 0xa5 /* Farsi % character */
+- #define F_PERIOD 0xa6 /* Farsi '.' character */
+- #define F_COMMA 0xa7 /* Farsi ',' character */
+- #define F_LPARENT 0xa8 /* Farsi '(' character */
+- #define F_RPARENT 0xa9 /* Farsi ')' character */
+- #define F_MUL 0xaa /* Farsi 'x' character */
+- #define F_PLUS 0xab /* Farsi '+' character */
+- #define F_BCOMMA 0xac /* Farsi comma character */
+- #define F_MINUS 0xad /* Farsi '-' character */
+- #define F_DIVIDE 0xae /* Farsi divide (/) character */
+- #define F_SLASH 0xaf /* Farsi '/' character */
+-
+- #define FARSI_0 0xb0
+- #define FARSI_1 0xb1
+- #define FARSI_2 0xb2
+- #define FARSI_3 0xb3
+- #define FARSI_4 0xb4
+- #define FARSI_5 0xb5
+- #define FARSI_6 0xb6
+- #define FARSI_7 0xb7
+- #define FARSI_8 0xb8
+- #define FARSI_9 0xb9
+-
+- #define F_DCOLON 0xba /* Farsi ':' character */
+- #define F_SEMICOLON 0xbb /* Farsi ';' character */
+- #define F_GREATER 0xbc /* Farsi '>' character */
+- #define F_EQUALS 0xbd /* Farsi '=' character */
+- #define F_LESS 0xbe /* Farsi '<' character */
+- #define F_QUESTION 0xbf /* Farsi ? character */
+-
+- #define ALEF_A 0xc0
+- #define ALEF 0xc1
+- #define HAMZE 0xc2
+- #define BE 0xc3
+- #define PE 0xc4
+- #define TE 0xc5
+- #define SE 0xc6
+- #define JIM 0xc7
+- #define CHE 0xc8
+- #define HE_J 0xc9
+- #define XE 0xca
+- #define DAL 0xcb
+- #define ZAL 0xcc
+- #define RE 0xcd
+- #define ZE 0xce
+- #define JE 0xcf
+- #define SIN 0xd0
+- #define SHIN 0xd1
+- #define SAD 0xd2
+- #define ZAD 0xd3
+- #define _TA 0xd4
+- #define _ZA 0xd5
+- #define AYN 0xd6
+- #define GHAYN 0xd7
+- #define FE 0xd8
+- #define GHAF 0xd9
+- #define KAF 0xda
+- #define GAF 0xdb
+- #define LAM 0xdc
+- #define MIM 0xdd
+- #define NOON 0xde
+- #define WAW 0xdf
+- #define F_HE 0xe0 /* F_ added for name clash with Perl */
+- #define YE 0xe1
+- #define TEE 0xfc
+- #define _KAF_H 0xfd
+- #define YEE 0xfe
+-
+- #define F_LBRACK 0xe2 /* Farsi '[' character */
+- #define F_RBRACK 0xe3 /* Farsi ']' character */
+- #define F_LBRACE 0xe4 /* Farsi '{' character */
+- #define F_RBRACE 0xe5 /* Farsi '}' character */
+- #define F_LQUOT 0xe6 /* Farsi left quotation character */
+- #define F_RQUOT 0xe7 /* Farsi right quotation character */
+- #define F_STAR 0xe8 /* Farsi '*' character */
+- #define F_UNDERLINE 0xe9 /* Farsi '_' character */
+- #define F_PIPE 0xea /* Farsi '|' character */
+- #define F_BSLASH 0xeb /* Farsi '\' character */
+-
+- #define MAD 0xf0
+- #define JAZR 0xf1
+- #define OW 0xf2
+- #define MAD_N 0xf3
+- #define JAZR_N 0xf4
+- #define OW_OW 0xf5
+- #define TASH 0xf6
+- #define OO 0xf7
+- #define ALEF_U_H 0xf8
+- #define WAW_H 0xf9
+- #define ALEF_D_H 0xfa
+-
+- /*
+- * global definitions
+- * ==================
+- */
+-
+- #define SRC_EDT 0
+- #define SRC_CMD 1
+-
+- #define AT_CURSOR 0
+-
+- /*
+- * definitions for the window dependent functions (w_farsi).
+- */
+- #define W_CONV 0x1
+- #define W_R_L 0x2
+-
+-
+- /* special Farsi text messages */
+-
+- EXTERN char farsi_text_1[]
+- #ifdef DO_INIT
+- = { YE_, _SIN, RE, ALEF_, _FE, ' ', 'V', 'I', 'M',
+- ' ', F_HE, _BE, ' ', SHIN, RE, _GAF, DAL,' ', NOON,
+- ALEF_, _YE, ALEF_, _PE, '\0'}
+- #endif
+- ;
+-
+- EXTERN char farsi_text_2[]
+- #ifdef DO_INIT
+- = { YE_, _SIN, RE, ALEF_, _FE, ' ', FARSI_3, FARSI_3,
+- FARSI_4, FARSI_2, ' ', DAL, RE, ALEF, DAL, _NOON,
+- ALEF_, _TE, _SIN, ALEF, ' ', F_HE, _BE, ' ', SHIN,
+- RE, _GAF, DAL, ' ', NOON, ALEF_, _YE, ALEF_, _PE, '\0'}
+- #endif
+- ;
+-
+- EXTERN char farsi_text_3[]
+- #ifdef DO_INIT
+- = { DAL, WAW, _SHIN, _YE, _MIM, _NOON, ' ', YE_, _NOON,
+- ALEF_,_BE, _YE, _TE, _SHIN, _PE, ' ', 'R','E','P','L',
+- 'A','C','E', ' ', NOON, ALEF_, _MIM, RE, _FE, ZE, ALEF,
+- ' ', 'R', 'E', 'V', 'E', 'R', 'S', 'E', ' ', 'I', 'N',
+- 'S', 'E', 'R', 'T', ' ', SHIN, WAW, RE, ' ', ALEF_, _BE,
+- ' ', YE_, _SIN, RE, ALEF_, _FE, ' ', RE, DAL, ' ', RE,
+- ALEF_, _KAF,' ', MIM, ALEF_, _GAF, _NOON, _HE, '\0'}
+- #endif
+- ;
+-
+- #if 0 /* not used */
+- EXTERN char_u farsi_text_4[]
+- #ifdef DO_INIT
+- = { DAL, WAW, _SHIN, _YE, _MIM, _NOON, ' ', YE_, _NOON,
+- ALEF_, _BE, _YE, _TE, _SHIN, _PE, ' ', '<', 'C','T','R',
+- 'L','-','B','>', ' ', NOON, ALEF_, _MIM, RE, _FE, ZE,
+- ALEF, ' ', YE_, _SIN, RE, ALEF_, _FE, ' ', RE, DAL, ' ',
+- RE, ALEF_, _KAF,' ', MIM, ALEF_, _GAF, _NOON, _HE, '\0'}
+- #endif
+- ;
+- #endif
+-
+- EXTERN char farsi_text_5[]
+- #ifdef DO_INIT
+- = { ' ', YE_, _SIN, RE, ALEF_, _FE, '\0'}
+- #endif
+- ;
+--- 0 ----
+*** ../vim-8.1.0931/src/edit.c 2019-02-05 20:11:57.355368329 +0100
+--- src/edit.c 2019-02-16 14:20:35.497554963 +0100
+***************
+*** 467,481 ****
+
+ if (cmdchar == 'R')
+ {
+- #ifdef FEAT_FKMAP
+- if (p_fkmap && p_ri)
+- {
+- beep_flush();
+- emsg(farsi_text_3); /* encoded in Farsi */
+- State = INSERT;
+- }
+- else
+- #endif
+ State = REPLACE;
+ }
+ else if (cmdchar == 'V' || cmdchar == 'v')
+--- 467,472 ----
+***************
+*** 812,821 ****
+ if (p_hkmap && KeyTyped)
+ c = hkmap(c); /* Hebrew mode mapping */
+ #endif
+- #ifdef FEAT_FKMAP
+- if (p_fkmap && KeyTyped)
+- c = fkmap(c); /* Farsi mode mapping */
+- #endif
+
+ #ifdef FEAT_INS_EXPAND
+ /*
+--- 803,808 ----
+***************
+*** 6281,6289 ****
+ && !ISSPECIAL(c)
+ && (!has_mbyte || MB_BYTE2LEN_CHECK(c) == 1)
+ && i < INPUT_BUFLEN
+- # ifdef FEAT_FKMAP
+- && !(p_fkmap && KeyTyped) /* Farsi mode mapping moves cursor */
+- # endif
+ && (textwidth == 0
+ || (virtcol += byte2cells(buf[i - 1])) < (colnr_T)textwidth)
+ && !(!no_abbr && !vim_iswordc(c) && vim_iswordc(buf[i - 1])))
+--- 6268,6273 ----
+***************
+*** 8406,8428 ****
+ }
+ else
+ revins_scol = -1;
+! #ifdef FEAT_FKMAP
+! if (p_altkeymap)
+! {
+! /*
+! * to be consistent also for redo command, using '.'
+! * set arrow_used to true and stop it - causing to redo
+! * characters entered in one mode (normal/reverse insert).
+! */
+! arrow_used = TRUE;
+! (void)stop_arrow();
+! p_fkmap = curwin->w_p_rl ^ p_ri;
+! if (p_fkmap && p_ri)
+! State = INSERT;
+! }
+! else
+! #endif
+! p_hkmap = curwin->w_p_rl ^ p_ri; /* be consistent! */
+ showmode();
+ }
+ #endif
+--- 8390,8396 ----
+ }
+ else
+ revins_scol = -1;
+! p_hkmap = curwin->w_p_rl ^ p_ri; // be consistent!
+ showmode();
+ }
+ #endif
+***************
+*** 8488,8508 ****
+ static void
+ ins_insert(int replaceState)
+ {
+! #ifdef FEAT_FKMAP
+! if (p_fkmap && p_ri)
+! {
+! beep_flush();
+! emsg(farsi_text_3); /* encoded in Farsi */
+! return;
+! }
+! #endif
+!
+! # ifdef FEAT_EVAL
+ set_vim_var_string(VV_INSERTMODE,
+ (char_u *)((State & REPLACE_FLAG) ? "i"
+ : replaceState == VREPLACE ? "v"
+ : "r"), 1);
+! # endif
+ ins_apply_autocmds(EVENT_INSERTCHANGE);
+ if (State & REPLACE_FLAG)
+ State = INSERT | (State & LANGMAP);
+--- 8456,8467 ----
+ static void
+ ins_insert(int replaceState)
+ {
+! #ifdef FEAT_EVAL
+ set_vim_var_string(VV_INSERTMODE,
+ (char_u *)((State & REPLACE_FLAG) ? "i"
+ : replaceState == VREPLACE ? "v"
+ : "r"), 1);
+! #endif
+ ins_apply_autocmds(EVENT_INSERTCHANGE);
+ if (State & REPLACE_FLAG)
+ State = INSERT | (State & LANGMAP);
+***************
+*** 9916,9925 ****
+ coladvance(getviscol());
+
+ #ifdef FEAT_RIGHTLEFT
+- # ifdef FEAT_FKMAP
+- if (p_altkeymap && p_fkmap)
+- fkmap(NL);
+- # endif
+ /* NL in reverse insert will always start in the end of
+ * current line. */
+ if (revins_on)
+--- 9875,9880 ----
+*** ../vim-8.1.0931/src/main.c 2019-01-24 15:54:17.786847003 +0100
+--- src/main.c 2019-02-16 14:22:54.508742248 +0100
+***************
+*** 535,551 ****
+ if (params.no_swap_file)
+ p_uc = 0;
+
+- #ifdef FEAT_FKMAP
+- if (curwin->w_p_rl && p_altkeymap)
+- {
+- p_hkmap = FALSE; /* Reset the Hebrew keymap mode */
+- # ifdef FEAT_ARABIC
+- curwin->w_p_arab = FALSE; /* Reset the Arabic keymap mode */
+- # endif
+- p_fkmap = TRUE; /* Set the Farsi keymap mode */
+- }
+- #endif
+-
+ #ifdef FEAT_GUI
+ if (gui.starting)
+ {
+--- 535,540 ----
+***************
+*** 2025,2038 ****
+ main_start_gui();
+ break;
+
+! case 'F': /* "-F" start in Farsi mode: rl + fkmap set */
+! #ifdef FEAT_FKMAP
+! p_fkmap = TRUE;
+! set_option_value((char_u *)"rl", 1L, NULL, 0);
+! #else
+ mch_errmsg(_(e_nofarsi));
+ mch_exit(2);
+- #endif
+ break;
+
+ case '?': /* "-?" give help message (for MS-Windows) */
+--- 2014,2022 ----
+ main_start_gui();
+ break;
+
+! case 'F': /* "-F" was for Farsi mode */
+ mch_errmsg(_(e_nofarsi));
+ mch_exit(2);
+ break;
+
+ case '?': /* "-?" give help message (for MS-Windows) */
+***************
+*** 3351,3359 ****
+ #ifdef FEAT_RIGHTLEFT
+ main_msg(_("-H\t\t\tStart in Hebrew mode"));
+ #endif
+- #ifdef FEAT_FKMAP
+- main_msg(_("-F\t\t\tStart in Farsi mode"));
+- #endif
+ main_msg(_("-T <terminal>\tSet terminal type to <terminal>"));
+ main_msg(_("--not-a-term\t\tSkip warning for input/output not being a terminal"));
+ main_msg(_("--ttyfail\t\tExit if input or output is not a terminal"));
+--- 3335,3340 ----
+*** ../vim-8.1.0931/src/normal.c 2019-01-31 18:26:05.738803509 +0100
+--- src/normal.c 2019-02-16 14:18:27.118305987 +0100
+***************
+*** 397,406 ****
+ {K_TABLINE, nv_tabline, 0, 0},
+ {K_TABMENU, nv_tabmenu, 0, 0},
+ #endif
+- #ifdef FEAT_FKMAP
+- {K_F8, farsi_f8, 0, 0},
+- {K_F9, farsi_f9, 0, 0},
+- #endif
+ #ifdef FEAT_NETBEANS_INTG
+ {K_F21, nv_nbcmd, NV_NCH_ALW, 0},
+ #endif
+--- 397,402 ----
+***************
+*** 987,997 ****
+ /* adjust Hebrew mapped char */
+ if (p_hkmap && lang && KeyTyped)
+ *cp = hkmap(*cp);
+- # ifdef FEAT_FKMAP
+- /* adjust Farsi mapped char */
+- if (p_fkmap && lang && KeyTyped)
+- *cp = fkmap(*cp);
+- # endif
+ #endif
+ }
+
+--- 983,988 ----
+*** ../vim-8.1.0931/src/option.c 2019-02-08 12:46:03.588784187 +0100
+--- src/option.c 2019-02-16 14:23:25.484571533 +0100
+***************
+*** 542,552 ****
+ #endif
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+ {"altkeymap", "akm", P_BOOL|P_VI_DEF,
+- #ifdef FEAT_FKMAP
+- (char_u *)&p_altkeymap, PV_NONE,
+- #else
+ (char_u *)NULL, PV_NONE,
+- #endif
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+ {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR,
+ (char_u *)&p_ambw, PV_NONE,
+--- 542,548 ----
+***************
+*** 1141,1151 ****
+ (char_u *)&p_fixeol, PV_FIXEOL,
+ {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
+ {"fkmap", "fk", P_BOOL|P_VI_DEF,
+- #ifdef FEAT_FKMAP
+- (char_u *)&p_fkmap, PV_NONE,
+- #else
+ (char_u *)NULL, PV_NONE,
+- #endif
+ {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+ {"flash", "fl", P_BOOL|P_VI_DEF,
+ (char_u *)NULL, PV_NONE,
+--- 1137,1143 ----
+***************
+*** 8707,8775 ****
+ }
+ #endif
+
+- #ifdef FEAT_FKMAP
+- else if ((int *)varp == &p_altkeymap)
+- {
+- if (old_value != p_altkeymap)
+- {
+- if (!p_altkeymap)
+- {
+- p_hkmap = p_fkmap;
+- p_fkmap = 0;
+- }
+- else
+- {
+- p_fkmap = p_hkmap;
+- p_hkmap = 0;
+- }
+- (void)init_chartab();
+- }
+- }
+-
+- /*
+- * In case some second language keymapping options have changed, check
+- * and correct the setting in a consistent way.
+- */
+-
+- /*
+- * If hkmap or fkmap are set, reset Arabic keymapping.
+- */
+- if ((p_hkmap || p_fkmap) && p_altkeymap)
+- {
+- p_altkeymap = p_fkmap;
+- # ifdef FEAT_ARABIC
+- curwin->w_p_arab = FALSE;
+- # endif
+- (void)init_chartab();
+- }
+-
+- /*
+- * If hkmap set, reset Farsi keymapping.
+- */
+- if (p_hkmap && p_altkeymap)
+- {
+- p_altkeymap = 0;
+- p_fkmap = 0;
+- # ifdef FEAT_ARABIC
+- curwin->w_p_arab = FALSE;
+- # endif
+- (void)init_chartab();
+- }
+-
+- /*
+- * If fkmap set, reset Hebrew keymapping.
+- */
+- if (p_fkmap && !p_altkeymap)
+- {
+- p_altkeymap = 1;
+- p_hkmap = 0;
+- # ifdef FEAT_ARABIC
+- curwin->w_p_arab = FALSE;
+- # endif
+- (void)init_chartab();
+- }
+- #endif
+-
+ #ifdef FEAT_ARABIC
+ if ((int *)varp == &curwin->w_p_arab)
+ {
+--- 8699,8704 ----
+***************
+*** 8816,8827 ****
+ set_option_value((char_u *)"keymap", 0L, (char_u *)"arabic",
+ OPT_LOCAL);
+ # endif
+- # ifdef FEAT_FKMAP
+- p_altkeymap = 0;
+- p_hkmap = 0;
+- p_fkmap = 0;
+- (void)init_chartab();
+- # endif
+ }
+ else
+ {
+--- 8745,8750 ----
+***************
+*** 11085,11096 ****
+ {
+ copy_winopt(&wp_from->w_onebuf_opt, &wp_to->w_onebuf_opt);
+ copy_winopt(&wp_from->w_allbuf_opt, &wp_to->w_allbuf_opt);
+- # ifdef FEAT_RIGHTLEFT
+- # ifdef FEAT_FKMAP
+- /* Is this right? */
+- wp_to->w_farsi = wp_from->w_farsi;
+- # endif
+- # endif
+ #if defined(FEAT_LINEBREAK)
+ briopt_check(wp_to);
+ #endif
+--- 11008,11013 ----
+*** ../vim-8.1.0931/src/getchar.c 2019-01-25 22:29:54.139821894 +0100
+--- src/getchar.c 2019-02-16 14:14:23.043735559 +0100
+***************
+*** 3361,3375 ****
+ rhs = replace_termcodes(rhs, &arg_buf, FALSE, TRUE, special);
+ }
+
+- #ifdef FEAT_FKMAP
+- /*
+- * When in right-to-left mode and alternate keymap option set,
+- * reverse the character flow in the rhs in Farsi.
+- */
+- if (p_altkeymap && curwin->w_p_rl)
+- lrswap(rhs);
+- #endif
+-
+ /*
+ * check arguments and translate function keys
+ */
+--- 3361,3366 ----
+*** ../vim-8.1.0931/src/ex_cmds.c 2019-02-12 22:37:24.181961482 +0100
+--- src/ex_cmds.c 2019-02-16 14:15:39.879285233 +0100
+***************
+*** 4911,4920 ****
+ }
+ else /* find the end of the regexp */
+ {
+- #ifdef FEAT_FKMAP /* reverse the flow of the Farsi characters */
+- if (p_altkeymap && curwin->w_p_rl)
+- lrF_sub(cmd);
+- #endif
+ which_pat = RE_LAST; /* use last used regexp */
+ delimiter = *cmd++; /* remember delimiter character */
+ pat = cmd; /* remember start of search pat */
+--- 4911,4916 ----
+***************
+*** 6070,6080 ****
+ *cmd++ = NUL; /* replace it with a NUL */
+ }
+
+- #ifdef FEAT_FKMAP /* when in Farsi mode, reverse the character flow */
+- if (p_altkeymap && curwin->w_p_rl)
+- lrFswap(pat,0);
+- #endif
+-
+ if (search_regcomp(pat, RE_BOTH, which_pat, SEARCH_HIS, &regmatch) == FAIL)
+ {
+ emsg(_(e_invcmd));
+--- 6066,6071 ----
+*** ../vim-8.1.0931/src/search.c 2019-02-10 21:48:21.385272023 +0100
+--- src/search.c 2019-02-16 14:23:53.956422298 +0100
+***************
+*** 1477,1488 ****
+ }
+ }
+
+! #ifdef FEAT_FKMAP /* when in Farsi mode, reverse the character flow */
+! if (p_altkeymap && curwin->w_p_rl)
+! lrFswap(searchstr,0);
+! #endif
+!
+! c = searchit(curwin, curbuf, &pos, NULL, dirc == '/' ? FORWARD : BACKWARD,
+ searchstr, count, spats[0].off.end + (options &
+ (SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
+ + SEARCH_MSG + SEARCH_START
+--- 1477,1484 ----
+ }
+ }
+
+! c = searchit(curwin, curbuf, &pos, NULL,
+! dirc == '/' ? FORWARD : BACKWARD,
+ searchstr, count, spats[0].off.end + (options &
+ (SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
+ + SEARCH_MSG + SEARCH_START
+***************
+*** 2976,2985 ****
+ int c;
+
+ c = gchar_cursor();
+- #ifdef FEAT_FKMAP /* when 'akm' (Farsi mode), take care of Farsi blank */
+- if (p_altkeymap && c == F_BLANK)
+- return 0;
+- #endif
+ if (c == ' ' || c == '\t' || c == NUL)
+ return 0;
+ if (enc_dbcs != 0 && c > 0xFF)
+--- 2972,2977 ----
+*** ../vim-8.1.0931/src/ex_getln.c 2019-01-24 15:54:17.786847003 +0100
+--- src/ex_getln.c 2019-02-16 14:22:09.941002759 +0100
+***************
+*** 81,90 ****
+ static int cmd_hkmap = 0; /* Hebrew mapping during command line */
+ #endif
+
+- #ifdef FEAT_FKMAP
+- static int cmd_fkmap = 0; /* Farsi mapping during command line */
+- #endif
+-
+ static char_u *getcmdline_int(int firstc, long count, int indent, int init_ccline);
+ static int cmdline_charsize(int idx);
+ static void set_cmdspos(void);
+--- 81,86 ----
+***************
+*** 1043,1052 ****
+ #ifdef FEAT_RIGHTLEFT
+ if (cmd_hkmap)
+ c = hkmap(c);
+- # ifdef FEAT_FKMAP
+- if (cmd_fkmap)
+- c = cmdl_fkmap(c);
+- # endif
+ if (cmdmsg_rl && !KeyStuffed)
+ {
+ /* Invert horizontal movements and operations. Only when
+--- 1039,1044 ----
+***************
+*** 1595,1604 ****
+ case K_DEL:
+ case K_KDEL:
+ case Ctrl_W:
+- #ifdef FEAT_FKMAP
+- if (cmd_fkmap && c == K_BS)
+- c = K_DEL;
+- #endif
+ if (c == K_KDEL)
+ c = K_DEL;
+
+--- 1587,1592 ----
+***************
+*** 1694,1706 ****
+
+ case K_INS:
+ case K_KINS:
+- #ifdef FEAT_FKMAP
+- /* if Farsi mode set, we are in reverse insert mode -
+- Do not change the mode */
+- if (cmd_fkmap)
+- beep_flush();
+- else
+- #endif
+ ccline.overstrike = !ccline.overstrike;
+ #ifdef CURSOR_SHAPE
+ ui_cursor_shape(); /* may show different cursor shape */
+--- 1682,1687 ----
+***************
+*** 2309,2324 ****
+ case Ctrl__: /* CTRL-_: switch language mode */
+ if (!p_ari)
+ break;
+! # ifdef FEAT_FKMAP
+! if (p_altkeymap)
+! {
+! cmd_fkmap = !cmd_fkmap;
+! if (cmd_fkmap) /* in Farsi always in Insert mode */
+! ccline.overstrike = FALSE;
+! }
+! else /* Hebrew is default */
+! # endif
+! cmd_hkmap = !cmd_hkmap;
+ goto cmdline_not_changed;
+ #endif
+
+--- 2290,2296 ----
+ case Ctrl__: /* CTRL-_: switch language mode */
+ if (!p_ari)
+ break;
+! cmd_hkmap = !cmd_hkmap;
+ goto cmdline_not_changed;
+ #endif
+
+***************
+*** 2421,2430 ****
+ cmdmsg_rl = FALSE;
+ #endif
+
+- #ifdef FEAT_FKMAP
+- cmd_fkmap = 0;
+- #endif
+-
+ ExpandCleanup(&xpc);
+ ccline.xpc = NULL;
+
+--- 2393,2398 ----
+***************
+*** 3463,3506 ****
+ msg_clr_eos();
+ msg_no_more = FALSE;
+ }
+! #ifdef FEAT_FKMAP
+! /*
+! * If we are in Farsi command mode, the character input must be in
+! * Insert mode. So do not advance the cmdpos.
+! */
+! if (!cmd_fkmap)
+! #endif
+ {
+! if (KeyTyped)
+! {
+! m = Columns * Rows;
+! if (m < 0) /* overflow, Columns or Rows at weird value */
+! m = MAXCOL;
+! }
+! else
+ m = MAXCOL;
+! for (i = 0; i < len; ++i)
+! {
+! c = cmdline_charsize(ccline.cmdpos);
+! /* count ">" for a double-wide char that doesn't fit. */
+! if (has_mbyte)
+! correct_cmdspos(ccline.cmdpos, c);
+! /* Stop cursor at the end of the screen, but do increment the
+! * insert position, so that entering a very long command
+! * works, even though you can't see it. */
+! if (ccline.cmdspos + c < m)
+! ccline.cmdspos += c;
+
+! if (has_mbyte)
+! {
+! c = (*mb_ptr2len)(ccline.cmdbuff + ccline.cmdpos) - 1;
+! if (c > len - i - 1)
+! c = len - i - 1;
+! ccline.cmdpos += c;
+! i += c;
+! }
+! ++ccline.cmdpos;
+ }
+ }
+ }
+ if (redraw)
+--- 3431,3465 ----
+ msg_clr_eos();
+ msg_no_more = FALSE;
+ }
+! if (KeyTyped)
+ {
+! m = Columns * Rows;
+! if (m < 0) /* overflow, Columns or Rows at weird value */
+ m = MAXCOL;
+! }
+! else
+! m = MAXCOL;
+! for (i = 0; i < len; ++i)
+! {
+! c = cmdline_charsize(ccline.cmdpos);
+! /* count ">" for a double-wide char that doesn't fit. */
+! if (has_mbyte)
+! correct_cmdspos(ccline.cmdpos, c);
+! /* Stop cursor at the end of the screen, but do increment the
+! * insert position, so that entering a very long command
+! * works, even though you can't see it. */
+! if (ccline.cmdspos + c < m)
+! ccline.cmdspos += c;
+
+! if (has_mbyte)
+! {
+! c = (*mb_ptr2len)(ccline.cmdbuff + ccline.cmdpos) - 1;
+! if (c > len - i - 1)
+! c = len - i - 1;
+! ccline.cmdpos += c;
+! i += c;
+ }
++ ++ccline.cmdpos;
+ }
+ }
+ if (redraw)
+***************
+*** 7126,7160 ****
+ }
+ #endif /* FEAT_VIMINFO */
+
+- #if defined(FEAT_FKMAP) || defined(PROTO)
+- /*
+- * Write a character at the current cursor+offset position.
+- * It is directly written into the command buffer block.
+- */
+- void
+- cmd_pchar(int c, int offset)
+- {
+- if (ccline.cmdpos + offset >= ccline.cmdlen || ccline.cmdpos + offset < 0)
+- {
+- emsg(_("E198: cmd_pchar beyond the command length"));
+- return;
+- }
+- ccline.cmdbuff[ccline.cmdpos + offset] = (char_u)c;
+- ccline.cmdbuff[ccline.cmdlen] = NUL;
+- }
+-
+- int
+- cmd_gchar(int offset)
+- {
+- if (ccline.cmdpos + offset >= ccline.cmdlen || ccline.cmdpos + offset < 0)
+- {
+- // emsg(_("cmd_gchar beyond the command length"));
+- return NUL;
+- }
+- return (int)ccline.cmdbuff[ccline.cmdpos + offset];
+- }
+- #endif
+-
+ #if defined(FEAT_CMDWIN) || defined(PROTO)
+ /*
+ * Open a window on the current command line and history. Allow editing in
+--- 7085,7090 ----
+*** ../vim-8.1.0931/src/charset.c 2019-01-26 17:28:22.220599167 +0100
+--- src/charset.c 2019-02-16 14:19:07.586069193 +0100
+***************
+*** 98,110 ****
+ while (c <= '~')
+ #endif
+ g_chartab[c++] = 1 + CT_PRINT_CHAR;
+- #ifdef FEAT_FKMAP
+- if (p_altkeymap)
+- {
+- while (c < YE)
+- g_chartab[c++] = 1 + CT_PRINT_CHAR;
+- }
+- #endif
+ while (c < 256)
+ {
+ /* UTF-8: bytes 0xa0 - 0xff are printable (latin1) */
+--- 98,103 ----
+***************
+*** 218,228 ****
+ /* Use the MB_ functions here, because isalpha() doesn't
+ * work properly when 'encoding' is "latin1" and the locale is
+ * "C". */
+! if (!do_isalpha || MB_ISLOWER(c) || MB_ISUPPER(c)
+! #ifdef FEAT_FKMAP
+! || (p_altkeymap && (F_isalpha(c) || F_isdigit(c)))
+! #endif
+! )
+ {
+ if (i == 0) /* (re)set ID flag */
+ {
+--- 211,217 ----
+ /* Use the MB_ functions here, because isalpha() doesn't
+ * work properly when 'encoding' is "latin1" and the locale is
+ * "C". */
+! if (!do_isalpha || MB_ISLOWER(c) || MB_ISUPPER(c))
+ {
+ if (i == 0) /* (re)set ID flag */
+ {
+***************
+*** 237,246 ****
+ #ifndef EBCDIC
+ || c > '~'
+ #endif
+- #ifdef FEAT_FKMAP
+- || (p_altkeymap
+- && (F_isalpha(c) || F_isdigit(c)))
+- #endif
+ // For double-byte we keep the cell width, so
+ // that we can detect it from the first byte.
+ ) && !(enc_dbcs && MB_BYTE2LEN(c) == 2))
+--- 226,231 ----
+***************
+*** 540,548 ****
+ #else
+ (c >= ' ' && c <= '~')
+ #endif
+- #ifdef FEAT_FKMAP
+- || (p_altkeymap && F_ischar(c))
+- #endif
+ )) || (c < 256 && vim_isprintc_strict(c)))
+ {
+ /* printable character */
+--- 525,530 ----
+*** ../vim-8.1.0931/src/evalfunc.c 2019-02-15 21:06:05.338289743 +0100
+--- src/evalfunc.c 2019-02-16 14:20:52.705454334 +0100
+***************
+*** 6268,6276 ****
+ #ifdef FEAT_SEARCH_EXTRA
+ "extra_search",
+ #endif
+- #ifdef FEAT_FKMAP
+- "farsi",
+- #endif
+ #ifdef FEAT_SEARCHPATH
+ "file_in_path",
+ #endif
+--- 6268,6273 ----
+*** ../vim-8.1.0931/src/screen.c 2019-01-31 21:57:15.517462657 +0100
+--- src/screen.c 2019-02-16 14:23:42.424482840 +0100
+***************
+*** 10247,10256 ****
+ #ifdef FEAT_RIGHTLEFT
+ if (p_hkmap)
+ msg_puts_attr(_(" Hebrew"), attr);
+- # ifdef FEAT_FKMAP
+- if (p_fkmap)
+- msg_puts_attr(farsi_text_5, attr);
+- # endif
+ #endif
+ #ifdef FEAT_KEYMAP
+ if (State & LANGMAP)
+--- 10247,10252 ----
+*** ../vim-8.1.0931/src/window.c 2019-02-13 22:45:21.512636158 +0100
+--- src/window.c 2019-02-16 14:24:31.708223175 +0100
+***************
+*** 3445,3456 ****
+ wp->w_topfill = 0;
+ #endif
+ wp->w_botline = 2;
+- #ifdef FEAT_FKMAP
+- if (wp->w_p_rl)
+- wp->w_farsi = W_CONV + W_R_L;
+- else
+- wp->w_farsi = W_CONV;
+- #endif
+ #ifdef FEAT_SYN_HL
+ wp->w_s = &wp->w_buffer->b_s;
+ #endif
+--- 3445,3450 ----
+*** ../vim-8.1.0931/src/globals.h 2019-02-03 14:52:42.501867485 +0100
+--- src/globals.h 2019-02-16 14:46:49.076737466 +0100
+***************
+*** 1450,1458 ****
+ #ifndef FEAT_RIGHTLEFT
+ EXTERN char e_nohebrew[] INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n"));
+ #endif
+! #ifndef FEAT_FKMAP
+! EXTERN char e_nofarsi[] INIT(= N_("E27: Farsi cannot be used: Not enabled at compile time\n"));
+! #endif
+ #ifndef FEAT_ARABIC
+ EXTERN char e_noarabic[] INIT(= N_("E800: Arabic cannot be used: Not enabled at compile time\n"));
+ #endif
+--- 1450,1456 ----
+ #ifndef FEAT_RIGHTLEFT
+ EXTERN char e_nohebrew[] INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n"));
+ #endif
+! EXTERN char e_nofarsi[] INIT(= N_("E27: Farsi support has been removed\n"));
+ #ifndef FEAT_ARABIC
+ EXTERN char e_noarabic[] INIT(= N_("E800: Arabic cannot be used: Not enabled at compile time\n"));
+ #endif
+***************
+*** 1656,1668 ****
+ #endif
+
+ /*
+- * Optional Farsi support. Include it here, so EXTERN and INIT are defined.
+- */
+- #ifdef FEAT_FKMAP
+- # include "farsi.h"
+- #endif
+-
+- /*
+ * Optional Arabic support. Include it here, so EXTERN and INIT are defined.
+ */
+ #ifdef FEAT_ARABIC
+--- 1654,1659 ----
+*** ../vim-8.1.0931/src/proto.h 2019-02-13 22:45:21.512636158 +0100
+--- src/proto.h 2019-02-16 14:29:24.990637943 +0100
+***************
+*** 99,107 ****
+ # ifdef FEAT_MENU
+ # include "menu.pro"
+ # endif
+- # ifdef FEAT_FKMAP
+- # include "farsi.pro"
+- # endif
+ # ifdef FEAT_ARABIC
+ # include "arabic.pro"
+ # endif
+--- 99,104 ----
+*** ../vim-8.1.0931/farsi/README.txt 2010-05-15 13:04:04.000000000 +0200
+--- farsi/README.txt 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,2 ****
+- For information about installation of Farsi fonts and Vim usage in Farsi mode,
+- refer to the Farsi help file by typing ":help farsi" in Vim.
+--- 0 ----
+*** ../vim-8.1.0931/src/structs.h 2019-02-08 12:46:03.588784187 +0100
+--- src/structs.h 2019-02-16 14:30:03.594425301 +0100
+***************
+*** 2952,2961 ****
+ dict_T *w_vars; /* internal variables, local to window */
+ #endif
+
+- #if defined(FEAT_RIGHTLEFT) && defined(FEAT_FKMAP)
+- int w_farsi; /* for the window dependent Farsi functions */
+- #endif
+-
+ /*
+ * The w_prev_pcmark field is used to check whether we really did jump to
+ * a new line after setting the w_pcmark. If not, then we revert to
+--- 2952,2957 ----
+*** ../vim-8.1.0931/farsi/fonts/DOS/far-a01.com 2010-05-15 13:04:04.000000000 +0200
+--- farsi/fonts/DOS/far-a01.com 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,9 ****
+- éŸ8x16 Farsi font V. A01
+- Free Font, Dec 1996 by Mortaza G. Shiran
+- $Driver not loaded - strange video card
+- $
+- äuUP$<v<t<t,<t(X.ÿ.rXœ.ÿrè¬ÿuPSQRUè¹ÿœ.ÿr]ZY[XÏXœ.ÿrP3ÀŽØÇ AŒXπüue<t<t <$t-<0tD.ÿ.rPSQRU$ðŒÊŽÂ½A·¹
+- ¸’£~Œ€¸££‚Œ„ú¸v&£¨&Œªûè“þͺA±ÓêB¸
+-
+-
+- (
+\ No newline at end of file
+--- 0 ----
+*** ../vim-8.1.0931/farsi/fonts/SunOs/far-a01.fb 2010-05-15 13:04:04.000000000 +0200
+--- farsi/fonts/SunOs/far-a01.fb 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,5 ****
+- ¼
+-
+-
+-
+-
+\ No newline at end of file
+--- 0 ----
+*** ../vim-8.1.0931/farsi/fonts/UNIXs/far-a01.f16 2010-05-15 13:04:04.000000000 +0200
+--- farsi/fonts/UNIXs/far-a01.f16 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,4 ****
+-
+-
+-
+- (
+\ No newline at end of file
+--- 0 ----
+*** ../vim-8.1.0931/farsi/fonts/UNIXs/far-a01.pcf.gz 2010-05-15 13:04:04.000000000 +0200
+--- farsi/fonts/UNIXs/far-a01.pcf.gz 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,9 ****
+- ‹â|5
+- )…þþç±wv23wî]èçӏ9ûùž;gf~sΜó?ϙ+—o8 À2’L¡w‹Ýɝ+ø00چÇLÅ_{΄`*ãCÇ[æ5öøxzs/ò6<–ZºðmøNF¾â“
+- ÃÄ'Á© ŸS&> Nc˜ø$ 8aⓀà} ŸS&> Î`˜ø$ 8“aⓀà,†‰O‚³dìÇ0ñI@8ÐAžø$ 2DÍŸ2\­e˜ø$ ¨c˜ø$ ¨g˜ø$ È1L|40L|42L|4Ê”aⓀàl†‰O‚s&> ¦3L|¼ŸaⓀ€£ë<ñI #ís&> Î5ö¯ø®x“\)’OÛ_áò±P¸+EÿÌÐ]~ÇE°ÕXš’D÷:y8ôëxf&ptS–ê&Xž„Îf­›nÃîXV÷Fä7É­y‹xÁ^ÿ…*õëIÁþ¦Wîþ«ÿy˜²~˜÷_.ÿ“\÷0ïßÙqµéw÷ÿZ™t–+¿î ÷*Ý¾Ô ©_RÏN´ºQªw£08|8Àåm\`¦é[­~« o°Çó)iº%u­ ¥º6Á†§£|Ý[™"ÛÿŸ\w„$—%ÿÒÚß$}”4}YË0|-隻ío%í®8©7c¬~Œ WêF…ÈR‡ÂN†…9«ËÙpV'C≖–revî\§u×[AªqÎ~Q›I³Ÿp]<Œ4ä04ßãÂqé$¯–“™0e.ႥÓ›Qæ>`õr®³Ûqö¾–—IûÄPe{ôÐO†Ÿƒ¬KІÇJcÊēäÂéÃÕÉ$>'wí,NòKlè û[i»nw*·¥]¯’{Wi»‘% å\ÆfÃy.6‘Ö‹sö·Ür•Å…]¦¥OŽOÂÐüŠöIÎÕ¿¤´Ë±´ü ë…é¡íJõ7ÉIœV'÷Z‹Rÿã؜¢ïÆÐ>ãÜ
+- 㗼s÷êôË#¤é»1ôþ“ês’sùŽ«’ø£çwaèýKz&¥è‹³óJêpš¾\Ý-à@Û ·k…ŒièJØ.çâ⋦'Ʌóßi²ö¿q×ØBú!×'&97n ·!Ý8І’œØ{x0ŽãÏMÑ»~Âõßaf¢Ô§$¹mړæ9{N’ë¶ç͂^Ô¶.¿c쾕Ho¿ÒôŽ£Rôq÷/eçò]Ž-MÑGË)®ìÒÊ/:æ‹#-ÿ¥m7„Ç?i퇬ï„Ëj’%\¦W¤è%oÇ$¥ü$o6¡4þ÷Yòo¹Mßz«—²»º}\{]IûWÿ¢ùfiñ_eïGΑ2ݐ1þh}L+¿pü’Ö‰(µ¡Yî¿Ë²ÕÙo¹¼/šÎ½Òæpqyî{ڄøùOTŸÃÐy£+‡röm/ãڃ´üsíÌµ¢}ÞL”ÿMGòÜő¿¸ð:˜¬9Ëý˘0ËúÕt$Ï}qñGûÍÿ ]Í2¿«ÄM²×ÛÉ2'yîڙh»n²8ׄÇ
+- Vóe¹ÿ4}–gyiú8{Vª:Ÿ<J>bµW•9_^‹™2 }Ô¬¶ß귕9??L}ØI^΁y荒)céïÆ£ºü—þ]ڑ˜öCÞÅ Ç¥MßIópÒµÇJÓµ¿,é—ý…ˆNÂ7Z^Dùú»˜z ô.g¥v´€líGë[UêÃñ‡ñCdÑæý¯½0ÿÃ"iº‡|¦ïIë»ã\¥|¼f]-ÍEŸ äQyû+¶&y·Š<Cƒ¹ŸJëŸØòd‹ô©’þïA¿ú88O¯)sréÏ:|³œä«Ž¸sƆ~“|èBú»®ÿŒ¾
+- ìà}Šö˜´Ý[‹r•ž};»yJï ÛwöíY—Ž7“Gmÿ6^ª_d{ÄÛ½¥h“¡OٓùR&}ÙNöKÁÄä¸òžÁ­}×1#Š’u×IžÊÂ[ƒP,]Eö‡\twÄ+zf_Ooüy¥“MDÌÉRš®Õ%HË¡•ôõ lÛ!žX˜˜#SN#”àÞ¡ûúJûb¶vûzÜ>ãi‹Ý漁ÐV‹wðdïRìoû®¾Å¢Ë]1ꁢN½¶+ÚÆ.sÀÝE+æ)ý[(ëí»^<_{Ü·{Ë`>w¥¾I˜­Ò>sÀæڞ­"¬QÚþôV¿/iÙÆ£ú@WRþõ ñöJ…Õy¿O¼Þ¢¤Àx<Ú+§ ô¸-uƒ¹¶§ôq¡mCŽš`±hãè—8v·KD:A¡êôvñÞx—{¶Šb ½žn±]±/º»ÇÝÑΞ¢Ø3½žâN•­}›éí”ÔïÛÄÈ÷]+QnáUöu˾"·tnè¼}ѝîûHvtZ#M"÷ŒâÌùöô‡²·9Œ#òÃ99‚£Ë£Øcp,G×ïÀqx'{®wáx¼›½ÿ ˜„y…÷à$œŒÉx/NÁ©œ†Óñ>LÅ8g±—QðP‹:Ô³o`o؄³qGÜïç¬î\Ž*šqfrtЊY˜Íž¼ ç㘋 ЎyÝ_(D.Ÿ‹°KðGXŠâR,cïۉ˰+p9GyW`VãJ\Å^n-Öa={³?ÆF\kp-®Ã&öx×ãlaϼ½B7{­"{¯íìÅvbzÙ îF?ö`/°b¯þaŽZþ7᣸Š[ð1܊ã6ü>Û9"ús|
+- ;ði|ŸÅøîÂ_âóø+܍/àü5¾ˆ/á^ü ¾Œ¿Å}ø
+- ¾Š¿Ãýx
+- Ož(<Qx¢ðDQ+ŠZQԊ¢Vµ¢¨E­(jEQ+ŠZQԉ¢Nu¢¨E(êDQ'Š:Qԉ¢Nõ¢¨E½(êEQ/ŠzQԋ¢^õ¢¨EN9QäD‘EN9QäD‘EN9Q4ˆ¢A ¢hEƒ(DÑ ŠQ4ˆ¢A¢hE£(EÑ(ŠFQ4Š¢Q¢hE“(šDÑ$Š&Q4‰¢IM¢hE“(šL ê"Ô¥®t±+]îJ¼Ò%¯tÑ+]öJ¾2¥o‹_k 0&`lÀ±cÚ”6åÛÑZm JƒÒÖ ´9(mJ„Ò¡´I(mªÖžÖj³PÚ.”6 ¥-CiÓPÚ6”6¥­CióPuÆjµV[ˆÒ&¢´(m$J[‰Òf¢´(m(J[Šª7&¯µÚX”¶¥ÍEi{QÚ`”¶¥MFi›QÚhTÎÔ­Õv£´á(m9J›ŽÒ¶£´ñ(m=J›Òö£LeÓZmBJېÒF¤´)mFJۑ҆¤´%)mJªÑÔT­ÕÖ¤´9)mOJ”Ò¥´I)mSJ•ÒV¥šL57õ\WtmWž¶+Oە§íÊÓvåi»ò´]yÚ®<mWž2„Öj»ò´]yÚ®<mWž¶+Oە§íÊ3í‹i`l £µ¦1ŒieL3cÚÓÐh»ò´]yÚ®¼ZÓ<i­¶+Oە§íÊÓvåi»ò´]yÚ®<mWž¶+¯Î´mZ«íÊÓvåi»ò´]yÚ®<mWž¶+Oە§íÊ«7 cý›ö-ùÿ Î=NTa
+\ No newline at end of file
+--- 0 ----
+*** ../vim-8.1.0931/farsi/fonts/UNIXs/far-a01.pcf.Z 2010-05-15 13:04:04.000000000 +0200
+--- farsi/fonts/UNIXs/far-a01.pcf.Z 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,30 ****
+- ̌“
+- ¸ì aŽË*aR „b”ËŠ¬äBÑÈ'TœiR䋔"G’L¡"%‹A×Uœé  É9tÂè âš0sæ„b
+- š4r¸`dv&Y¾È¦Í= ž2¯Ir ñ³‹GŸ¦NÛ)L‚À À”"T\‘T yN×Fl
+- @
+- @#·Ä
+- N1ŠLã¿8Á2ÆqcŒQXÇÀ\/0øcg‰®n뭛èŠüS®9yÄLvøÞ¹Þw‚/Ê AøҗŠË_FiB^ºå,cùÌs…ñ^¼ã[ÅƀÍp…Áˆæ©¾“Ê ¹sž¡ŒÎ=§YÇ/CB‚d®½t¾ó•ŠAm—Âùµ„
+- ¿4ù¨¶¼Ar÷ýðOåÒçúKYß¹¦½ül7Hðy}ò‚_ýä6{óev_WXf`Z°z
+- èzÛ5zîç€ù׀hzïB¡\xvÒ·|ö|ú'zýöNdfnc&vÞw\~·xª×z4öQ‚‡rŠF{Êvy‘6iÌWXåj:r®æ‚f^ Ñ7±BÿT`äõQ±G{K؄l6Ua÷(çlTØ,ÆÕS´6mUXX0L/u{µg¤†\}ƒ~À‡o·xèa$gwã‡\ÿ´„g{th`8†EFr
+- gm“¶†€õO‰%§C;8ˆgFj`˜ˆ%8{ה{ÎR†—÷N¤–‚i
+- _†™ÿÄ£X¶›þ§À”C£Ç¥Qµˆ"'‹À3ª&™h
+- D·S˜y\Á
+- ¬Ê‰Ž·ÚªÔŠS֊\¬j­;:­™›Ï
+-
+-
+- !¹‘ qLH„D7创ڹˆ‘!=¹“›–k˜›šËŠvž”û¤{¹¨» §º9«¥?źúº¦+»Aw´ ¶é¼dC6}A $ʗƒ*Vdsau3¼ Q¼Ç«¡É‹\ê+)&ž
+- j»@´…¦|y­ €¤Ì¦|¼¯¼V±S j¿šG³|l\*™‰Ëô¡
+- De<ŠÄüÂÕÁç9ÃÍâ°«j±à\­t1ÈË<UŠÜ3ûà ÄNUÄ,TÁ\ qÃaÌżÃW\Xœ», r‘ßJ£*Œf>¼Îm¼²îÜÀ¸’ɶÉ
+- þæ^‚`ã:m®Þê|M-°>֎€®^{N-wÀäŽP“NÙ<Î׎ð3í0ٍ°æ»þà†~×ßÂêa˗B‰ áns7#Q™A9œC:1;,!<Y±ÚSê#?ú#@
+- Ô$B*$C4!DJ$EZ$Fj$Gz$HŠ$Iš$J"K\‚&_MÙNéOùP QRaS<
+-
+-
+-
+-
+- ÄlCräð@`$¨ä™Ü“bñ”Ayás¹<ƒ€ ÂZèU Á艡„À}úKBøLà*!¸=ƒ@  ß3„Ï (>ƒË6_B}¡õÁ`~ŸA0 !…0
+- (B* ®€"ÌŠ€ (B/ €"ŠÀ (B4 ր"lŠ
+- *p®À!Ї  ¤†C08iఁCð8uààC°8P5@Õp
+- 
+- 4
+-
+- f2š˜Élb&əL'f2ž˜É|b&J˜Œ\âN–ÉT&S…šLl2U¸ÉT'S…œLt2UØÉ3™'Ï䞔}RüI(eÀ ”…RJ(eÀ¢œrìÉÐ'gÀŸœr ÊP(gÀ¡œ‰r,JÐ(iÀž¤}’üI(iÀ ¤…’J(iÀ¢¬²ìÉÐ'kÀŸ¬² ÊP(kÀ¡¬‰²,JÐ(mÀž´}ÒüI(mÀ ´…ÒJ(mÀ¢¼òìÉÐ'oÀŸ¼ò ÊP(oÀ¡¼‰ò,JÐ(qÀžÄ}üI(qÀ Ä…J(qÀ¢Ì2ìÉÐ'sÀŸÌ2 ÊP(sÀ¡Ì‰2,J<Ù(ñäžÄ“}OþI<(ñä Ä“…OJ<™(ñäÊēc2Í bf ˜™1 fƀ›rf ؙ1 gƀ•)Z¦ x™2hJJ­Y3-¥Ö̙šRköLO4AeÙ|™¤²lÎLTY6o&«,›;V–Í•I+ƒ¦­´›1SWÚ͚é+ífΖv³gË ‰, çËd–„sfBKÂy3©%áܙؒp®Ln4½e匙â²rÖLsY9s¦º¬œ=Ó]Mx9:_&½3_ŽÎ›É/GçΘ£seÌ i0igÌT˜´³f:Lڙ3%&íì™3hbLáù29¦ðœ™ SxÞL’)<w&Êž‹²j6ʪù(Ï䘬š“TJp)a@¦„›tJ=f˜¼š²h^Ï£¹>+åÒ\Ÿ™òi®ÏN95¯gÕ´Ÿ2kžÏ­¹?+¥×ܟ™2lîÏNI6ϧÙ4 2mÐIÉ6 è¥|›tSÊM=ëæù¼›4RêÍ Z)ûæ͔€ó‚vÊÁy> g }”ˆ³„NÊÅYBà ´¸6³‚V ¯–+~E°¨¡»bYàŠÐP,ŽÅ¯È¡
+\ No newline at end of file
+--- 0 ----
+*** ../vim-8.1.0931/farsi/fonts/WINDOWS/far-a01.fon 2010-05-15 13:04:04.000000000 +0200
+--- farsi/fonts/WINDOWS/far-a01.fon 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,64 ****
+- MZ
+- $
+- ,
+-
+-
+- 
+- 
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+- 
+- 
+- 
+- 
+- 
+- 
+- 
+- 
+- 
+-
+-
+- (
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+\ No newline at end of file
+--- 0 ----
+*** ../vim-8.1.0931/src/Makefile 2019-02-16 13:45:05.574240125 +0100
+--- src/Makefile 2019-02-16 14:32:12.109712500 +0100
+***************
+*** 492,500 ****
+ # MULTIBYTE - To edit multi-byte characters.
+ # This is now always enabled.
+
+! # When building with at least "big" features, right-left, Arabic and Farsi
+ # features are enabled. Use this to disable them.
+! #CONF_OPT_MULTIBYTE = --disable-rightleft --disable-farsi --disable-arabic
+
+ # NLS - National Language Support
+ # Uncomment this when you do not want to support translated messages, even
+--- 492,500 ----
+ # MULTIBYTE - To edit multi-byte characters.
+ # This is now always enabled.
+
+! # When building with at least "big" features, right-left and Arabic
+ # features are enabled. Use this to disable them.
+! #CONF_OPT_MULTIBYTE = --disable-rightleft --disable-arabic
+
+ # NLS - National Language Support
+ # Uncomment this when you do not want to support translated messages, even
+***************
+*** 1590,1596 ****
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+- farsi.c \
+ fileio.c \
+ findfile.c \
+ fold.c \
+--- 1590,1595 ----
+***************
+*** 1704,1710 ****
+ objects/ex_docmd.o \
+ objects/ex_eval.o \
+ objects/ex_getln.o \
+- objects/farsi.o \
+ objects/fileio.o \
+ objects/findfile.o \
+ objects/fold.o \
+--- 1703,1708 ----
+***************
+*** 1831,1837 ****
+ ex_docmd.pro \
+ ex_eval.pro \
+ ex_getln.pro \
+- farsi.pro \
+ fileio.pro \
+ findfile.pro \
+ fold.pro \
+--- 1829,1834 ----
+***************
+*** 2996,3004 ****
+ 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
+
+--- 2993,2998 ----
+***************
+*** 3392,3681 ****
+ objects/arabic.o: arabic.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/autocmd.o: autocmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/beval.o: beval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/blob.o: blob.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/blowfish.o: blowfish.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/buffer.o: buffer.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/charset.o: charset.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/crypt.o: crypt.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/crypt_zip.o: crypt_zip.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/dict.o: dict.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/diff.o: diff.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h xdiff/xdiff.h vim.h
+ objects/digraph.o: digraph.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/edit.o: edit.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/eval.o: eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/evalfunc.o: evalfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/ex_cmds.o: ex_cmds.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/ex_cmds2.o: ex_cmds2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/ex_docmd.o: ex_docmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h ex_cmdidxs.h
+ objects/ex_eval.o: ex_eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/ex_getln.o: ex_getln.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+! objects/farsi.o: farsi.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+! auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+! proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/fileio.o: fileio.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/findfile.o: findfile.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h
+ objects/fold.o: fold.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/getchar.o: getchar.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/hardcopy.o: hardcopy.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/hashtab.o: hashtab.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/if_cscope.o: if_cscope.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h if_cscope.h
+ objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/indent.o: indent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/json.o: json.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/list.o: list.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/main.o: main.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/mark.o: mark.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/memfile.o: memfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/memline.o: memline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/menu.o: menu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/message.o: message.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/misc1.o: misc1.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/misc2.o: misc2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/move.o: move.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/mbyte.o: mbyte.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/normal.o: normal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/ops.o: ops.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/option.o: option.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/os_unix.o: os_unix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h os_unixx.h
+ objects/pathdef.o: auto/pathdef.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/popupmnu.o: popupmnu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/pty.o: pty.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/quickfix.o: quickfix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/regexp.o: regexp.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h regexp_nfa.c
+ objects/screen.o: screen.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/search.o: search.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/sha256.o: sha256.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/sign.o: sign.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/spell.o: spell.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/spellfile.o: spellfile.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/syntax.o: syntax.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/tag.o: tag.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/term.o: term.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h
+ objects/terminal.o: terminal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h
+ objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/undo.o: undo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/userfunc.o: userfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/version.o: version.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/window.o: window.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/gui.o: gui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/gui_gtk.o: gui_gtk.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_gtk_f.h
+ objects/gui_gtk_f.o: gui_gtk_f.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_gtk_f.h
+ objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
+ ../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
+ ../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
+ ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
+--- 3386,3671 ----
+ objects/arabic.o: arabic.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/autocmd.o: autocmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/beval.o: beval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/blob.o: blob.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/blowfish.o: blowfish.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/buffer.o: buffer.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/charset.o: charset.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/crypt.o: crypt.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/crypt_zip.o: crypt_zip.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/dict.o: dict.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/diff.o: diff.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h xdiff/xdiff.h vim.h
+ objects/digraph.o: digraph.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/edit.o: edit.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/eval.o: eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/evalfunc.o: evalfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/ex_cmds.o: ex_cmds.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/ex_cmds2.o: ex_cmds2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/ex_docmd.o: ex_docmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h ex_cmdidxs.h
+ objects/ex_eval.o: ex_eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/ex_getln.o: ex_getln.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/fileio.o: fileio.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/findfile.o: findfile.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h
+ objects/fold.o: fold.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/getchar.o: getchar.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/hardcopy.o: hardcopy.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/hashtab.o: hashtab.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/if_cscope.o: if_cscope.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h if_cscope.h
+ objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/indent.o: indent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/json.o: json.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/list.o: list.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/main.o: main.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/mark.o: mark.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/memfile.o: memfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/memline.o: memline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/menu.o: menu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/message.o: message.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/misc1.o: misc1.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/misc2.o: misc2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/move.o: move.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/mbyte.o: mbyte.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/normal.o: normal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/ops.o: ops.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/option.o: option.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/os_unix.o: os_unix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h os_unixx.h
+ objects/pathdef.o: auto/pathdef.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/popupmnu.o: popupmnu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/pty.o: pty.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/quickfix.o: quickfix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/regexp.o: regexp.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h regexp_nfa.c
+ objects/screen.o: screen.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/search.o: search.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/sha256.o: sha256.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/sign.o: sign.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/spell.o: spell.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/spellfile.o: spellfile.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/syntax.o: syntax.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/tag.o: tag.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/term.o: term.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h
+ objects/terminal.o: terminal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h libvterm/include/vterm.h \
+ libvterm/include/vterm_keycodes.h
+ objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/undo.o: undo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/userfunc.o: userfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/version.o: version.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/window.o: window.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/gui.o: gui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/gui_gtk.o: gui_gtk.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_gtk_f.h
+ objects/gui_gtk_f.o: gui_gtk_f.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_gtk_f.h
+ objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
+ ../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
+ ../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
+ ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
+***************
+*** 3696,3710 ****
+ objects/gui_xmdlg.o: gui_xmdlg.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/gui_xmebw.o: gui_xmebw.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
+ objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
+ ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
+ ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
+ ../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
+--- 3686,3700 ----
+ objects/gui_xmdlg.o: gui_xmdlg.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/gui_xmebw.o: gui_xmebw.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_xmebwp.h gui_xmebw.h
+ objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_at_sb.h gui_x11_pm.h \
+ ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
+ ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
+ ../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
+***************
+*** 3723,3807 ****
+ objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
+ ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
+ objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
+ ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
+ objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_at_sb.h
+ objects/gui_at_fs.o: gui_at_fs.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h gui_at_sb.h
+ objects/json_test.o: json_test.c main.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h json.c
+ objects/kword_test.o: kword_test.c main.c vim.h protodef.h auto/config.h \
+ feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
+ option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
+! ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h charset.c
+ objects/memfile_test.o: memfile_test.c main.c vim.h protodef.h auto/config.h \
+ feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
+ option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
+! ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h memfile.c
+ objects/message_test.o: message_test.c main.c vim.h protodef.h auto/config.h \
+ feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
+ option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
+! ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h message.c
+ objects/hangulin.o: hangulin.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/if_lua.o: if_lua.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/if_mzsch.o: if_mzsch.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h if_mzsch.h
+ objects/if_perl.o: auto/if_perl.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/if_perlsfio.o: if_perlsfio.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/if_python.o: if_python.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h if_py_both.h
+ objects/if_python3.o: if_python3.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h if_py_both.h
+ objects/if_tcl.o: if_tcl.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/if_ruby.o: if_ruby.c protodef.h auto/config.h vim.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ objects/channel.o: channel.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
+ objects/encoding.o: libvterm/src/encoding.c libvterm/src/vterm_internal.h \
+ libvterm/include/vterm.h libvterm/include/vterm_keycodes.h \
+--- 3713,3797 ----
+ objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
+ ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
+ objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h ../runtime/vim32x32.xpm \
+ ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
+ objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_at_sb.h
+ objects/gui_at_fs.o: gui_at_fs.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h gui_at_sb.h
+ objects/json_test.o: json_test.c main.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h json.c
+ objects/kword_test.o: kword_test.c main.c vim.h protodef.h auto/config.h \
+ feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
+ option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
+! ex_cmds.h spell.h proto.h globals.h arabic.h charset.c
+ objects/memfile_test.o: memfile_test.c main.c vim.h protodef.h auto/config.h \
+ feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
+ option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
+! ex_cmds.h spell.h proto.h globals.h arabic.h memfile.c
+ objects/message_test.o: message_test.c main.c vim.h protodef.h auto/config.h \
+ feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
+ option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
+! ex_cmds.h spell.h proto.h globals.h arabic.h message.c
+ objects/hangulin.o: hangulin.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/if_lua.o: if_lua.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/if_mzsch.o: if_mzsch.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h if_mzsch.h
+ objects/if_perl.o: auto/if_perl.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/if_perlsfio.o: if_perlsfio.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/if_python.o: if_python.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h if_py_both.h
+ objects/if_python3.o: if_python3.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h if_py_both.h
+ objects/if_tcl.o: if_tcl.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/if_ruby.o: if_ruby.c protodef.h auto/config.h vim.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ objects/channel.o: channel.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
+ objects/encoding.o: libvterm/src/encoding.c libvterm/src/vterm_internal.h \
+ libvterm/include/vterm.h libvterm/include/vterm_keycodes.h \
+***************
+*** 3833,3839 ****
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+--- 3823,3829 ----
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+***************
+*** 3842,3848 ****
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+--- 3832,3838 ----
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+***************
+*** 3851,3857 ****
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+--- 3841,3847 ----
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+***************
+*** 3860,3866 ****
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+--- 3850,3856 ----
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+***************
+*** 3869,3875 ****
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+--- 3859,3865 ----
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+ objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
+ xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
+***************
+*** 3878,3882 ****
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+--- 3868,3872 ----
+ macros.h option.h beval.h proto/gui_beval.pro \
+ structs.h regexp.h gui.h alloc.h \
+ ex_cmds.h spell.h proto.h globals.h \
+! arabic.h xdiff/xtypes.h xdiff/xutils.h \
+ xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
+*** ../vim-8.1.0931/src/Make_bc5.mak 2019-02-13 22:45:21.504636232 +0100
+--- src/Make_bc5.mak 2019-02-16 14:32:45.329527170 +0100
+***************
+*** 542,548 ****
+ $(OBJDIR)\ex_docmd.obj \
+ $(OBJDIR)\ex_eval.obj \
+ $(OBJDIR)\ex_getln.obj \
+- $(OBJDIR)\farsi.obj \
+ $(OBJDIR)\fileio.obj \
+ $(OBJDIR)\findfile.obj \
+ $(OBJDIR)\fold.obj \
+--- 542,547 ----
+*** ../vim-8.1.0931/src/Make_cyg_ming.mak 2019-02-13 22:45:21.504636232 +0100
+--- src/Make_cyg_ming.mak 2019-02-16 14:33:03.557425314 +0100
+***************
+*** 714,720 ****
+ $(OUTDIR)/ex_docmd.o \
+ $(OUTDIR)/ex_eval.o \
+ $(OUTDIR)/ex_getln.o \
+- $(OUTDIR)/farsi.o \
+ $(OUTDIR)/fileio.o \
+ $(OUTDIR)/findfile.o \
+ $(OUTDIR)/fold.o \
+--- 714,719 ----
+***************
+*** 1005,1011 ****
+ $(MAKE) -C tee clean
+
+ ###########################################################################
+! INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
+ keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
+ spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
+ GUI_INCL = gui.h
+--- 1004,1010 ----
+ $(MAKE) -C tee clean
+
+ ###########################################################################
+! INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h feature.h globals.h \
+ keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
+ spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
+ GUI_INCL = gui.h
+*** ../vim-8.1.0931/src/Make_dice.mak 2019-02-13 22:45:21.504636232 +0100
+--- src/Make_dice.mak 2019-02-16 14:33:17.693346245 +0100
+***************
+*** 44,50 ****
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+- farsi.c \
+ fileio.c \
+ findfile.c \
+ fold.c \
+--- 44,49 ----
+***************
+*** 104,110 ****
+ o/ex_docmd.o \
+ o/ex_eval.o \
+ o/ex_getln.o \
+- o/farsi.o \
+ o/fileio.o \
+ o/findfile.o \
+ o/fold.o \
+--- 103,108 ----
+***************
+*** 201,208 ****
+
+ o/ex_getln.o: ex_getln.c $(SYMS)
+
+- o/farsi.o: farsi.c $(SYMS)
+-
+ o/fileio.o: fileio.c $(SYMS)
+
+ o/findfile.o: findfile.c $(SYMS)
+--- 199,204 ----
+*** ../vim-8.1.0931/src/Make_ivc.mak 2019-02-13 22:45:21.504636232 +0100
+--- src/Make_ivc.mak 2019-02-16 14:33:35.725245288 +0100
+***************
+*** 228,234 ****
+ "$(INTDIR)/ex_docmd.obj" \
+ "$(INTDIR)/ex_eval.obj" \
+ "$(INTDIR)/ex_getln.obj" \
+- "$(INTDIR)/farsi.obj" \
+ "$(INTDIR)/fileio.obj" \
+ "$(INTDIR)/findfile.obj" \
+ "$(INTDIR)/fold.obj" \
+--- 228,233 ----
+***************
+*** 413,422 ****
+ # End Source File
+ # Begin Source File
+
+- SOURCE=.\farsi.c
+- # End Source File
+- # Begin Source File
+-
+ SOURCE=.\fileio.c
+ # End Source File
+ # Begin Source File
+--- 412,417 ----
+*** ../vim-8.1.0931/src/Make_manx.mak 2019-02-13 22:45:21.504636232 +0100
+--- src/Make_manx.mak 2019-02-16 14:33:53.653144808 +0100
+***************
+*** 54,60 ****
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+- farsi.c \
+ fileio.c \
+ findfile.c \
+ fold.c \
+--- 54,59 ----
+***************
+*** 116,122 ****
+ obj/ex_docmd.o \
+ obj/ex_eval.o \
+ obj/ex_getln.o \
+- obj/farsi.o \
+ obj/fileio.o \
+ obj/findfile.o \
+ obj/fold.o \
+--- 115,120 ----
+***************
+*** 176,182 ****
+ proto/ex_docmd.pro \
+ proto/ex_eval.pro \
+ proto/ex_getln.pro \
+- proto/farsi.pro \
+ proto/fileio.pro \
+ proto/findfile.pro \
+ proto/fold.pro \
+--- 174,179 ----
+***************
+*** 317,325 ****
+ 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
+
+--- 314,319 ----
+*** ../vim-8.1.0931/src/Make_morph.mak 2019-02-13 22:45:21.504636232 +0100
+--- src/Make_morph.mak 2019-02-16 14:34:13.757032020 +0100
+***************
+*** 42,48 ****
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+- farsi.c \
+ fileio.c \
+ findfile.c \
+ fold.c \
+--- 42,47 ----
+*** ../vim-8.1.0931/src/Make_mvc.mak 2019-02-13 22:45:21.508636195 +0100
+--- src/Make_mvc.mak 2019-02-16 14:34:30.904935718 +0100
+***************
+*** 694,700 ****
+ !include Make_all.mak
+ !include testdir\Make_all.mak
+
+! INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
+ keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
+ spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
+
+--- 694,700 ----
+ !include Make_all.mak
+ !include testdir\Make_all.mak
+
+! INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h feature.h globals.h \
+ keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
+ spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
+
+***************
+*** 719,725 ****
+ $(OUTDIR)\ex_docmd.obj \
+ $(OUTDIR)\ex_eval.obj \
+ $(OUTDIR)\ex_getln.obj \
+- $(OUTDIR)\farsi.obj \
+ $(OUTDIR)\fileio.obj \
+ $(OUTDIR)\findfile.obj \
+ $(OUTDIR)\fold.obj \
+--- 719,724 ----
+***************
+*** 1404,1411 ****
+
+ $(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL)
+
+- $(OUTDIR)/farsi.obj: $(OUTDIR) farsi.c $(INCL)
+-
+ $(OUTDIR)/fileio.obj: $(OUTDIR) fileio.c $(INCL)
+
+ $(OUTDIR)/findfile.obj: $(OUTDIR) findfile.c $(INCL)
+--- 1403,1408 ----
+***************
+*** 1646,1652 ****
+ proto/ex_docmd.pro \
+ proto/ex_eval.pro \
+ proto/ex_getln.pro \
+- proto/farsi.pro \
+ proto/fileio.pro \
+ proto/findfile.pro \
+ proto/getchar.pro \
+--- 1643,1648 ----
+*** ../vim-8.1.0931/src/Make_sas.mak 2019-02-13 22:45:21.508636195 +0100
+--- src/Make_sas.mak 2019-02-16 14:34:46.712846871 +0100
+***************
+*** 107,113 ****
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+- farsi.c \
+ fileio.c \
+ findfile.c \
+ fold.c \
+--- 107,112 ----
+***************
+*** 168,174 ****
+ ex_docmd.o \
+ ex_eval.o \
+ ex_getln.o \
+- farsi.o \
+ fileio.o \
+ findfile.o \
+ fold.o \
+--- 167,172 ----
+***************
+*** 229,235 ****
+ proto/ex_docmd.pro \
+ proto/ex_eval.pro \
+ proto/ex_getln.pro \
+- proto/farsi.pro \
+ proto/fileio.pro \
+ proto/findfile.pro \
+ proto/fold.pro \
+--- 227,232 ----
+***************
+*** 362,369 ****
+ 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
+ findfile.o: findfile.c
+--- 359,364 ----
+*** ../vim-8.1.0931/src/Make_vms.mms 2019-02-13 22:45:21.508636195 +0100
+--- src/Make_vms.mms 2019-02-16 14:35:57.956445602 +0100
+***************
+*** 2,8 ****
+ # Makefile for Vim on OpenVMS
+ #
+ # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
+! # Last change: 2019 Jan 18
+ #
+ # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
+ # with MMS and MMK
+--- 2,8 ----
+ # Makefile for Vim on OpenVMS
+ #
+ # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
+! # Last change: 2019 Feb 16
+ #
+ # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
+ # with MMS and MMK
+***************
+*** 315,321 ****
+ SRC = arabic.c autocmd.c beval.c blob.c blowfish.c buffer.c charset.c \
+ crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
+ ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c \
+! if_xcmdsrv.c farsi.c fileio.c findfile.c fold.c getchar.c hardcopy.c \
+ hashtab.c indent.c json.c list.c main.c mark.c menu.c mbyte.c \
+ memfile.c memline.c message.c misc1.c misc2.c move.c normal.c ops.c \
+ option.c popupmnu.c quickfix.c regexp.c search.c sha256.c sign.c \
+--- 315,321 ----
+ SRC = arabic.c autocmd.c beval.c blob.c blowfish.c buffer.c charset.c \
+ crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
+ ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c \
+! if_xcmdsrv.c fileio.c findfile.c fold.c getchar.c hardcopy.c \
+ hashtab.c indent.c json.c list.c main.c mark.c menu.c mbyte.c \
+ memfile.c memline.c message.c misc1.c misc2.c move.c normal.c ops.c \
+ option.c popupmnu.c quickfix.c regexp.c search.c sha256.c sign.c \
+***************
+*** 328,334 ****
+ OBJ = arabic.obj autocmd.obj beval.obj blob.obj blowfish.obj buffer.obj \
+ charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj \
+ edit.obj eval.obj evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj \
+! ex_eval.obj ex_getln.obj if_cscope.obj if_xcmdsrv.obj farsi.obj \
+ fileio.obj findfile.obj fold.obj getchar.obj hardcopy.obj hashtab.obj \
+ indent.obj json.obj list.obj main.obj mark.obj menu.obj memfile.obj \
+ memline.obj message.obj misc1.obj misc2.obj move.obj mbyte.obj \
+--- 328,334 ----
+ OBJ = arabic.obj autocmd.obj beval.obj blob.obj blowfish.obj buffer.obj \
+ charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj \
+ edit.obj eval.obj evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj \
+! ex_eval.obj ex_getln.obj if_cscope.obj if_xcmdsrv.obj \
+ fileio.obj findfile.obj fold.obj getchar.obj hardcopy.obj hashtab.obj \
+ indent.obj json.obj list.obj main.obj mark.obj menu.obj memfile.obj \
+ memline.obj message.obj misc1.obj misc2.obj move.obj mbyte.obj \
+***************
+*** 514,792 ****
+ buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ charset.obj : charset.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ crypt.obj : crypt.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h farsi.h arabic.h
+ crypt_zip.obj : crypt_zip.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ dict.obj : dict.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h farsi.h arabic.h
+ diff.obj : diff.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ digraph.obj : digraph.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ edit.obj : edit.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ eval.obj : eval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h version.h
+ evalfunc.obj : evalfunc.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h version.h
+ ex_cmds.obj : ex_cmds.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ ex_cmds2.obj : ex_cmds2.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ ex_docmd.obj : ex_docmd.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ ex_eval.obj : ex_eval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ ex_getln.obj : ex_getln.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+! farsi.obj : farsi.c vim.h
+ fileio.obj : fileio.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ findfile.obj : findfile.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ fold.obj : fold.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ hashtab.obj : hashtab.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ if_cscope.obj : if_cscope.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h if_cscope.h
+ if_xcmdsrv.obj : if_xcmdsrv.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h if_mzsch.h
+ indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
+ json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h version.h
+ list.obj : list.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h farsi.h arabic.h
+ main.obj : main.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+! arabic.h farsi.c arabic.c
+ mark.obj : mark.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ memfile.obj : memfile.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ memline.obj : memline.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ menu.obj : menu.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ message.obj : message.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ misc1.obj : misc1.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h version.h
+ misc2.obj : misc2.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ move.obj : move.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ mbyte.obj : mbyte.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ normal.obj : normal.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ ops.obj : ops.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ option.obj : option.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ os_unix.obj : os_unix.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h os_unixx.h
+ os_vms.obj : os_vms.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h os_unixx.h
+ pathdef.obj : pathdef.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ popupmnu.obj : popupmnu.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ quickfix.obj : quickfix.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ regexp.obj : regexp.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ screen.obj : screen.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ search.obj : search.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h farsi.h arabic.h
+ sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h farsi.h arabic.h
+ spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ spellfile.obj : spellfile.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ syntax.obj : syntax.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ tag.obj : tag.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ term.obj : term.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ undo.obj : undo.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ userfunc.obj : userfunc.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h farsi.h arabic.h
+ version.obj : version.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ window.obj : window.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ gui.obj : gui.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ gui_gtk.obj : gui_gtk.c gui_gtk_f.h vim.h [.auto]config.h feature.h \
+ os_unix.h ascii.h keymap.h term.h macros.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
+! proto.h globals.h farsi.h arabic.h [-.pixmaps]stock_icons.h
+ gui_gtk_f.obj : gui_gtk_f.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h gui_gtk_f.h
+ gui_motif.obj : gui_motif.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
+ [-.pixmaps]generic.xpm [-.pixmaps]info.xpm [-.pixmaps]quest.xpm
+ gui_athena.obj : gui_athena.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h gui_at_sb.h
+ gui_gtk_x11.obj : gui_gtk_x11.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
+ [-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm
+ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h [-.runtime]vim32x32.xpm \
+ [-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm [-.pixmaps]tb_new.xpm \
+ [-.pixmaps]tb_open.xpm [-.pixmaps]tb_close.xpm [-.pixmaps]tb_save.xpm \
+ [-.pixmaps]tb_print.xpm [-.pixmaps]tb_cut.xpm [-.pixmaps]tb_copy.xpm \
+--- 514,791 ----
+ buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ charset.obj : charset.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ crypt.obj : crypt.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h arabic.h
+ crypt_zip.obj : crypt_zip.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ dict.obj : dict.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h arabic.h
+ diff.obj : diff.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ digraph.obj : digraph.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ edit.obj : edit.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ eval.obj : eval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h version.h
+ evalfunc.obj : evalfunc.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h version.h
+ ex_cmds.obj : ex_cmds.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ ex_cmds2.obj : ex_cmds2.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ ex_docmd.obj : ex_docmd.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ ex_eval.obj : ex_eval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ ex_getln.obj : ex_getln.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ fileio.obj : fileio.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ findfile.obj : findfile.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ fold.obj : fold.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ hashtab.obj : hashtab.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ if_cscope.obj : if_cscope.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h if_cscope.h
+ if_xcmdsrv.obj : if_xcmdsrv.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
+! globals.h arabic.h if_mzsch.h
+ indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
+ json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h version.h
+ list.obj : list.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h arabic.h
+ main.obj : main.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+! arabic.h arabic.c
+ mark.obj : mark.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ memfile.obj : memfile.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ memline.obj : memline.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ menu.obj : menu.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ message.obj : message.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ misc1.obj : misc1.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h version.h
+ misc2.obj : misc2.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ move.obj : move.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ mbyte.obj : mbyte.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ normal.obj : normal.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ ops.obj : ops.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ option.obj : option.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ os_unix.obj : os_unix.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h os_unixx.h
+ os_vms.obj : os_vms.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h os_unixx.h
+ pathdef.obj : pathdef.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ popupmnu.obj : popupmnu.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ quickfix.obj : quickfix.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ regexp.obj : regexp.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ screen.obj : screen.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ search.obj : search.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h arabic.h
+ sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
+! globals.h arabic.h
+ spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ spellfile.obj : spellfile.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ syntax.obj : syntax.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ tag.obj : tag.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ term.obj : term.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ undo.obj : undo.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ userfunc.obj : userfunc.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
+! proto.h globals.h arabic.h
+ version.obj : version.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ window.obj : window.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ gui.obj : gui.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ gui_gtk.obj : gui_gtk.c gui_gtk_f.h vim.h [.auto]config.h feature.h \
+ os_unix.h ascii.h keymap.h term.h macros.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
+! proto.h globals.h arabic.h [-.pixmaps]stock_icons.h
+ gui_gtk_f.obj : gui_gtk_f.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h gui_gtk_f.h
+ gui_motif.obj : gui_motif.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
+ [-.pixmaps]generic.xpm [-.pixmaps]info.xpm [-.pixmaps]quest.xpm
+ gui_athena.obj : gui_athena.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h gui_at_sb.h
+ gui_gtk_x11.obj : gui_gtk_x11.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
+ [-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm
+ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h [-.runtime]vim32x32.xpm \
+ [-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm [-.pixmaps]tb_new.xpm \
+ [-.pixmaps]tb_open.xpm [-.pixmaps]tb_close.xpm [-.pixmaps]tb_save.xpm \
+ [-.pixmaps]tb_print.xpm [-.pixmaps]tb_cut.xpm [-.pixmaps]tb_copy.xpm \
+***************
+*** 806,865 ****
+ gui_at_sb.obj : gui_at_sb.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h gui_at_sb.h
+ gui_at_fs.obj : gui_at_fs.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h gui_at_sb.h
+ pty.obj : pty.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
+ hangulin.obj : hangulin.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ if_perl.obj : [.auto]if_perl.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ if_perlsfio.obj : if_perlsfio.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ if_python.obj : if_python.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ if_tcl.obj : if_tcl.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h
+ workshop.obj : workshop.c [.auto]config.h integration.h vim.h feature.h \
+ os_unix.h ascii.h keymap.h term.h macros.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
+! proto.h globals.h farsi.h arabic.h version.h workshop.h
+ wsdebug.obj : wsdebug.c
+ integration.obj : integration.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h integration.h
+ netbeans.obj : netbeans.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h farsi.h arabic.h version.h
+ gui_xmdlg.obj : gui_xmdlg.c [.auto]config.h vim.h feature.h os_unix.h
+ gui_xmebw.obj : gui_xmebw.c [.auto]config.h vim.h feature.h os_unix.h
+ xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
+--- 805,864 ----
+ gui_at_sb.obj : gui_at_sb.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h gui_at_sb.h
+ gui_at_fs.obj : gui_at_fs.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h gui_at_sb.h
+ pty.obj : pty.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
+! [.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
+ arabic.h
+ hangulin.obj : hangulin.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ if_perl.obj : [.auto]if_perl.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ if_perlsfio.obj : if_perlsfio.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ if_python.obj : if_python.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ if_tcl.obj : if_tcl.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h
+ workshop.obj : workshop.c [.auto]config.h integration.h vim.h feature.h \
+ os_unix.h ascii.h keymap.h term.h macros.h structs.h \
+ regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
+! proto.h globals.h arabic.h version.h workshop.h
+ wsdebug.obj : wsdebug.c
+ integration.obj : integration.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h integration.h
+ netbeans.obj : netbeans.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+! globals.h arabic.h version.h
+ gui_xmdlg.obj : gui_xmdlg.c [.auto]config.h vim.h feature.h os_unix.h
+ gui_xmebw.obj : gui_xmebw.c [.auto]config.h vim.h feature.h os_unix.h
+ xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
+*** ../vim-8.1.0931/src/configure.ac 2019-01-26 15:12:52.554260934 +0100
+--- src/configure.ac 2019-02-16 14:39:26.339265449 +0100
+***************
+*** 2155,2172 ****
+ AC_DEFINE(DISABLE_ARABIC)
+ fi
+
+! dnl Farsi language support for vim will be included with big features,
+! dnl unless ENABLE_FARSI is undefined.
+! AC_MSG_CHECKING(--disable-farsi argument)
+ AC_ARG_ENABLE(farsi,
+! [ --disable-farsi Do not include Farsi language support.],
+! , [enable_farsi="yes"])
+! if test "$enable_farsi" = "yes"; then
+! AC_MSG_RESULT(no)
+! else
+! AC_MSG_RESULT(yes)
+! AC_DEFINE(DISABLE_FARSI)
+! fi
+
+ AC_MSG_CHECKING(--enable-hangulinput argument)
+ AC_ARG_ENABLE(hangulinput,
+--- 2155,2163 ----
+ AC_DEFINE(DISABLE_ARABIC)
+ fi
+
+! dnl Farsi language support has been removed, ignore --disable-farsi
+ AC_ARG_ENABLE(farsi,
+! [ --disable-farsi Deprecated.],,)
+
+ AC_MSG_CHECKING(--enable-hangulinput argument)
+ AC_ARG_ENABLE(hangulinput,
+*** ../vim-8.1.0931/src/auto/configure 2019-01-26 15:12:52.554260934 +0100
+--- src/auto/configure 2019-02-16 14:39:55.467099856 +0100
+***************
+*** 1498,1504 ****
+ --enable-multibyte Include multibyte editing support.
+ --disable-rightleft Do not include Right-to-Left language support.
+ --disable-arabic Do not include Arabic language support.
+! --disable-farsi Do not include Farsi language support.
+ --enable-hangulinput Include Hangul input support.
+ --enable-xim Include XIM input support.
+ --enable-fontset Include X fontset output support.
+--- 1498,1504 ----
+ --enable-multibyte Include multibyte editing support.
+ --disable-rightleft Do not include Right-to-Left language support.
+ --disable-arabic Do not include Arabic language support.
+! --disable-farsi Deprecated.
+ --enable-hangulinput Include Hangul input support.
+ --enable-xim Include XIM input support.
+ --enable-fontset Include X fontset output support.
+***************
+*** 7980,8003 ****
+
+ fi
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-farsi argument" >&5
+- $as_echo_n "checking --disable-farsi argument... " >&6; }
+ # Check whether --enable-farsi was given.
+ if test "${enable_farsi+set}" = set; then :
+ enableval=$enable_farsi;
+- else
+- enable_farsi="yes"
+ fi
+
+- if test "$enable_farsi" = "yes"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+- $as_echo "no" >&6; }
+- else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+- $as_echo "yes" >&6; }
+- $as_echo "#define DISABLE_FARSI 1" >>confdefs.h
+-
+- fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-hangulinput argument" >&5
+ $as_echo_n "checking --enable-hangulinput argument... " >&6; }
+--- 7980,7990 ----
+*** ../vim-8.1.0931/src/config.h.in 2019-01-26 15:12:52.554260934 +0100
+--- src/config.h.in 2019-02-16 14:40:33.146885460 +0100
+***************
+*** 391,399 ****
+ /* Define if you don't want to include right-left support. */
+ #undef DISABLE_RIGHTLEFT
+
+- /* Define if you don't want to include Farsi support. */
+- #undef DISABLE_FARSI
+-
+ /* Define if you don't want to include Arabic support. */
+ #undef DISABLE_ARABIC
+
+--- 391,396 ----
+*** ../vim-8.1.0931/src/testdir/test_farsi.vim 2017-01-29 19:52:38.000000000 +0100
+--- src/testdir/test_farsi.vim 1970-01-01 01:00:00.000000000 +0100
+***************
+*** 1,133 ****
+- " Simplistic testing of Farsi mode.
+- " Note: must be edited with latin1 encoding.
+-
+- if !has('farsi')
+- finish
+- endif
+- " Farsi uses a single byte encoding.
+- set enc=latin1
+-
+- func Test_farsi_toggle()
+- new
+-
+- set altkeymap
+- call assert_equal(0, &fkmap)
+- call assert_equal(0, &rl)
+- call feedkeys("\<F8>", 'x')
+- call assert_equal(1, &fkmap)
+- call assert_equal(1, &rl)
+- call feedkeys("\<F8>", 'x')
+- call assert_equal(0, &fkmap)
+- call assert_equal(0, &rl)
+-
+- set rl
+- " conversion from Farsi 3342 to Farsi VIM.
+- call setline(1, join(map(range(0x80, 0xff), 'nr2char(v:val)'), ''))
+- call feedkeys("\<F9>", 'x')
+- let exp = [0xfc, 0xf8, 0xc1, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
+- \ 0xc8, 0xc9, 0xca, 0xd0, 0xd1, 0xd2, 0xd3, 0xd6,
+- \ 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd8, 0xd9, 0xda,
+- \ 0xdb, 0xdc, 0xdc, 0xc1, 0xdd, 0xde, 0xe0, 0xe0,
+- \ 0xe1, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
+- \ 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae,
+- \ 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
+- \ 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe,
+- \ 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6,
+- \ 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,
+- \ 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
+- \ 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde,
+- \ 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
+- \ 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xfb, 0xfb, 0xfe,
+- \ 0xfe, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6,
+- \ 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xe1,
+- \ ]
+- call assert_equal(join(map(exp, 'nr2char(v:val)'), ''), getline(1))
+-
+- " conversion from Farsi VIM to Farsi 3342.
+- call setline(1, join(map(range(0x80, 0xff), 'nr2char(v:val)'), ''))
+- call feedkeys("\<F9>", 'x')
+- let exp = [0xfc, 0xf8, 0xc1, 0x83, 0x84, 0x85, 0x86, 0x87,
+- \ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x90,
+- \ 0x90, 0x90, 0x92, 0x93, 0x93, 0x95, 0x96, 0x97,
+- \ 0x98, 0xdc, 0x9a, 0x9b, 0x9c, 0x9e, 0x9e, 0xff,
+- \ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+- \ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+- \ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+- \ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+- \ 0xc0, 0xc1, 0xc2, 0x83, 0x84, 0x85, 0x86, 0x87,
+- \ 0x88, 0x89, 0x8a, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
+- \ 0x8b, 0x8c, 0x8d, 0x8e, 0xd4, 0xd5, 0x90, 0x93,
+- \ 0x95, 0x96, 0x97, 0x98, 0x99, 0x9b, 0x9c, 0xdf,
+- \ 0x9d, 0xff, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
+- \ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xec, 0xee, 0xef,
+- \ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+- \ 0xf8, 0xf9, 0xfa, 0xec, 0x80, 0xfd, 0xee, 0xff,
+- \ ]
+- call assert_equal(join(map(exp, 'nr2char(v:val)'), ''), getline(1))
+-
+- bwipe!
+- endfunc
+-
+- func Test_farsi_map()
+- new
+-
+- set altkeymap
+- set rl
+- " RHS of mapping is reversed.
+- imap xyz abc
+- call feedkeys("axyz\<Esc>", 'tx')
+- call assert_equal('cba', getline(1))
+-
+- set norl
+- iunmap xyz
+- set noaltkeymap
+- bwipe!
+- endfunc
+-
+- func Test_input_farsi()
+- new
+- setlocal rightleft fkmap
+- " numbers switch input direction
+- call feedkeys("aabc0123456789.+-^%#=xyz\<Esc>", 'tx')
+- call assert_equal("\x8cÌν®¥ª­«¦¹¸·¶µ´³²±°Ô\x93Õ", getline('.'))
+-
+- " all non-number special chars with spaces
+- call feedkeys("oB E F H I K L M O P Q R T U W Y ` ! @ # $ % ^ & * () - _ = + \\ | : \" . / < > ? \<Esc>", 'tx')
+- call assert_equal("¡ ô ú À ö æ ç Â [ ] ÷ ó ò ð õ ñ ¢ £  § ® ¤ ¥ ª ¬ è ¨© ­ é ½ « ë ê º » ¦  ¯ ¾ ¼ ¿ ", getline('.'))
+-
+- " all non-number special chars without spaces
+- call feedkeys("oBEFHIKLMOPQRTUWY`!@#$%^&*()-_=+\\|:\"./<>?\<Esc>",'tx')
+- call assert_equal("¡ôúÀöæçÂ[]÷óòðõñ¢£§®¤¥ª¬è¨©­é½«ë꺻¦¯¾¼¿", getline('.'))
+-
+- " all letter chars with spaces
+- call feedkeys("oa A b c C d D e f g G h i j J k l m n N o p q r s S t u v V w x X y z Z ; \ , [ ] \<Esc>", 'tx')
+- call assert_equal("Ñ ù Ì Î Ï á þ Æ Ã Ü ø Á à Å ü Þ Ý Ä Ë Ë Ê É Ó Ù Ð û Ø Ö Í Í Ò Ô Ô × Õ ý Ú  ß Ç È ", getline('.'))
+-
+- " all letter chars without spaces
+- call feedkeys("oaAbcCdDefgGhijJklmnNopqrsStuvVwxXyzZ;\,[]\<Esc>", 'tx')
+- call assert_equal("\x8cùÌÎÏ\x9fî\x86\x83ÜøÁ\x9d\x85\x80\x9c\x9b\x84ËË\x8a\x89\x8e\x96\x8bì\x95\x90ÍÍ\x8dÔÔ\x93Õý\x97ß\x87\x88", getline('.'))
+-
+- bwipe!
+- endfunc
+-
+- func Test_command_line_farsi()
+- set allowrevins altkeymap
+-
+- " letter characters with spaces
+- call feedkeys(":\"\<C-_>a A b c C d D e f g G h i j J k l m n N o p q r s S t u v V w x X y z Z ; \\ , [ ]\<CR>", 'tx')
+- call assert_equal("\"\x88 Ç ß ë Ú Õ Õ × Ô Ô Ò Í Í Ö Ø û Ð Ù Ó É Ê Ë Ë Ä Ý Þ ü Å à Á ø Ü Ã Æ þ á Ï Î Ì ù Ñ", getreg(':'))
+-
+- " letter characters without spaces
+- call feedkeys(":\"\<C-_>aAbcCdDefgGhijJklmnNopqrsStuvVwxXyzZ;\\,[]\<CR>", 'tx')
+- call assert_equal("\"\x88\x87ßëÚÕÕ\x93ÔÔ\x8dÍÍ\x90\x95ì\x8b\x96\x8e\x89\x8aËË\x84\x9b\x9c\x80\x85\x9dÁøÜ\x83\x86î\x9fÏÎÌù\x8c", getreg(':'))
+-
+- " other characters with spaces
+- call feedkeys(":\"\<C-_>0 1 2 3 4 5 6 7 8 9 ` . ! \" $ % ^ & / () = \\ ? + - _ * : # ~ @ < > { } | B E F H I K L M O P Q R T U W Y\<CR>", 'tx')
+- call assert_equal("\"ñ õ ð ò ó ÷ ] [ Â ç æ ö À ú ô ¡ ê } { ¼ ¾ § ~ ® º è é ­ «  ¿ ë ½ ©¨ ¯ ¬ ª ¥ ¤ »  £  ¦ ¢ ¹ ¸ · ¶ µ ´ ³ ² ± °", getreg(':'))
+-
+- " other characters without spaces
+- call feedkeys(":\"\<C-_>0123456789`.!\"$%^&/()=\\?+-_*:#~@<>{}|BEFHIKLMOPQRTUWY\<CR>", 'tx')
+- call assert_equal("\"ñõðòó÷][ÂçæöÀúô¡ê}{¼¾§~®ºèé­«¿ë½©¨¯¬ª¥¤»£¦¢¹¸·¶µ´³²±°", getreg(':'))
+-
+- set noallowrevins noaltkeymap
+- endfunc
+--- 0 ----
+*** ../vim-8.1.0931/src/version.c 2019-02-16 14:07:34.326138106 +0100
+--- src/version.c 2019-02-16 15:03:10.071702575 +0100
+***************
+*** 255,265 ****
+ #else
+ "-extra_search",
+ #endif
+- #ifdef FEAT_FKMAP
+- "+farsi",
+- #else
+ "-farsi",
+- #endif
+ #ifdef FEAT_SEARCHPATH
+ "+file_in_path",
+ #else
+--- 255,261 ----
+*** ../vim-8.1.0931/src/testdir/Make_all.mak 2019-02-15 20:14:56.740255481 +0100
+--- src/testdir/Make_all.mak 2019-02-16 14:48:22.816200032 +0100
+***************
+*** 118,124 ****
+ test_expand_func \
+ test_expr \
+ test_expr_utf8 \
+- test_farsi \
+ test_feedkeys \
+ test_file_perm \
+ test_file_size \
+--- 118,123 ----
+***************
+*** 318,324 ****
+ test_exists.res \
+ test_exists_autocmd.res \
+ test_exit.res \
+- test_farsi.res \
+ test_file_size.res \
+ test_filechanged.res \
+ test_find_complete.res \
+--- 317,322 ----
+*** ../vim-8.1.0931/runtime/doc/options.txt 2019-02-15 21:06:05.334289769 +0100
+--- runtime/doc/options.txt 2019-02-16 14:58:41.716818142 +0100
+***************
+*** 688,700 ****
+ {not in Vi}
+ {only available when compiled with the |+farsi|
+ feature}
+! When on, the second language is Farsi. In editing mode CTRL-_ toggles
+! the keyboard map between Farsi and English, when 'allowrevins' set.
+!
+! When off, the keyboard map toggles between Hebrew and English. This
+! is useful to start the Vim in native mode i.e. English (left-to-right
+! mode) and have default second language Farsi or Hebrew (right-to-left
+! mode). See |farsi.txt|.
+
+ *'ambiwidth'* *'ambw'*
+ 'ambiwidth' 'ambw' string (default: "single")
+--- 688,695 ----
+ {not in Vi}
+ {only available when compiled with the |+farsi|
+ feature}
+! This option was for using Farsi, which has been removed. See
+! |farsi.txt|.
+
+ *'ambiwidth'* *'ambw'*
+ 'ambiwidth' 'ambw' string (default: "single")
+***************
+*** 3273,3281 ****
+ {not in Vi}
+ {only available when compiled with the |+rightleft|
+ feature}
+! When on, the keyboard is mapped for the Farsi character set.
+! Normally you would set 'allowrevins' and use CTRL-_ in insert mode to
+! toggle this option |i_CTRL-_|. See |farsi.txt|.
+
+ *'foldclose'* *'fcl'*
+ 'foldclose' 'fcl' string (default "")
+--- 3296,3303 ----
+ {not in Vi}
+ {only available when compiled with the |+rightleft|
+ feature}
+! This option was for using Farsi, which has been removed. See
+! |farsi.txt|.
+
+ *'foldclose'* *'fcl'*
+ 'foldclose' 'fcl' string (default "")
+--- 9318,9321 ----
+ screen. When non-zero, characters are sent to the terminal one by
+ one. For MS-DOS pcterm this does not work. For debugging purposes.
+
+! vim:tw=78:ts=8:noet:ft=help:norl:
+*** ../vim-8.1.0931/runtime/doc/starting.txt 2019-02-08 14:33:54.818762019 +0100
+--- runtime/doc/starting.txt 2019-02-16 14:59:17.312680937 +0100
+***************
+*** 321,329 ****
+ and exits.) {not in Vi}
+
+ *-F*
+! -F Farsi mode. Sets the 'fkmap' and 'rightleft' options on.
+! (Only when compiled with |+rightleft| and |+farsi| features,
+! otherwise Vim gives an error message and exits.) {not in Vi}
+
+ *-H*
+ -H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
+--- 321,328 ----
+ and exits.) {not in Vi}
+
+ *-F*
+! -F This was used for Farsi mode, which has been removed.
+! See |farsi.txt|.
+
+ *-H*
+ -H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
+*** ../vim-8.1.0931/runtime/doc/quickref.txt 2019-02-08 12:46:03.588784187 +0100
+--- runtime/doc/quickref.txt 2019-02-16 15:00:19.368432985 +0100
+***************
+*** 600,606 ****
+ Short explanation of each option: *option-list*
+ 'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
+ 'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
+- 'altkeymap' 'akm' for default second language (Farsi/Hebrew)
+ 'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
+ 'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
+ 'autochdir' 'acd' change directory to the file in the current window
+--- 600,605 ----
+***************
+*** 700,706 ****
+ 'filetype' 'ft' type of file, used for autocommands
+ 'fillchars' 'fcs' characters to use for displaying special items
+ 'fixendofline' 'fixeol' make sure last line in file has <EOL>
+- 'fkmap' 'fk' Farsi keyboard mapping
+ 'foldclose' 'fcl' close a fold when the cursor leaves it
+ 'foldcolumn' 'fdc' width of the column used to indicate folds
+ 'foldenable' 'fen' set to display all folds open
+--- 699,704 ----
+*** ../vim-8.1.0931/runtime/doc/farsi.txt 2018-05-17 13:40:51.000000000 +0200
+--- runtime/doc/farsi.txt 2019-02-16 15:02:42.067826646 +0100
+***************
+*** 1,4 ****
+! *farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
+
+
+ VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
+--- 1,4 ----
+! *farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
+
+
+ VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
+***************
+*** 9,269 ****
+ {Vi does not have any of these commands}
+
+ *E27*
+! In order to use right-to-left and Farsi mapping support, it is necessary to
+! compile Vim with the |+farsi| feature.
+
+! These functions have been made by Mortaza G. Shiran <shiran@jps.net>
+
+
+! Introduction
+! ------------
+! In right-to-left oriented files the characters appear on the screen from right
+! to left. This kind of file is most useful when writing Farsi documents,
+! composing faxes or writing Farsi memos.
+!
+! The commands, prompts and help files are not in Farsi, therefore the user
+! interface remains the standard Vi interface.
+!
+!
+! Highlights
+! ----------
+! o Editing left-to-right files as in the original Vim, no change.
+!
+! o Viewing and editing files in right-to-left windows. File orientation is
+! per window, so it is possible to view the same file in right-to-left and
+! left-to-right modes, simultaneously.
+!
+! o Compatibility to the original Vim. Almost all features work in
+! right-to-left mode (see bugs below).
+!
+! o Changing keyboard mapping and reverse insert modes using a single
+! command.
+!
+! o Backing from reverse insert mode to the correct place in the file
+! (if possible).
+!
+! o While in Farsi mode, numbers are entered from left to right. Upon entering
+! a none number character, that character will be inserted just into the
+! left of the last number.
+!
+! o No special terminal with right-to-left capabilities is required. The
+! right-to-left changes are completely hardware independent. Only
+! Farsi font is necessary.
+!
+! o Farsi keymapping on the command line in reverse insert mode.
+!
+! o Toggling between left-to-right and right-to-left via F8 function key.
+!
+! o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
+! function key. Since this makes sense only for the text written in
+! right-to-left mode, this function is also supported only in right-to-left
+! mode.
+!
+! Farsi Fonts *farsi-fonts*
+! -----------
+!
+! The following files are found in the subdirectories of the '$VIM/farsi/fonts'
+! directory:
+!
+! + far-a01.pcf X Windows fonts for Unix including Linux systems
+! + far-a01.bf X Windows fonts for SunOS
+! + far-a01.f16 a screen fonts for Unix including Linux systems
+! + far-a01.fon a monospaced fonts for Windows NT/95/98
+! + far-a01.com a screen fonts for DOS
+!
+!
+! Font Installation
+! -----------------
+!
+! o Installation of fonts for MS Window systems (NT/95/98)
+!
+! From 'Control Panel' folder, start the 'Fonts' program. Then from 'file'
+! menu item select 'Install New Fonts ...'. Browse and select the
+! 'far-a01.fon', then follow the installation guide.
+! NOTE: several people have reported that this does not work. The solution
+! is unknown.
+!
+! o Installation of fonts for X Window systems (Unix/Linux)
+!
+! Depending on your system, copy far-a01.pcf.Z or far-a01.pcf.gz into a
+! directory of your choice. Change to the directory containing the Farsi
+! fonts and execute the following commands:
+!
+! > mkfontdir
+! > xset +fp path_name_of_farsi_fonts_directory
+!
+! o Installation of fonts for X Window systems (SunOS)
+!
+! Copy far-a01.bf font into a directory of your choice.
+! Change to the directory containing the far-a01.fb fonts and
+! execute the following commands:
+!
+! > fldfamily
+! > xset +fp path_name_of_fonts_directory
+!
+! o Installation of ASCII screen fonts (Unix/Linux)
+!
+! For Linux system, copy the far-a01.f16 fonts into /usr/lib/kbd/consolefonts
+! directory and execute the setfont program as "setfont far-a01.f16". For
+! other systems (e.g. SCO Unix), please refer to the fonts installation
+! section of your system administration manuals.
+!
+! o Installation of ASCII screen fonts (DOS)
+!
+! After system power on, prior to the first use of Vim, upload the Farsi
+! fonts by executing the far-a01.com font uploading program.
+!
+!
+! Usage
+! -----
+! Prior to starting Vim, the environment in which Vim can run in Farsi mode,
+! must be set. In addition to installation of Farsi fonts, following points
+! refer to some of the system environments, which you may need to set:
+! Key code mapping, loading graphic card in ASCII screen mode, setting the IO
+! driver in 8 bit clean mode ... .
+!
+! o Setting the Farsi fonts
+!
+! + For Vim GUI set the 'guifont' to far-a01. This is done by entering
+! ':set guifont=far-a01' in the Vim window.
+!
+! You can have 'guifont' set to far-a01 by Vim during the Vim startup
+! by appending the ':set guifont=far-a01' into your .vimrc file
+! (in case of NT/95/98 platforms _vimrc).
+!
+! Under the X Window environment, you can also start Vim with the
+! '-fn far-a01' option.
+!
+! + For Vim within a xterm, start a xterm with the Farsi fonts (e.g.
+! kterm -fn far-a01). Then start Vim inside the kterm.
+!
+! + For Vim under DOS, prior to the first usage of Vim, upload the Farsi
+! fonts by executing the far-a01.com fonts uploading program.
+!
+! o Farsi Keymapping Activation
+!
+! To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'.
+! This is done by entering ':set akm' or ':set fk' in the Vim window.
+! You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm'
+! or ':set fk' in your .vimrc file or _vimrc in case of NT/95/98 platforms.
+!
+! To turn off the Farsi keymapping as a default second language keymapping,
+! reset the 'altkeymap' by entering ':set noakm'.
+!
+! o right-to-left Farsi Mode
+!
+! By default Vim starts in Left-to-right mode. Following are ways to change
+! the window orientation:
+!
+! + Start Vim with the -F option (e.g. vim -F ...).
+!
+! + Use the F8 function key to toggle between left-to-right and right-to-left.
+!
+! + While in Left-to-right mode, enter 'set rl' in the command line ('rl' is
+! the abbreviation for rightleft).
+!
+! + Put the 'set rl' line in your '.vimrc' file to start Vim in
+! right-to-left mode permanently.
+!
+! Encoding
+! --------
+!
+! The letter encoding used is the Vim extended ISIR-3342 standard with a built
+! in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard.
+!
+! For document portability reasons, the letter encoding is kept the same across
+! different platforms (i.e. UNIX's, NT/95/98, MS DOS, ...).
+!
+!
+! o Keyboard
+!
+! + CTRL-_ in insert/replace modes toggles between Farsi(akm)/Latin
+! mode as follows:
+!
+! + CTRL-_ moves the cursor to the end of the typed text in edit mode.
+!
+! + CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/
+! Latin. The Farsi text is then entered in reverse insert mode.
+!
+! + F8 - Toggles between left-to-right and right-to-left.
+!
+! + F9 - Toggles the encoding between ISIR-3342 standard and Vim extended
+! ISIR-3342 (supported only in right-to-left mode).
+!
+! + Keyboard mapping is based on the Iranian ISIRI-2901 standard.
+! Following table shows the keyboard mapping while Farsi(akm) mode set:
+!
+! -------------------------------------
+! ` 1 2 3 4 5 6 7 8 9 0 - =
+! ¢ ± ² ³ ´ µ ¶ · ¸ ¹ ° ­ ½
+! -------------------------------------
+! ~ ! @ # $ % ^ & * ( ) _ +
+! ~ £ § ® ¤ ¥ ª ¬ è ¨ © é «
+! -------------------------------------
+! q w e r t z u i o p [ ]
+! Ó Ò Æ Ù Ø Õ Ö à Ê É Ç ˆ
+! -------------------------------------
+! Q W E R T Z U I O P { }
+! ÷ õ ô ó ò ý ð ö [ ] { }
+! -------------------------------------
+! a s d f g h j k l ; ' \
+! Ñ Ð á Ã Ü Á Å Þ Ý Ú Û ë
+! -------------------------------------
+! A S D F G H J K L : " |
+! ù û  þ ú ø À ü æ ç º » ê
+! -------------------------------------
+! < y x c v b n m , . /
+! ¾ × Ô Î Í Ì Ë Ä ß ¦ ¯
+! -------------------------------------
+! > Y X C V B N M < > ?
+! ¼ ñ Ô Ï Í ¡ Ë Â ¾ ¼ ¿
+! -------------------------------------
+!
+! Note:
+! ¡ stands for Farsi PSP (break without space)
+!
+! ¢ stands for Farsi PCN (for HAMZE attribute)
+!
+! Restrictions
+! ------------
+!
+! o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not
+! supported.
+!
+! o If you change the character mapping between Latin/Farsi, the redo buffer
+! will be reset (emptied). That is, redo is valid and will function (using
+! '.') only within the mode you are in.
+!
+! o While numbers are entered in Farsi mode, the redo buffer will be reset
+! (emptied). That is, you cannot redo the last changes (using '.') after
+! entering numbers.
+!
+! o While in left-to-right mode and Farsi mode set, CTRL-R is not supported.
+!
+! o While in right-to-left mode, the search on 'Latin' pattern does not work,
+! except if you enter the Latin search pattern in reverse.
+!
+! o In command mode there is no support for entering numbers from left
+! to right and also for the sake of flexibility the keymapping logic is
+! restricted.
+!
+! o Under the X Window environment, if you want to run Vim within a xterm
+! terminal emulator and Farsi mode set, you need to have an ANSI compatible
+! xterm terminal emulator. This is because the letter codes above 128 decimal
+! have certain meanings in the standard xterm terminal emulator.
+!
+! Note: Under X Window environment, Vim GUI works fine in Farsi mode.
+! This eliminates the need of any xterm terminal emulator.
+!
+!
+! Bugs
+! ----
+! While in insert/replace and Farsi mode set, if you repeatedly change the
+! cursor position (via cursor movement) and enter new text and then try to undo
+! the last change, the undo will lag one change behind. But as you continue to
+! undo, you will reach the original line of text. You can also use U to undo all
+! changes made in the current line.
+!
+! For more information about the bugs refer to rileft.txt.
+!
+! vim:tw=78:ts=8:ft=help:norl:
+--- 9,20 ----
+ {Vi does not have any of these commands}
+
+ *E27*
+! Farsi support has been removed in patch 8.1.0932. At that time it was
+! outdated and unused.
+
+! If you would like to bring Farsi support back, please have a look at the old
+! Farsi code, as it was present at the 8.1 release. It should be merged with
+! Arabic support using the Unicode character set.
+
+
+! vim:tw=78:ts=8:noet:ft=help:norl:
+*** ../vim-8.1.0931/src/version.c 2019-02-16 14:07:34.326138106 +0100
+--- src/version.c 2019-02-16 15:03:10.071702575 +0100
+***************
+*** 785,786 ****
+--- 781,784 ----
+ { /* Add new patch number below this line */
++ /**/
++ 932,
+ /**/
+
+--
+It is too bad that the speed of light hasn't kept pace with the
+changes in CPU speed and network bandwidth. -- <wietse@porcupine.org>
+
+ /// 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 ///