Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
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 \
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 \
$(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 \
+++ /dev/null
-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.
-*farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
+*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
{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.
+Farsi support has been removed in patch 8.1.0932. At that time it was
+outdated and unused.
-These functions have been made by Mortaza G. Shiran <shiran@jps.net>
+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.
-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 [ ]
- Ó Ò Æ Ù Ø Õ Ö à Ê É Ç \88
- -------------------------------------
- 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:noet:ft=help:norl:
{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|.
+ This option was for using Farsi, which has been removed. See
+ |farsi.txt|.
*'ambiwidth'* *'ambw'*
'ambiwidth' 'ambw' string (default: "single")
{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|.
+ This option was for using Farsi, which has been removed. See
+ |farsi.txt|.
*'foldclose'* *'fcl'*
'foldclose' 'fcl' string (default "")
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
'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
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}
+-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.
$(OBJDIR)\ex_docmd.obj \
$(OBJDIR)\ex_eval.obj \
$(OBJDIR)\ex_getln.obj \
- $(OBJDIR)\farsi.obj \
$(OBJDIR)\fileio.obj \
$(OBJDIR)\findfile.obj \
$(OBJDIR)\fold.obj \
$(OUTDIR)/ex_docmd.o \
$(OUTDIR)/ex_eval.o \
$(OUTDIR)/ex_getln.o \
- $(OUTDIR)/farsi.o \
$(OUTDIR)/fileio.o \
$(OUTDIR)/findfile.o \
$(OUTDIR)/fold.o \
$(MAKE) -C tee clean
###########################################################################
-INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
+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
ex_docmd.c \
ex_eval.c \
ex_getln.c \
- farsi.c \
fileio.c \
findfile.c \
fold.c \
o/ex_docmd.o \
o/ex_eval.o \
o/ex_getln.o \
- o/farsi.o \
o/fileio.o \
o/findfile.o \
o/fold.o \
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)
"$(INTDIR)/ex_docmd.obj" \
"$(INTDIR)/ex_eval.obj" \
"$(INTDIR)/ex_getln.obj" \
- "$(INTDIR)/farsi.obj" \
"$(INTDIR)/fileio.obj" \
"$(INTDIR)/findfile.obj" \
"$(INTDIR)/fold.obj" \
# End Source File
# Begin Source File
-SOURCE=.\farsi.c
-# End Source File
-# Begin Source File
-
SOURCE=.\fileio.c
# End Source File
# Begin Source File
ex_docmd.c \
ex_eval.c \
ex_getln.c \
- farsi.c \
fileio.c \
findfile.c \
fold.c \
obj/ex_docmd.o \
obj/ex_eval.o \
obj/ex_getln.o \
- obj/farsi.o \
obj/fileio.o \
obj/findfile.o \
obj/fold.o \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
- proto/farsi.pro \
proto/fileio.pro \
proto/findfile.pro \
proto/fold.pro \
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
ex_docmd.c \
ex_eval.c \
ex_getln.c \
- farsi.c \
fileio.c \
findfile.c \
fold.c \
!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 \
+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)
$(OUTDIR)\ex_docmd.obj \
$(OUTDIR)\ex_eval.obj \
$(OUTDIR)\ex_getln.obj \
- $(OUTDIR)\farsi.obj \
$(OUTDIR)\fileio.obj \
$(OUTDIR)\findfile.obj \
$(OUTDIR)\fold.obj \
$(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)
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
- proto/farsi.pro \
proto/fileio.pro \
proto/findfile.pro \
proto/getchar.pro \
ex_docmd.c \
ex_eval.c \
ex_getln.c \
- farsi.c \
fileio.c \
findfile.c \
fold.c \
ex_docmd.o \
ex_eval.o \
ex_getln.o \
- farsi.o \
fileio.o \
findfile.o \
fold.o \
proto/ex_docmd.pro \
proto/ex_eval.pro \
proto/ex_getln.pro \
- proto/farsi.pro \
proto/fileio.pro \
proto/findfile.pro \
proto/fold.pro \
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
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change: 2019 Jan 18
+# 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
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 \
+ 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 \
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 \
+ 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 \
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
+ 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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.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 farsi.h arabic.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 farsi.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 farsi.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 farsi.h arabic.h version.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 farsi.h arabic.h version.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h
-farsi.obj : farsi.c vim.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 farsi.h arabic.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 farsi.h arabic.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 farsi.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h if_cscope.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 farsi.h arabic.h version.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 farsi.h arabic.h if_mzsch.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 farsi.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 farsi.h arabic.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 farsi.h \
- arabic.h farsi.c arabic.c
+ [.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 farsi.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 farsi.h arabic.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 farsi.h arabic.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 farsi.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 farsi.h arabic.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 farsi.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 farsi.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 farsi.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 farsi.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 farsi.h arabic.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 farsi.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 farsi.h arabic.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 farsi.h arabic.h os_unixx.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 farsi.h arabic.h os_unixx.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.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 farsi.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 farsi.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 farsi.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 farsi.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 farsi.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.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 farsi.h arabic.h [-.pixmaps]stock_icons.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 farsi.h arabic.h gui_gtk_f.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 farsi.h arabic.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
+ 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 farsi.h arabic.h gui_at_sb.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 farsi.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
+ 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 farsi.h arabic.h [-.runtime]vim32x32.xpm \
+ 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 \
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
+ 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 farsi.h arabic.h gui_at_sb.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 farsi.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.h workshop.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 farsi.h arabic.h integration.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 farsi.h arabic.h version.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
# MULTIBYTE - To edit multi-byte characters.
# This is now always enabled.
-# When building with at least "big" features, right-left, Arabic and Farsi
+# 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-farsi --disable-arabic
+#CONF_OPT_MULTIBYTE = --disable-rightleft --disable-arabic
# NLS - National Language Support
# Uncomment this when you do not want to support translated messages, even
ex_docmd.c \
ex_eval.c \
ex_getln.c \
- farsi.c \
fileio.c \
findfile.c \
fold.c \
objects/ex_docmd.o \
objects/ex_eval.o \
objects/ex_getln.o \
- objects/farsi.o \
objects/fileio.o \
objects/findfile.o \
objects/fold.o \
ex_docmd.pro \
ex_eval.pro \
ex_getln.pro \
- farsi.pro \
fileio.pro \
findfile.pro \
fold.pro \
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
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
+ 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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h xdiff/xdiff.h vim.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.h version.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 farsi.h arabic.h version.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 farsi.h arabic.h version.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 farsi.h arabic.h ex_cmdidxs.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 farsi.h arabic.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 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
+ 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 farsi.h arabic.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 farsi.h arabic.h libvterm/include/vterm.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.h if_cscope.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h os_unixx.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h regexp_nfa.c
+ 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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h libvterm/include/vterm.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 farsi.h arabic.h libvterm/include/vterm.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h gui_gtk_f.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 farsi.h arabic.h gui_gtk_f.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 farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
+ 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 \
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
+ 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 farsi.h arabic.h gui_xmebwp.h gui_xmebw.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 farsi.h arabic.h gui_at_sb.h gui_x11_pm.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 \
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 \
+ 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 farsi.h arabic.h ../runtime/vim32x32.xpm \
+ 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 farsi.h arabic.h gui_at_sb.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 farsi.h arabic.h gui_at_sb.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 farsi.h arabic.h json.c
+ 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 farsi.h arabic.h charset.c
+ 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 farsi.h arabic.h memfile.c
+ 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 farsi.h arabic.h message.c
+ 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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h if_mzsch.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 farsi.h arabic.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 farsi.h arabic.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 farsi.h arabic.h if_py_both.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 farsi.h arabic.h if_py_both.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 farsi.h arabic.h version.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 farsi.h arabic.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 \
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 \
+ 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 \
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 \
+ 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 \
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 \
+ 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 \
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 \
+ 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 \
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 \
+ 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 \
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 \
+ arabic.h xdiff/xtypes.h xdiff/xutils.h \
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
--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.
+ --disable-farsi Deprecated.
--enable-hangulinput Include Hangul input support.
--enable-xim Include XIM input support.
--enable-fontset Include X fontset output support.
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; }
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) */
/* 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 (!do_isalpha || MB_ISLOWER(c) || MB_ISUPPER(c))
{
if (i == 0) /* (re)set ID flag */
{
if ((c < ' '
#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.
(c >= 64 && c < 255)
#else
(c >= ' ' && c <= '~')
-#endif
-#ifdef FEAT_FKMAP
- || (p_altkeymap && F_ischar(c))
#endif
)) || (c < 256 && vim_isprintc_strict(c)))
{
/* 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
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)
+dnl Farsi language support has been removed, ignore --disable-farsi
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
+ [ --disable-farsi Deprecated.],,)
AC_MSG_CHECKING(--enable-hangulinput argument)
AC_ARG_ENABLE(hangulinput,
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')
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
/*
&& !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])))
}
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! */
+ p_hkmap = curwin->w_p_rl ^ p_ri; // be consistent!
showmode();
}
#endif
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
+#ifdef FEAT_EVAL
set_vim_var_string(VV_INSERTMODE,
(char_u *)((State & REPLACE_FLAG) ? "i"
: replaceState == VREPLACE ? "v"
: "r"), 1);
-# endif
+#endif
ins_apply_autocmds(EVENT_INSERTCHANGE);
if (State & REPLACE_FLAG)
State = INSERT | (State & LANGMAP);
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)
#ifdef FEAT_SEARCH_EXTRA
"extra_search",
#endif
-#ifdef FEAT_FKMAP
- "farsi",
-#endif
#ifdef FEAT_SEARCHPATH
"file_in_path",
#endif
}
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 */
*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, ®match) == FAIL)
{
emsg(_(e_invcmd));
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);
#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
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;
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 */
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;
+ cmd_hkmap = !cmd_hkmap;
goto cmdline_not_changed;
#endif
cmdmsg_rl = FALSE;
#endif
-#ifdef FEAT_FKMAP
- cmd_fkmap = 0;
-#endif
-
ExpandCleanup(&xpc);
ccline.xpc = NULL;
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)
{
- if (KeyTyped)
- {
- m = Columns * Rows;
- if (m < 0) /* overflow, Columns or Rows at weird value */
- m = MAXCOL;
- }
- else
+ m = Columns * Rows;
+ if (m < 0) /* overflow, Columns or Rows at weird value */
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;
+ }
+ 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 (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)
}
#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
+++ /dev/null
-/* 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 */
+++ /dev/null
-/* 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
- ;
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
*/
#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
+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
EXTERN int text_prop_frozen INIT(= 0);
#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.
*/
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)
{
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
+ case 'F': /* "-F" was for Farsi mode */
mch_errmsg(_(e_nofarsi));
mch_exit(2);
-#endif
break;
case '?': /* "-?" give help message (for MS-Windows) */
#endif
#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"));
{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
/* 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
}
#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,
(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,
}
#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)
{
/* Force-set the necessary keymap for arabic */
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
{
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
# ifdef FEAT_MENU
# include "menu.pro"
# endif
-# ifdef FEAT_FKMAP
-# include "farsi.pro"
-# endif
# ifdef FEAT_ARABIC
# include "arabic.pro"
# endif
+++ /dev/null
-/* farsi.c */
-int fkmap(int c);
-char_u *lrswap(char_u *ibuf);
-char_u *lrFswap(char_u *cmdbuf, int len);
-char_u *lrF_sub(char_u *ibuf);
-int cmdl_fkmap(int c);
-int F_isalpha(int c);
-int F_isdigit(int c);
-int F_ischar(int c);
-void farsi_f8(cmdarg_T *cap);
-void farsi_f9(cmdarg_T *cap);
-/* vim: set ft=c : */
#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)
}
}
-#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,
+ 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
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)
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
test_expand_func \
test_expr \
test_expr_utf8 \
- test_farsi \
test_feedkeys \
test_file_perm \
test_file_size \
test_exists.res \
test_exists_autocmd.res \
test_exit.res \
- test_farsi.res \
test_file_size.res \
test_filechanged.res \
test_find_complete.res \
+++ /dev/null
-" 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
#else
"-extra_search",
#endif
-#ifdef FEAT_FKMAP
- "+farsi",
-#else
"-farsi",
-#endif
#ifdef FEAT_SEARCHPATH
"+file_in_path",
#else
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 932,
/**/
931,
/**/
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