#ifdef AMIGA
# define DFLT_EFM "%f>%l:%c:%t:%n:%m,%f:%l: %t%*\\D%n: %m,%f %l %t%*\\D%n: %m,%*[^\"]\"%f\"%*\\D%l: %m,%f:%l:%m,%f|%l| %m"
#else
# if defined(WIN3264)
# define DFLT_EFM "%f(%l) : %t%*\\D%n: %m,%*[^\"]\"%f\"%*\\D%l: %m,%f(%l) : %m,%*[^ ] %f %l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,%f|%l| %m"
# else
# if defined(__QNX__)
# define DFLT_EFM "%f(%l):%*[^WE]%t%*\\D%n:%m,%f|%l| %m"
# else
# ifdef VMS
# define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
# else
# ifdef EBCDIC
#define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
# else
#define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
# endif
# endif
# endif
# endif
#endif
#define DFLT_GREPFORMAT "%f:%l:%m,%f:%l%m,%f %l%m"
#define FF_DOS "dos"
#define FF_MAC "mac"
#define FF_UNIX "unix"
#ifdef USE_CRNL
# define DFLT_FF "dos"
# define DFLT_FFS_VIM "dos,unix"
# define DFLT_FFS_VI "dos,unix"
# define DFLT_TEXTAUTO TRUE
#else
# ifdef USE_CR
# define DFLT_FF "mac"
# define DFLT_FFS_VIM "mac,unix,dos"
# define DFLT_FFS_VI "mac,unix,dos"
# define DFLT_TEXTAUTO TRUE
# else
# define DFLT_FF "unix"
# define DFLT_FFS_VIM "unix,dos"
# ifdef __CYGWIN__
# define DFLT_FFS_VI "unix,dos"
# define DFLT_TEXTAUTO TRUE
# else
# define DFLT_FFS_VI ""
# define DFLT_TEXTAUTO FALSE
# endif
# endif
#endif
#ifdef FEAT_MBYTE
# define ENC_UCSBOM "ucs-bom"
# define ENC_DFLT "latin1"
#endif
#define EOL_UNKNOWN -1
#define EOL_UNIX 0
#define EOL_DOS 1
#define EOL_MAC 2
#define FO_WRAP 't'
#define FO_WRAP_COMS 'c'
#define FO_RET_COMS 'r'
#define FO_OPEN_COMS 'o'
#define FO_Q_COMS 'q'
#define FO_Q_NUMBER 'n'
#define FO_Q_SECOND '2'
#define FO_INS_VI 'v'
#define FO_INS_LONG 'l'
#define FO_INS_BLANK 'b'
#define FO_MBYTE_BREAK 'm'
#define FO_MBYTE_JOIN 'M'
#define FO_MBYTE_JOIN2 'B'
#define FO_ONE_LETTER '1'
#define FO_WHITE_PAR 'w'
#define FO_AUTO 'a'
#define FO_REMOVE_COMS 'j'
#define DFLT_FO_VI "vt"
#define DFLT_FO_VIM "tcq"
#define FO_ALL "tcroq2vlb1mMBn,awj"
#define CPO_ALTREAD 'a'
#define CPO_ALTWRITE 'A'
#define CPO_BAR 'b'
#define CPO_BSLASH 'B'
#define CPO_SEARCH 'c'
#define CPO_CONCAT 'C'
#define CPO_DOTTAG 'd'
#define CPO_DIGRAPH 'D'
#define CPO_EXECBUF 'e'
#define CPO_EMPTYREGION 'E'
#define CPO_FNAMER 'f'
#define CPO_FNAMEW 'F'
#define CPO_GOTO1 'g'
#define CPO_INSEND 'H'
#define CPO_INTMOD 'i'
#define CPO_INDENT 'I'
#define CPO_JOINSP 'j'
#define CPO_ENDOFSENT 'J'
#define CPO_KEYCODE 'k'
#define CPO_KOFFSET 'K'
#define CPO_LITERAL 'l'
#define CPO_LISTWM 'L'
#define CPO_SHOWMATCH 'm'
#define CPO_MATCHBSL 'M'
#define CPO_NUMCOL 'n'
#define CPO_LINEOFF 'o'
#define CPO_OVERNEW 'O'
#define CPO_LISP 'p'
#define CPO_FNAMEAPP 'P'
#define CPO_JOINCOL 'q'
#define CPO_REDO 'r'
#define CPO_REMMARK 'R'
#define CPO_BUFOPT 's'
#define CPO_BUFOPTGLOB 'S'
#define CPO_TAGPAT 't'
#define CPO_UNDO 'u'
#define CPO_BACKSPACE 'v'
#define CPO_CW 'w'
#define CPO_FWRITE 'W'
#define CPO_ESC 'x'
#define CPO_REPLCNT 'X'
#define CPO_YANK 'y'
#define CPO_KEEPRO 'Z'
#define CPO_DOLLAR '$'
#define CPO_FILTER '!'
#define CPO_MATCH '%'
#define CPO_STAR '*'
#define CPO_PLUS '+'
#define CPO_MINUS '-'
#define CPO_SPECI '<'
#define CPO_REGAPPEND '>'
#define CPO_HASH '#'
#define CPO_PARA '{'
#define CPO_TSIZE '|'
#define CPO_PRESERVE '&'
#define CPO_SUBPERCENT '/'
#define CPO_BACKSL '\\'
#define CPO_CHDIR '.'
#define CPO_SCOLON ';'
#define CPO_VIM "aABceFs"
#define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;"
#define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>#{|&/\\.;"
#define WW_ALL "bshl<>[],~"
#define MOUSE_NORMAL 'n'
#define MOUSE_VISUAL 'v'
#define MOUSE_INSERT 'i'
#define MOUSE_COMMAND 'c'
#define MOUSE_HELP 'h'
#define MOUSE_RETURN 'r'
#define MOUSE_A "nvich"
#define MOUSE_ALL "anvichr"
#define MOUSE_NONE ' '
#define MOUSE_NONEF 'x'
#define COCU_ALL "nvic"
#define SHM_RO 'r'
#define SHM_MOD 'm'
#define SHM_FILE 'f'
#define SHM_LAST 'i'
#define SHM_TEXT 'x'
#define SHM_LINES 'l'
#define SHM_NEW 'n'
#define SHM_WRI 'w'
#define SHM_A "rmfixlnw"
#define SHM_WRITE 'W'
#define SHM_TRUNC 't'
#define SHM_TRUNCALL 'T'
#define SHM_OVER 'o'
#define SHM_OVERALL 'O'
#define SHM_SEARCH 's'
#define SHM_ATTENTION 'A'
#define SHM_INTRO 'I'
#define SHM_COMPLETIONMENU 'c'
#define SHM_RECORDING 'q'
#define SHM_FILEINFO 'F'
#define SHM_ALL "rmfixlnwaWtToOsAIcqF"
#define GO_ASEL 'a'
#define GO_ASELML 'A'
#define GO_BOT 'b'
#define GO_CONDIALOG 'c'
#define GO_TABLINE 'e'
#define GO_FORG 'f'
#define GO_GREY 'g'
#define GO_HORSCROLL 'h'
#define GO_ICON 'i'
#define GO_LEFT 'l'
#define GO_VLEFT 'L'
#define GO_MENUS 'm'
#define GO_NOSYSMENU 'M'
#define GO_POINTER 'p'
#define GO_ASELPLUS 'P'
#define GO_RIGHT 'r'
#define GO_VRIGHT 'R'
#define GO_TEAROFF 't'
#define GO_TOOLBAR 'T'
#define GO_FOOTER 'F'
#define GO_VERTICAL 'v'
#define GO_KEEPWINSIZE 'k'
#define GO_ALL "aAbcefFghilmMprtTvk"
#define COM_NEST 'n'
#define COM_BLANK 'b'
#define COM_START 's'
#define COM_MIDDLE 'm'
#define COM_END 'e'
#define COM_AUTO_END 'x'
#define COM_FIRST 'f'
#define COM_LEFT 'l'
#define COM_RIGHT 'r'
#define COM_NOBACK 'O'
#define COM_ALL "nbsmexflrO"
#define COM_MAX_LEN 50
#define STL_FILEPATH 'f'
#define STL_FULLPATH 'F'
#define STL_FILENAME 't'
#define STL_COLUMN 'c'
#define STL_VIRTCOL 'v'
#define STL_VIRTCOL_ALT 'V'
#define STL_LINE 'l'
#define STL_NUMLINES 'L'
#define STL_BUFNO 'n'
#define STL_KEYMAP 'k'
#define STL_OFFSET 'o'
#define STL_OFFSET_X 'O'
#define STL_BYTEVAL 'b'
#define STL_BYTEVAL_X 'B'
#define STL_ROFLAG 'r'
#define STL_ROFLAG_ALT 'R'
#define STL_HELPFLAG 'h'
#define STL_HELPFLAG_ALT 'H'
#define STL_FILETYPE 'y'
#define STL_FILETYPE_ALT 'Y'
#define STL_PREVIEWFLAG 'w'
#define STL_PREVIEWFLAG_ALT 'W'
#define STL_MODIFIED 'm'
#define STL_MODIFIED_ALT 'M'
#define STL_QUICKFIX 'q'
#define STL_PERCENTAGE 'p'
#define STL_ALTPERCENT 'P'
#define STL_ARGLISTSTAT 'a'
#define STL_PAGENUM 'N'
#define STL_VIM_EXPR '{'
#define STL_MIDDLEMARK '='
#define STL_TRUNCMARK '<'
#define STL_USER_HL '*'
#define STL_HIGHLIGHT '#'
#define STL_TABPAGENR 'T'
#define STL_TABCLOSENR 'X'
#define STL_ALL ((char_u *) "fFtcvVlLknoObBrRhHmYyWwMqpPaN{#")
#define WIM_FULL 1
#define WIM_LONGEST 2
#define WIM_LIST 4
#define BS_INDENT 'i'
#define BS_EOL 'o'
#define BS_START 's'
#define LISPWORD_VALUE "defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object"
#ifdef FEAT_RIGHTLEFT
EXTERN long p_aleph;
#endif
#ifdef FEAT_AUTOCHDIR
EXTERN int p_acd;
#endif
#ifdef FEAT_MBYTE
EXTERN char_u *p_ambw;
EXTERN char_u *p_emoji;
#endif
#if defined(FEAT_GUI) && defined(MACOS_X)
EXTERN int *p_antialias;
#endif
EXTERN int p_ap;
EXTERN int p_ar;
EXTERN int p_aw;
EXTERN int p_awa;
EXTERN char_u *p_bs;
EXTERN char_u *p_bg;
EXTERN int p_bk;
EXTERN char_u *p_bkc;
EXTERN unsigned bkc_flags;
#ifdef IN_OPTION_C
static char *(p_bkc_values[]) = {"yes", "auto", "no", "breaksymlink", "breakhardlink", NULL};
#endif
# define BKC_YES 0x001
# define BKC_AUTO 0x002
# define BKC_NO 0x004
# define BKC_BREAKSYMLINK 0x008
# define BKC_BREAKHARDLINK 0x010
EXTERN char_u *p_bdir;
EXTERN char_u *p_bex;
EXTERN char_u *p_bo;
EXTERN unsigned bo_flags;
# ifdef IN_OPTION_C
static char *(p_bo_values[]) = {"all", "backspace", "cursor", "complete",
"copy", "ctrlg", "error", "esc", "ex",
"hangul", "insertmode", "lang", "mess",
"showmatch", "operator", "register", "shell",
"spell", "wildmode", NULL};
# endif
#define BO_ALL 0x0001
#define BO_BS 0x0002
#define BO_CRSR 0x0004
#define BO_COMPL 0x0008
#define BO_COPY 0x0010
#define BO_CTRLG 0x0020
#define BO_ERROR 0x0040
#define BO_ESC 0x0080
#define BO_EX 0x0100
#define BO_HANGUL 0x0200
#define BO_IM 0x0400
#define BO_LANG 0x0800
#define BO_MESS 0x1000
#define BO_MATCH 0x2000
#define BO_OPER 0x4000
#define BO_REG 0x8000
#define BO_SH 0x10000
#define BO_SPELL 0x20000
#define BO_WILD 0x40000
#ifdef FEAT_WILDIGN
EXTERN char_u *p_bsk;
#endif
#ifdef FEAT_CRYPT
EXTERN char_u *p_cm;
#endif
#ifdef FEAT_BEVAL
EXTERN long p_bdlay;
EXTERN int p_beval;
# ifdef FEAT_EVAL
EXTERN char_u *p_bexpr;
# endif
#endif
EXTERN int p_bf;
#ifdef FEAT_BROWSE
EXTERN char_u *p_bsdir;
#endif
#ifdef FEAT_LINEBREAK
EXTERN char_u *p_breakat;
#endif
#ifdef FEAT_MBYTE
EXTERN char_u *p_cmp;
EXTERN unsigned cmp_flags;
# ifdef IN_OPTION_C
static char *(p_cmp_values[]) = {"internal", "keepascii", NULL};
# endif
# define CMP_INTERNAL 0x001
# define CMP_KEEPASCII 0x002
#endif
#ifdef FEAT_MBYTE
EXTERN char_u *p_enc;
EXTERN int p_deco;
# ifdef FEAT_EVAL
EXTERN char_u *p_ccv;
# endif
#endif
#ifdef FEAT_CMDWIN
EXTERN char_u *p_cedit;
EXTERN long p_cwh;
#endif
#ifdef FEAT_CLIPBOARD
EXTERN char_u *p_cb;
#endif
EXTERN long p_ch;
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
EXTERN int p_confirm;
#endif
EXTERN int p_cp;
#ifdef FEAT_INS_EXPAND
EXTERN char_u *p_cot;
EXTERN long p_ph;
#endif
EXTERN char_u *p_cpo;
#ifdef FEAT_CSCOPE
EXTERN char_u *p_csprg;
EXTERN int p_csre;
# ifdef FEAT_QUICKFIX
EXTERN char_u *p_csqf;
# define CSQF_CMDS "sgdctefia"
# define CSQF_FLAGS "+-0"
# endif
EXTERN int p_cst;
EXTERN long p_csto;
EXTERN long p_cspc;
EXTERN int p_csverbose;
#endif
EXTERN char_u *p_debug;
#ifdef FEAT_FIND_ID
EXTERN char_u *p_def;
EXTERN char_u *p_inc;
#endif
#ifdef FEAT_DIFF
EXTERN char_u *p_dip;
# ifdef FEAT_EVAL
EXTERN char_u *p_dex;
# endif
#endif
#ifdef FEAT_INS_EXPAND
EXTERN char_u *p_dict;
#endif
#ifdef FEAT_DIGRAPHS
EXTERN int p_dg;
#endif
EXTERN char_u *p_dir;
EXTERN char_u *p_dy;
EXTERN unsigned dy_flags;
#ifdef IN_OPTION_C
static char *(p_dy_values[]) = {"lastline", "truncate", "uhex", NULL};
#endif
#define DY_LASTLINE 0x001
#define DY_TRUNCATE 0x002
#define DY_UHEX 0x004
EXTERN int p_ed;
EXTERN char_u *p_ead;
EXTERN int p_ea;
EXTERN char_u *p_ep;
EXTERN int p_eb;
#ifdef FEAT_QUICKFIX
EXTERN char_u *p_ef;
EXTERN char_u *p_efm;
EXTERN char_u *p_gefm;
EXTERN char_u *p_gp;
#endif
#ifdef FEAT_AUTOCMD
EXTERN char_u *p_ei;
#endif
EXTERN int p_ek;
EXTERN int p_exrc;
#ifdef FEAT_MBYTE
EXTERN char_u *p_fencs;
#endif
EXTERN char_u *p_ffs;
EXTERN long p_fic;
#ifdef FEAT_FOLDING
EXTERN char_u *p_fcl;
EXTERN long p_fdls;
EXTERN char_u *p_fdo;
EXTERN unsigned fdo_flags;
# ifdef IN_OPTION_C
static char *(p_fdo_values[]) = {"all", "block", "hor", "mark", "percent",
"quickfix", "search", "tag", "insert",
"undo", "jump", NULL};
# endif
# define FDO_ALL 0x001
# define FDO_BLOCK 0x002
# define FDO_HOR 0x004
# define FDO_MARK 0x008
# define FDO_PERCENT 0x010
# define FDO_QUICKFIX 0x020
# define FDO_SEARCH 0x040
# define FDO_TAG 0x080
# define FDO_INSERT 0x100
# define FDO_UNDO 0x200
# define FDO_JUMP 0x400
#endif
EXTERN char_u *p_fp;
#ifdef HAVE_FSYNC
EXTERN int p_fs;
#endif
EXTERN int p_gd;
#ifdef FEAT_PRINTER
EXTERN char_u *p_pdev;
# ifdef FEAT_POSTSCRIPT
EXTERN char_u *p_penc;
EXTERN char_u *p_pexpr;
# ifdef FEAT_MBYTE
EXTERN char_u *p_pmfn;
EXTERN char_u *p_pmcs;
# endif
# endif
EXTERN char_u *p_pfn;
EXTERN char_u *p_popt;
EXTERN char_u *p_header;
#endif
EXTERN int p_prompt;
#ifdef FEAT_GUI
EXTERN char_u *p_guifont;
# ifdef FEAT_XFONTSET
EXTERN char_u *p_guifontset;
# endif
# ifdef FEAT_MBYTE
EXTERN char_u *p_guifontwide;
# endif
EXTERN int p_guipty;
#endif
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
EXTERN long p_ghr;
#endif
#ifdef CURSOR_SHAPE
EXTERN char_u *p_guicursor;
#endif
#ifdef FEAT_MOUSESHAPE
EXTERN char_u *p_mouseshape;
#endif
#if defined(FEAT_GUI)
EXTERN char_u *p_go;
#endif
#if defined(FEAT_GUI_TABLINE)
EXTERN char_u *p_gtl;
EXTERN char_u *p_gtt;
#endif
EXTERN char_u *p_hf;
EXTERN long p_hh;
#ifdef FEAT_MULTI_LANG
EXTERN char_u *p_hlg;
#endif
EXTERN int p_hid;
EXTERN char_u *p_hl;
EXTERN int p_hls;
EXTERN long p_hi;
#ifdef FEAT_RIGHTLEFT
EXTERN int p_hkmap;
EXTERN int p_hkmapp;
# ifdef FEAT_FKMAP
EXTERN int p_fkmap;
EXTERN int p_altkeymap;
# endif
# ifdef FEAT_ARABIC
EXTERN int p_arshape;
# endif
#endif
#ifdef FEAT_TITLE
EXTERN int p_icon;
EXTERN char_u *p_iconstring;
#endif
EXTERN int p_ic;
#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
EXTERN char_u *p_imak;
EXTERN char_u *p_imaf;
EXTERN char_u *p_imsf;
EXTERN long p_imst;
# define IM_ON_THE_SPOT 0L
# define IM_OVER_THE_SPOT 1L
#endif
#ifdef USE_IM_CONTROL
EXTERN int p_imcmdline;
EXTERN int p_imdisable;
#endif
EXTERN int p_is;
EXTERN int p_im;
EXTERN char_u *p_isf;
EXTERN char_u *p_isi;
EXTERN char_u *p_isp;
EXTERN int p_js;
EXTERN char_u *p_kp;
EXTERN char_u *p_km;
#ifdef FEAT_LANGMAP
EXTERN char_u *p_langmap;
EXTERN int p_lnr;
EXTERN int p_lrm;
#endif
#if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
EXTERN char_u *p_lm;
#endif
#ifdef FEAT_GUI
EXTERN long p_linespace;
#endif
#ifdef FEAT_LISP
EXTERN char_u *p_lispwords;
#endif
EXTERN long p_ls;
EXTERN long p_stal;
EXTERN char_u *p_lcs;
EXTERN int p_lz;
EXTERN int p_lpl;
#if defined(DYNAMIC_LUA)
EXTERN char_u *p_luadll;
#endif
#ifdef FEAT_GUI_MAC
EXTERN int p_macatsui;
#endif
EXTERN int p_magic;
#ifdef FEAT_MBYTE
EXTERN char_u *p_menc;
#endif
#ifdef FEAT_QUICKFIX
EXTERN char_u *p_mef;
EXTERN char_u *p_mp;
#endif
#ifdef FEAT_SIGNS
EXTERN char_u *p_scl;
#endif
#ifdef FEAT_SYN_HL
EXTERN char_u *p_cc;
EXTERN int p_cc_cols[256];
#endif
EXTERN long p_mat;
#ifdef FEAT_MBYTE
EXTERN long p_mco;
#endif
#ifdef FEAT_EVAL
EXTERN long p_mfd;
#endif
EXTERN long p_mmd;
EXTERN long p_mm;
EXTERN long p_mmp;
EXTERN long p_mmt;
#ifdef FEAT_MENU
EXTERN long p_mis;
#endif
#ifdef FEAT_SPELL
EXTERN char_u *p_msm;
#endif
EXTERN long p_mls;
EXTERN char_u *p_mouse;
#ifdef FEAT_GUI
EXTERN int p_mousef;
EXTERN int p_mh;
#endif
EXTERN char_u *p_mousem;
EXTERN long p_mouset;
EXTERN int p_more;
#ifdef FEAT_MZSCHEME
EXTERN long p_mzq;
# if defined(DYNAMIC_MZSCHEME)
EXTERN char_u *p_mzschemedll;
EXTERN char_u *p_mzschemegcdll;
# endif
#endif
#if defined(MSWIN)
EXTERN int p_odev;
#endif
EXTERN char_u *p_opfunc;
EXTERN char_u *p_para;
EXTERN int p_paste;
EXTERN char_u *p_pt;
#if defined(FEAT_EVAL) && defined(FEAT_DIFF)
EXTERN char_u *p_pex;
#endif
EXTERN char_u *p_pm;
EXTERN char_u *p_path;
#ifdef FEAT_SEARCHPATH
EXTERN char_u *p_cdpath;
#endif
#if defined(DYNAMIC_PERL)
EXTERN char_u *p_perldll;
#endif
#if defined(DYNAMIC_PYTHON3)
EXTERN char_u *p_py3dll;
#endif
#if defined(DYNAMIC_PYTHON)
EXTERN char_u *p_pydll;
#endif
#if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
EXTERN long p_pyx;
#endif
#ifdef FEAT_RELTIME
EXTERN long p_rdt;
#endif
EXTERN int p_remap;
EXTERN long p_re;
#ifdef FEAT_RENDER_OPTIONS
EXTERN char_u *p_rop;
#endif
EXTERN long p_report;
#if defined(FEAT_QUICKFIX)
EXTERN long p_pvh;
#endif
#ifdef WIN3264
EXTERN int p_rs;
#endif
#ifdef FEAT_RIGHTLEFT
EXTERN int p_ari;
EXTERN int p_ri;
#endif
#if defined(DYNAMIC_RUBY)
EXTERN char_u *p_rubydll;
#endif
#ifdef FEAT_CMDL_INFO
EXTERN int p_ru;
#endif
#ifdef FEAT_STL_OPT
EXTERN char_u *p_ruf;
#endif
EXTERN char_u *p_pp;
EXTERN char_u *p_rtp;
EXTERN long p_sj;
EXTERN long p_so;
#ifdef FEAT_SCROLLBIND
EXTERN char_u *p_sbo;
#endif
EXTERN char_u *p_sections;
EXTERN int p_secure;
EXTERN char_u *p_sel;
EXTERN char_u *p_slm;
#ifdef FEAT_SESSION
EXTERN char_u *p_ssop;
EXTERN unsigned ssop_flags;
# ifdef IN_OPTION_C
static char *(p_ssop_values[]) = {"buffers", "winpos", "resize", "winsize",
"localoptions", "options", "help", "blank", "globals", "slash", "unix",
"sesdir", "curdir", "folds", "cursor", "tabpages", NULL};
# endif
# define SSOP_BUFFERS 0x001
# define SSOP_WINPOS 0x002
# define SSOP_RESIZE 0x004
# define SSOP_WINSIZE 0x008
# define SSOP_LOCALOPTIONS 0x010
# define SSOP_OPTIONS 0x020
# define SSOP_HELP 0x040
# define SSOP_BLANK 0x080
# define SSOP_GLOBALS 0x100
# define SSOP_SLASH 0x200
# define SSOP_UNIX 0x400
# define SSOP_SESDIR 0x800
# define SSOP_CURDIR 0x1000
# define SSOP_FOLDS 0x2000
# define SSOP_CURSOR 0x4000
# define SSOP_TABPAGES 0x8000
#endif
EXTERN char_u *p_sh;
EXTERN char_u *p_shcf;
#ifdef FEAT_QUICKFIX
EXTERN char_u *p_sp;
#endif
EXTERN char_u *p_shq;
EXTERN char_u *p_sxq;
EXTERN char_u *p_sxe;
EXTERN char_u *p_srr;
#ifdef AMIGA
EXTERN long p_st;
#endif
EXTERN int p_stmp;
#ifdef BACKSLASH_IN_FILENAME
EXTERN int p_ssl;
#endif
#ifdef FEAT_STL_OPT
EXTERN char_u *p_stl;
#endif
EXTERN int p_sr;
EXTERN char_u *p_shm;
#ifdef FEAT_LINEBREAK
EXTERN char_u *p_sbr;
#endif
#ifdef FEAT_CMDL_INFO
EXTERN int p_sc;
#endif
EXTERN int p_sft;
EXTERN int p_sm;
EXTERN int p_smd;
EXTERN long p_ss;
EXTERN long p_siso;
EXTERN int p_scs;
EXTERN int p_sta;
EXTERN int p_sb;
EXTERN long p_tpm;
# if defined(FEAT_STL_OPT)
EXTERN char_u *p_tal;
# endif
#ifdef FEAT_SPELL
EXTERN char_u *p_sps;
#endif
EXTERN int p_spr;
EXTERN int p_sol;
EXTERN char_u *p_su;
EXTERN char_u *p_sws;
EXTERN char_u *p_swb;
EXTERN unsigned swb_flags;
#ifdef IN_OPTION_C
static char *(p_swb_values[]) = {"useopen", "usetab", "split", "newtab", "vsplit", NULL};
#endif
#define SWB_USEOPEN 0x001
#define SWB_USETAB 0x002
#define SWB_SPLIT 0x004
#define SWB_NEWTAB 0x008
#define SWB_VSPLIT 0x010
EXTERN int p_tbs;
EXTERN char_u *p_tc;
EXTERN unsigned tc_flags;
#ifdef IN_OPTION_C
static char *(p_tc_values[]) = {"followic", "ignore", "match", "followscs", "smart", NULL};
#endif
#define TC_FOLLOWIC 0x01
#define TC_IGNORE 0x02
#define TC_MATCH 0x04
#define TC_FOLLOWSCS 0x08
#define TC_SMART 0x10
EXTERN long p_tl;
EXTERN int p_tr;
EXTERN char_u *p_tags;
EXTERN int p_tgst;
#if defined(DYNAMIC_TCL)
EXTERN char_u *p_tcldll;
#endif
#ifdef FEAT_ARABIC
EXTERN int p_tbidi;
#endif
#ifdef FEAT_MBYTE
EXTERN char_u *p_tenc;
#endif
#ifdef FEAT_TERMGUICOLORS
EXTERN int p_tgc;
#endif
EXTERN int p_terse;
EXTERN int p_ta;
EXTERN int p_to;
EXTERN int p_timeout;
EXTERN long p_tm;
#ifdef FEAT_TITLE
EXTERN int p_title;
EXTERN long p_titlelen;
EXTERN char_u *p_titleold;
EXTERN char_u *p_titlestring;
#endif
#ifdef FEAT_INS_EXPAND
EXTERN char_u *p_tsr;
#endif
EXTERN int p_ttimeout;
EXTERN long p_ttm;
EXTERN int p_tbi;
EXTERN int p_tf;
#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32)
EXTERN char_u *p_toolbar;
EXTERN unsigned toolbar_flags;
# ifdef IN_OPTION_C
static char *(p_toolbar_values[]) = {"text", "icons", "tooltips", "horiz", NULL};
# endif
# define TOOLBAR_TEXT 0x01
# define TOOLBAR_ICONS 0x02
# define TOOLBAR_TOOLTIPS 0x04
# define TOOLBAR_HORIZ 0x08
#endif
#if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK)
EXTERN char_u *p_tbis;
EXTERN unsigned tbis_flags;
# ifdef IN_OPTION_C
static char *(p_tbis_values[]) = {"tiny", "small", "medium", "large", "huge", "giant", NULL};
# endif
# define TBIS_TINY 0x01
# define TBIS_SMALL 0x02
# define TBIS_MEDIUM 0x04
# define TBIS_LARGE 0x08
# define TBIS_HUGE 0x10
# define TBIS_GIANT 0x20
#endif
EXTERN long p_ttyscroll;
#if defined(FEAT_MOUSE) && (defined(UNIX) || defined(VMS))
EXTERN char_u *p_ttym;
EXTERN unsigned ttym_flags;
# ifdef IN_OPTION_C
static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", "sgr", NULL};
# endif
# define TTYM_XTERM 0x01
# define TTYM_XTERM2 0x02
# define TTYM_DEC 0x04
# define TTYM_NETTERM 0x08
# define TTYM_JSBTERM 0x10
# define TTYM_PTERM 0x20
# define TTYM_URXVT 0x40
# define TTYM_SGR 0x80
#endif
EXTERN char_u *p_udir;
EXTERN long p_ul;
EXTERN long p_ur;
EXTERN long p_uc;
EXTERN long p_ut;
EXTERN char_u *p_fcs;
#ifdef FEAT_VIMINFO
EXTERN char_u *p_viminfo;
EXTERN char_u *p_viminfofile;
#endif
#ifdef FEAT_SESSION
EXTERN char_u *p_vdir;
EXTERN char_u *p_vop;
EXTERN unsigned vop_flags;
#endif
EXTERN int p_vb;
#ifdef FEAT_VIRTUALEDIT
EXTERN char_u *p_ve;
EXTERN unsigned ve_flags;
# ifdef IN_OPTION_C
static char *(p_ve_values[]) = {"block", "insert", "all", "onemore", NULL};
# endif
# define VE_BLOCK 5
# define VE_INSERT 6
# define VE_ALL 4
# define VE_ONEMORE 8
#endif
EXTERN long p_verbose;
#ifdef IN_OPTION_C
char_u *p_vfile = (char_u *)"";
#else
extern char_u *p_vfile;
#endif
EXTERN int p_warn;
#ifdef FEAT_CMDL_COMPL
EXTERN char_u *p_wop;
#endif
EXTERN long p_window;
#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(LINT) \
|| defined (FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON)
#define FEAT_WAK
EXTERN char_u *p_wak;
#endif
#ifdef FEAT_WILDIGN
EXTERN char_u *p_wig;
#endif
EXTERN int p_wiv;
EXTERN char_u *p_ww;
EXTERN long p_wc;
EXTERN long p_wcm;
EXTERN long p_wic;
EXTERN char_u *p_wim;
#ifdef FEAT_WILDMENU
EXTERN int p_wmnu;
#endif
EXTERN long p_wh;
EXTERN long p_wmh;
EXTERN long p_wmw;
EXTERN long p_wiw;
#if defined(WIN3264) && defined(FEAT_TERMINAL)
EXTERN char_u *p_winptydll;
#endif
EXTERN int p_ws;
EXTERN int p_write;
EXTERN int p_wa;
EXTERN int p_wb;
EXTERN long p_wd;
enum
{
BV_AI = 0
, BV_AR
, BV_BH
, BV_BKC
, BV_BT
#ifdef FEAT_QUICKFIX
, BV_EFM
, BV_GP
, BV_MP
#endif
, BV_BIN
, BV_BL
#ifdef FEAT_MBYTE
, BV_BOMB
#endif
, BV_CI
#ifdef FEAT_CINDENT
, BV_CIN
, BV_CINK
, BV_CINO
#endif
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
, BV_CINW
#endif
, BV_CM
#ifdef FEAT_FOLDING
, BV_CMS
#endif
#ifdef FEAT_COMMENTS
, BV_COM
#endif
#ifdef FEAT_INS_EXPAND
, BV_CPT
, BV_DICT
, BV_TSR
#endif
#ifdef FEAT_COMPL_FUNC
, BV_CFU
#endif
#ifdef FEAT_FIND_ID
, BV_DEF
, BV_INC
#endif
, BV_EOL
, BV_FIXEOL
, BV_EP
, BV_ET
, BV_FENC
, BV_FP
#ifdef FEAT_EVAL
, BV_BEXPR
, BV_FEX
#endif
, BV_FF
, BV_FLP
, BV_FO
#ifdef FEAT_AUTOCMD
, BV_FT
#endif
, BV_IMI
, BV_IMS
#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
, BV_INDE
, BV_INDK
#endif
#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
, BV_INEX
#endif
, BV_INF
, BV_ISK
#ifdef FEAT_CRYPT
, BV_KEY
#endif
#ifdef FEAT_KEYMAP
, BV_KMAP
#endif
, BV_KP
#ifdef FEAT_LISP
, BV_LISP
, BV_LW
#endif
#ifdef FEAT_MBYTE
, BV_MENC
#endif
, BV_MA
, BV_ML
, BV_MOD
, BV_MPS
, BV_NF
#ifdef FEAT_COMPL_FUNC
, BV_OFU
#endif
, BV_PATH
, BV_PI
#ifdef FEAT_TEXTOBJ
, BV_QE
#endif
, BV_RO
#ifdef FEAT_SMARTINDENT
, BV_SI
#endif
, BV_SN
#ifdef FEAT_SYN_HL
, BV_SMC
, BV_SYN
#endif
#ifdef FEAT_SPELL
, BV_SPC
, BV_SPF
, BV_SPL
#endif
, BV_STS
#ifdef FEAT_SEARCHPATH
, BV_SUA
#endif
, BV_SW
, BV_SWF
, BV_TAGS
, BV_TC
, BV_TS
, BV_TW
, BV_TX
, BV_UDF
, BV_UL
, BV_WM
, BV_COUNT
};
enum
{
WV_LIST = 0
#ifdef FEAT_ARABIC
, WV_ARAB
#endif
#ifdef FEAT_CONCEAL
, WV_COCU
, WV_COLE
#endif
#ifdef FEAT_TERMINAL
, WV_TK
, WV_TMS
#endif
#ifdef FEAT_CURSORBIND
, WV_CRBIND
#endif
#ifdef FEAT_LINEBREAK
, WV_BRI
, WV_BRIOPT
#endif
#ifdef FEAT_DIFF
, WV_DIFF
#endif
#ifdef FEAT_FOLDING
, WV_FDC
, WV_FEN
, WV_FDI
, WV_FDL
, WV_FDM
, WV_FML
, WV_FDN
# ifdef FEAT_EVAL
, WV_FDE
, WV_FDT
# endif
, WV_FMR
#endif
#ifdef FEAT_LINEBREAK
, WV_LBR
#endif
, WV_NU
, WV_RNU
#ifdef FEAT_LINEBREAK
, WV_NUW
#endif
#if defined(FEAT_QUICKFIX)
, WV_PVW
#endif
#ifdef FEAT_RIGHTLEFT
, WV_RL
, WV_RLC
#endif
#ifdef FEAT_SCROLLBIND
, WV_SCBIND
#endif
, WV_SCROLL
#ifdef FEAT_SPELL
, WV_SPELL
#endif
#ifdef FEAT_SYN_HL
, WV_CUC
, WV_CUL
, WV_CC
#endif
#ifdef FEAT_STL_OPT
, WV_STL
#endif
, WV_WFH
, WV_WFW
, WV_WRAP
#ifdef FEAT_SIGNS
, WV_SCL
#endif
, WV_COUNT
};
#define NO_LOCAL_UNDOLEVEL -123456