diff options
author | Bram Moolenaar <Bram@vim.org> | 2005-01-04 21:52:38 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2005-01-04 21:52:38 +0000 |
commit | c70646c652f5dfdcf6706b19c31f3fc62aea9621 (patch) | |
tree | 53e7eff8250fab363a7670cf916b38a3daf198b5 /src | |
parent | 0a56cb85a67baca0ce2a530a56c5cb213899ae22 (diff) |
updated for version 7.0030v7.0030
Diffstat (limited to 'src')
-rw-r--r-- | src/Make_agui.mak | 356 | ||||
-rw-r--r-- | src/Make_aros.mak | 29 | ||||
-rw-r--r-- | src/Make_morph.mak | 12 | ||||
-rw-r--r-- | src/eval.c | 3452 | ||||
-rw-r--r-- | src/gui_amiga.c | 1812 | ||||
-rw-r--r-- | src/gui_amiga.h | 52 | ||||
-rw-r--r-- | src/gui_beos.cc | 3358 | ||||
-rw-r--r-- | src/gui_beos.h | 49 | ||||
-rw-r--r-- | src/proto/gui_amiga.pro | 69 | ||||
-rw-r--r-- | src/proto/gui_beos.pro | 14 | ||||
-rw-r--r-- | src/proto/os_beos.pro | 4 |
11 files changed, 1842 insertions, 7365 deletions
diff --git a/src/Make_agui.mak b/src/Make_agui.mak deleted file mode 100644 index 7b30a19760..0000000000 --- a/src/Make_agui.mak +++ /dev/null @@ -1,356 +0,0 @@ -# -# Makefile for VIM on the Amiga, using SAS/Lattice C 6.0 to 6.56 -# -# Do NOT use the peephole optimizer with a version before 6.55! -# It messes up all kinds of things: -# For 6.0 and 6.1, expand_env() will not work correctly. -# For 6.2 and 6.3 the call to free_line in u_freeentry is wrong. -# Don't know about 6.50, might work... -# Version 6.56 seems to be working fine. -# You should use Manx Aztec C whenever possible. -# -# The prototypes from Manx and SAS are incompatible. If the prototypes -# were generated by Manx, first do "touch *.c; make proto" before "make". -# The prototypes generated on Unix work for both. -# -# Note: Not all dependencies are included. This was done to avoid having -# to compile everything when a global variable or function is added. - -#>>>>> choose options: - -#ANSI CODES -ANSIOFF = *e[0m -BBOLD = *e[1m -WBOLD = *e[2m -ITALIC = *e[3m -UNDERLI = *e[4m -ANSIOFF = *e[0m -FCOL1 = *e[31m -FCOL2 = *e[32m -FCOL3 = *e[33m -FCOL4 = *e[34m -BCOL1 = *e[41m -BCOL2 = *e[42m -BCOL3 = *e[43m -BCOL4 = *e[44m - - -### See feature.h for a list of optionals. -### Any other defines can be included here. - -DEFINES = DEF=NO_ARP DEF=AMIGA DEF=NEWSASC DEF=FEAT_GUI_AMIGA \ - DEF="SASC=658" #" this fixes a bug in the syntax highlighting - -#>>>>> if HAVE_TGETENT is defined termlib.o has to be used -#TERMLIB = termlib.o -TERMLIB = - -#>>>>> choose NODEBUG for normal compiling, the other for debugging and -# profiling -# don't switch on debugging when generating proto files, it crashes the -# compiler. -DBG = NODEBUG -#DBG = DBG=FULLFLUSH -#DBG = DBG=LINE - -#>>>>> choose NOOPTPEEP for 6.0 to 6.3, NOOPT for debugging -#OPTIMIZE=NOOPTPEEP OPT - -# for 6.58 you can use the line below, but be warned it takes a loooonnnggg time -#OPTIMIZE=OPT OPTIMIZERSCHEDULER OPTIMIZERTIME NoOPTIMIZERALIAS \ -# OptimizerComplexity=10 OptimizerDepth=10 OptimizerRecurDepth=10 \ -# OptimizerInLocal OPTPEEP -OPTIMIZE=OPT OPTIMIZERTIME NoOPTIMIZERALIAS \ - OptimizerComplexity=10 OptimizerDepth=10 OptimizerRecurDepth=10 \ - OptimizerInLocal OPTPEEP -#OPTIMIZE = NOOPT - -# no optimization, (works on all platforms) -#OPTIMIZE=NOOPT - -#generate code for your processor - note however, that the 060 selection will work for 040's -# as well. -#CPU=68000 -#CPU=68020 -#CPU=68030 -#CPU=68040 -CPU=68060 - - -#Error reporting - I use rexx for reporting, but console reporting may be more -#useful for some people. -#ERROR = ERRORCONSOLE ERRORSOURCE ERRORHIGHLIGHT -ERROR = ERRORREXX ERRORCONSOLE ERRORSOURCE ERRORHIGHLIGHT - - -#memory types, if you have fast use it :->, -# ANY = will work on all machines -# FAST = this is the best option, for speed -# CHIP = not necessary for this application. -#MEMORYTYPE=FAST -MEMORYTYPE=ANY - -#MEMSIZE - this is for compile time only for speed of compilation -#default is LARGE -MEMSIZE=HUGE -#MEMSIZE=LARGE -#MEMSIZE=SMALL - -#>>>>> end of choices -########################################################################### - -CC = sc - -GST=vim.gst -DEP = $(GST) - - -CFLAGS = NOLINK $(DBG) CPU=$(CPU) NOSTACKCHECK -CFLAGS2 = $(OPTIMIZE) $(ERROR) GSTIMMEDIATE GST=$(GST) -CFLAGS3 =NOSINT SCODE SDATA STRINGMERGE MEMSIZE=$(MEMSIZE) -CFLAGS4 = $(DEFINES) DATAMEMORY=$(MEMORYTYPE) - -PROPT = DEF=PROTO GPROTO GPPARM MAXIMUMERRORS=999 GENPROTOSTATICS GENPROTOPARAMETERS - -SRC = \ - buffer.c \ - charset.c \ - diff.c \ - digraph.c \ - edit.c \ - eval.c \ - ex_cmds.c \ - ex_cmds2.c \ - ex_docmd.c \ - ex_eval.c \ - ex_getln.c \ - fileio.c \ - fold.c \ - getchar.c \ - main.c \ - mark.c \ - memfile.c \ - memline.c \ - menu.c \ - message.c \ - misc1.c \ - misc2.c \ - move.c \ - normal.c \ - ops.c \ - option.c \ - os_amiga.c \ - quickfix.c \ - regexp.c \ - screen.c \ - search.c \ - syntax.c \ - tag.c \ - term.c \ - ui.c \ - undo.c \ - window.c \ - version.c \ - gui_amiga.c \ - gui.c - -OBJ = buffer.o charset.o diff.o digraph.o edit.o eval.o ex_cmds.o ex_cmds2.o ex_docmd.o ex_eval.o ex_getln.o \ - fileio.o fold.o getchar.o main.o mark.o memfile.o memline.o menu.o message.o misc1.o misc2.o move.o \ - normal.o ops.o option.o os_amiga.o quickfix.o regexp.o screen.o search.o syntax.o \ - tag.o term.o ui.o undo.o window.o gui_amiga.o gui.o $(TERMLIB) - -PRO = \ - buffer.pro \ - charset.pro \ - diff.pro \ - digraph.pro \ - edit.pro \ - eval.pro \ - ex_cmds.pro \ - ex_cmds2.pro \ - ex_docmd.pro \ - ex_eval.pro \ - ex_getln.pro \ - fileio.pro \ - fold.pro \ - getchar.pro \ - main.pro \ - mark.pro \ - memfile.pro \ - memline.pro \ - menu.pro \ - message.pro \ - misc1.pro \ - misc2.pro \ - move.pro \ - normal.pro \ - ops.pro \ - option.pro \ - os_amiga.pro \ - quickfix.pro \ - regexp.pro \ - screen.pro \ - search.pro \ - syntax.pro \ - tag.pro \ - term.pro \ - termlib.pro \ - ui.pro \ - undo.pro \ - window.pro \ - version.pro \ - gui_amiga.pro \ - gui.pro - -all: - @echo "$(BCOL2)building prototypes, this may take some time$(ANSIOFF)" - @smake proto - @echo "$(BCOL2)building vim production version$(ANSIOFF)" - @smake vim - -Vim: scoptions proto $(OBJ) version.c version.h - $(CC) $(CFLAGS) version.c - $(CC) LINK $(OPT) $(COPTS) $(OBJ) version.o $(DBG) PNAME=Vim - -debug: scoption protos $(OBJ) version.c version.h - $(CC) $(CFLAGS) version.c - $(CC) LINK $(COPTS) $(OBJ) version.o $(DBG) PNAME=Vim - -proto: $(PRO) - -tags: $(SRC) - spat ctags $(SRC) *.h - #csh -c ctags $(SRC) *.h - -# can't use delete here, too many file names -clean: - @echo removing all object files - -delete $(OBJ) >nil: - -clobber: clean - @echo removing all prototype files - -delete $(PRO) SCOPTIONS vim $(GST) > NIL: - - -# generate an options file, as there is no way the amiga command line can handle the -# lengths that this makefile will impose on the shell. -scoptions: smakefile - @echo "$(BCOL2)Generating $(ANSIOFF)$(FCOL4)- $@$(ANSIOFF)" - @echo $(CFLAGS) > scoptions - @echo $(CFLAGS1) >> scoptions - @echo $(CFLAGS2) >> scoptions - @echo $(CFLAGS3) >> scoptions - @echo $(CFLAGS4) >> scoptions - @echo $(COPTS) >>scoptions - @echo scoptions has been built - - -#generate GlobalSymbolTable, which both speeds up the compile time, but also -#solves some problems with prototypes, and types that are defined in a unixy -#manner. -# -#I use a preprocessing stage here to work arounda bug in the GST generator, in -#that it does not handle nested makefiles properly in this stage. -$(GST): scoptions vim.h keymap.h macros.h ascii.h term.h structs.h gui.h gui_amiga.h - @echo "$(BCOL2)Generating Global Symbol Table $(ANSIOFF)$(FCOL4) $(GST) $(ANSIOFF)" - $(CC) PREPROCESSORONLY gui_amiga.h objectname pre.h - $(CC) MGST=$(GST) pre.h ignore=105,316 - del pre.h - - -########################################################################### - -.c.o: - @echo "$(BCOL2)Generating object for $(ANSIOFF)$(FCOL4) $*.c -> $@$(ANSIOFF)" - $(CC) $*.c - -.c.pro: - @echo "$(BCOL2)Generating prototypes for $(ANSIOFF)$(FCOL4) $*.c -> $@$(ANSIOFF)" - @$(CC) NOERRORREXX GPFILE=$*.pro $(PROPT) $*.c ignore=306,316,317,304 - -$(PRO): $(GST) -$(OBJ): $(GST) - -# dependancies -buffer.o: buffer.c $(DEP) -buffer.pro: buffer.c $(DEP) -charset.o: charset.c $(DEP) -charset.pro: charset.c $(DEP) -diff.o: diff.c $(DEP) -diff.pro: diff.c $(DEP) -digraph.o: digraph.c $(DEP) -digraph.pro: digraph.c $(DEP) -edit.o: edit.c $(DEP) -edit.pro: edit.c $(DEP) -eval.o: eval.c $(DEP) -eval.pro: eval.c $(DEP) -ex_cmds.o: ex_cmds.c $(DEP) -ex_cmds.pro: ex_cmds.c $(DEP) -ex_cmds2.o: ex_cmds2.c $(DEP) -ex_cmds2.pro: ex_cmds2.c $(DEP) -ex_docmd.o: ex_docmd.c ex_cmds.h $(DEP) -ex_docmd.pro: ex_docmd.c ex_cmds.h $(DEP) -ex_eval.o: ex_eval.c ex_cmds.h $(DEP) -ex_eval.pro: ex_eval.c ex_cmds.h $(DEP) -ex_getln.o: ex_getln.c $(DEP) -ex_getln.pro: ex_getln.c $(DEP) -fileio.o: fileio.c $(DEP) -fileio.pro: fileio.c $(DEP) -fold.o: fold.c $(DEP) -fold.pro: fold.c $(DEP) -getchar.o: getchar.c $(DEP) -getchar.pro: getchar.c $(DEP) -main.o: main.c globals.h $(DEP) -main.pro: main.c globals.h $(DEP) -mark.o: mark.c $(DEP) -mark.pro: mark.c $(DEP) -memfile.o: memfile.c $(DEP) -memfile.pro: memfile.c $(DEP) -memline.o: memline.c $(DEP) -memline.pro: memline.c $(DEP) -menu.o: menu.c $(DEP) -menu.pro: menu.c $(DEP) -message.o: message.c $(DEP) -message.pro: message.c $(DEP) -misc1.o: misc1.c $(DEP) -misc1.pro: misc1.c $(DEP) -misc2.o: misc2.c $(DEP) -misc2.pro: misc2.c $(DEP) -move.o: move.c $(DEP) -move.pro: move.c $(DEP) -normal.o: normal.c $(DEP) -normal.pro: normal.c $(DEP) -ops.o: ops.c $(DEP) -ops.pro: ops.c $(DEP) -option.o: option.c $(DEP) -option.pro: option.c $(DEP) -os_amiga.o: os_amiga.c $(DEP) -os_amiga.pro: os_amiga.c $(DEP) -quickfix.o: quickfix.c $(DEP) -quickfix.pro: quickfix.c $(DEP) -regexp.o: regexp.c $(DEP) -regexp.pro: regexp.c $(DEP) -screen.o: screen.c $(DEP) -screen.pro: screen.c $(DEP) -search.o: search.c $(DEP) -search.pro: search.c $(DEP) -syntax.o: syntax.c $(DEP) -syntax.pro: syntax.c $(DEP) -tag.o: tag.c $(DEP) -tag.pro: tag.c $(DEP) -term.o: term.c $(DEP) -term.pro: term.c $(DEP) -termlib.o: termlib.c $(DEP) -termlib.pro: termlib.c $(DEP) -ui.o: ui.c $(DEP) -ui.pro: ui.c $(DEP) -undo.o: undo.c $(DEP) -undo.pro: undo.c $(DEP) -window.o: window.c $(DEP) -window.pro: window.c $(DEP) -gui_amiga.o: gui_amiga.c $(DEP) amiga.h -#gui_amiga.pro: gui_amiga.c $(DEP) amiga.h -amiga.o: amiga.c $(DEP) amiga.h -amiga.pro: amiga.c $(DEP) amiga.h -gui.o: gui.c $(DEP) -gui.pro: gui.c $(DEP) diff --git a/src/Make_aros.mak b/src/Make_aros.mak deleted file mode 100644 index 5d26eef0e6..0000000000 --- a/src/Make_aros.mak +++ /dev/null @@ -1,29 +0,0 @@ -# Makefile for AROS - -CFLAGS = -pipe -O2 -Wall -Iproto \ - -DNO_ARP -DUSE_TMPNAM -DFEAT_GUI_AMIGA - -PRG = VIM -LIBS = -CC = i386-linux-aros-gcc -LD = i386-linux-aros-gcc -RM = rm - -SRCS = buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c \ - ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c fileio.c fold.c getchar.c \ - main.c mark.c mbyte.c memfile.c memline.c menu.c message.c misc1.c \ - misc2.c move.c normal.c ops.c option.c os_amiga.c quickfix.c \ - regexp.c screen.c search.c syntax.c tag.c term.c ui.c undo.c \ - version.c window.c gui_amiga.c gui.c - -OBJS = $(SRCS:.c=.o) - - -$(PRG): $(OBJS) - ${LD} -o $(PRG) $(OBJS) $(LIBS) - -.c.o: - ${CC} -c ${CFLAGS} $< -o $@ - -clean: - $(RM) -fv $(OBJS) $(PRG) diff --git a/src/Make_morph.mak b/src/Make_morph.mak index f9ceb50c5c..ffcb81454e 100644 --- a/src/Make_morph.mak +++ b/src/Make_morph.mak @@ -2,16 +2,6 @@ # Makefile for VIM, using MorphOS SDK (gcc 2.95.3) # -# Uncomment the following two lines and comment the two after in -# case you want to play with GVIM MorphOS. But it's still known -# to not work at all. So meanwhile it's better to stick with VIM. - -# GVIM = -DFEAT_GUI_AMIGA -# GVIMSRC = gui_amiga.c gui.c - -GVIM = -GVIMSRC = - CFLAGS = -c \ -pipe \ -O2 \ @@ -19,7 +9,6 @@ CFLAGS = -c \ \ -DNO_ARP \ -DUSE_TMPNAM \ - ${GVIM} \ \ -I proto \ \ @@ -74,7 +63,6 @@ SRC = buffer.c \ undo.c \ version.c \ window.c \ - ${GVIMSRC} OBJ = $(SRC:.c=.o) diff --git a/src/eval.c b/src/eval.c index 82d1c69c52..e812e5329f 100644 --- a/src/eval.c +++ b/src/eval.c @@ -94,7 +94,11 @@ struct listvar_S typedef struct listvar_S listvar; #define VAR_LIST_MAXNEST 100 /* maximum nesting of lists */ -static char_u *e_listidx = (char_u *)N_("E999: list index out of range: %ld"); +static char *e_letunexp = N_("E18: Unexpected characters in :let"); +static char *e_listidx = N_("E999: list index out of range: %ld"); +static char *e_undefvar = N_("E121: Undefined variable: %s"); +static char *e_missbrac = N_("E111: Missing ']'"); +static char *e_intern2 = N_("E999: Internal error: %s"); /* * All user-defined global variables are stored in "variables". @@ -159,7 +163,7 @@ struct funccall var firstline; /* "a:firstline" variable */ var lastline; /* "a:lastline" variable */ garray_T l_vars; /* local function variables */ - typeval *retvar; /* return value variable */ + typeval *rettv; /* return value */ linenr_T breakpoint; /* next line with breakpoint or zero */ int dbg_tick; /* debug_tick when breakpoint was set */ int level; /* top nesting level of executed function */ @@ -275,19 +279,19 @@ struct vimvar {"insertmode", sizeof("insertmode") - 1, NULL, VAR_STRING, VV_RO}, }; -static int eval0 __ARGS((char_u *arg, VAR retvar, char_u **nextcmd, int evaluate)); -static int eval1 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval2 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval3 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval4 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval5 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval6 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval7 __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int eval_index __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int get_option_vartv __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int get_string_vartv __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int get_lit_string_vartv __ARGS((char_u **arg, typeval *retvar, int evaluate)); -static int get_list_vartv __ARGS((char_u **arg, typeval *retvar, int evaluate)); +static int eval0 __ARGS((char_u *arg, typeval *rettv, char_u **nextcmd, int evaluate)); +static int eval1 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval2 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval3 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval4 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval5 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval6 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval7 __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int eval_index __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int get_option_tv __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int get_string_tv __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int get_lit_string_tv __ARGS((char_u **arg, typeval *rettv, int evaluate)); +static int get_list_tv __ARGS((char_u **arg, typeval *rettv, int evaluate)); static listvar *list_alloc __ARGS((void)); static void list_unref __ARGS((listvar *l)); static void list_free __ARGS((listvar *l)); @@ -301,180 +305,180 @@ static listvar *list_copy __ARGS((listvar *orig, int deep)); static listitem *list_getrem __ARGS((listvar *l, long n)); static char_u *list2string __ARGS((typeval *tv)); static char_u *tv2string __ARGS((typeval *tv, char_u **tofree)); -static int get_env_vartv __ARGS((char_u **arg, typeval *retvar, int evaluate)); +static int get_env_tv __ARGS((char_u **arg, typeval *rettv, int evaluate)); static int find_internal_func __ARGS((char_u *name)); static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); -static int get_func_vartv __ARGS((char_u *name, int len, typeval *retvar, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate)); -static int call_func __ARGS((char_u *name, int len, typeval *retvar, int argcount, typeval *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate)); -static void f_append __ARGS((typeval *argvars, typeval *retvar)); -static void f_argc __ARGS((typeval *argvars, typeval *retvar)); -static void f_argidx __ARGS((typeval *argvars, typeval *retvar)); -static void f_argv __ARGS((typeval *argvars, typeval *retvar)); -static void f_browse __ARGS((typeval *argvars, typeval *retvar)); -static void f_browsedir __ARGS((typeval *argvars, typeval *retvar)); +static int get_func_tv __ARGS((char_u *name, int len, typeval *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate)); +static int call_func __ARGS((char_u *name, int len, typeval *rettv, int argcount, typeval *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate)); +static void f_append __ARGS((typeval *argvars, typeval *rettv)); +static void f_argc __ARGS((typeval *argvars, typeval *rettv)); +static void f_argidx __ARGS((typeval *argvars, typeval *rettv)); +static void f_argv __ARGS((typeval *argvars, typeval *rettv)); +static void f_browse __ARGS((typeval *argvars, typeval *rettv)); +static void f_browsedir __ARGS((typeval *argvars, typeval *rettv)); static buf_T *find_buffer __ARGS((typeval *avar)); -static void f_bufexists __ARGS((typeval *argvars, typeval *retvar)); -static void f_buflisted __ARGS((typeval *argvars, typeval *retvar)); -static void f_bufloaded __ARGS((typeval *argvars, typeval *retvar)); -static buf_T *get_buf_vartv __ARGS((typeval *avar)); -static void f_bufname __ARGS((typeval *argvars, typeval *retvar)); -static void f_bufnr __ARGS((typeval *argvars, typeval *retvar)); -static void f_bufwinnr __ARGS((typeval *argvars, typeval *retvar)); -static void f_byte2line __ARGS((typeval *argvars, typeval *retvar)); -static void f_byteidx __ARGS((typeval *argvars, typeval *retvar)); -static void f_char2nr __ARGS((typeval *argvars, typeval *retvar)); -static void f_cindent __ARGS((typeval *argvars, typeval *retvar)); -static void f_col __ARGS((typeval *argvars, typeval *retvar)); -static void f_confirm __ARGS((typeval *argvars, typeval *retvar)); -static void f_copy __ARGS((typeval *argvars, typeval *retvar)); -static void f_cscope_connection __ARGS((typeval *argvars, typeval *retvar)); -static void f_cursor __ARGS((typeval *argsvars, typeval *retvar)); -static void f_deepcopy __ARGS((typeval *argvars, typeval *retvar)); -static void f_delete __ARGS((typeval *argvars, typeval *retvar)); -static void f_did_filetype __ARGS((typeval *argvars, typeval *retvar)); -static void f_diff_filler __ARGS((typeval *argvars, typeval *retvar)); -static void f_diff_hlID __ARGS((typeval *argvars, typeval *retvar)); -static void f_escape __ARGS((typeval *argvars, typeval *retvar)); -static void f_eventhandler __ARGS((typeval *argvars, typeval *retvar)); -static void f_executable __ARGS((typeval *argvars, typeval *retvar)); -static void f_exists __ARGS((typeval *argvars, typeval *retvar)); -static void f_expand __ARGS((typeval *argvars, typeval *retvar)); -static void f_filereadable __ARGS((typeval *argvars, typeval *retvar)); -static void f_filewritable __ARGS((typeval *argvars, typeval *retvar)); -static void f_finddir __ARGS((typeval *argvars, typeval *retvar)); -static void f_findfile __ARGS((typeval *argvars, typeval *retvar)); -static void f_findfilendir __ARGS((typeval *argvars, typeval *retvar, int dir)); -static void f_fnamemodify __ARGS((typeval *argvars, typeval *retvar)); -static void f_foldclosed __ARGS((typeval *argvars, typeval *retvar)); -static void f_foldclosedend __ARGS((typeval *argvars, typeval *retvar)); -static void foldclosed_both __ARGS((typeval *argvars, typeval *retvar, int end)); -static void f_foldlevel __ARGS((typeval *argvars, typeval *retvar)); -static void f_foldtext __ARGS((typeval *argvars, typeval *retvar)); -static void f_foldtextresult __ARGS((typeval *argvars, typeval *retvar)); -static void f_foreground __ARGS((typeval *argvars, typeval *retvar)); -static void f_function __ARGS((typeval *argvars, typeval *retvar)); -static void f_getbufvar __ARGS((typeval *argvars, typeval *retvar)); -static void f_getchar __ARGS((typeval *argvars, typeval *retvar)); -static void f_getcharmod __ARGS((typeval *argvars, typeval *retvar)); -static void f_getcmdline __ARGS((typeval *argvars, typeval *retvar)); -static void f_getcmdpos __ARGS((typeval *argvars, typeval *retvar)); -static void f_getcwd __ARGS((typeval *argvars, typeval *retvar)); -static void f_getfontname __ARGS((typeval *argvars, typeval *retvar)); -static void f_getfperm __ARGS((typeval *argvars, typeval *retvar)); -static void f_getfsize __ARGS((typeval *argvars, typeval *retvar)); -static void f_getftime __ARGS((typeval *argvars, typeval *retvar)); -static void f_getftype __ARGS((typeval *argvars, typeval *retvar)); -static void f_getline __ARGS((typeval *argvars, typeval *retvar)); -static void f_getreg __ARGS((typeval *argvars, typeval *retvar)); -static void f_getregtype __ARGS((typeval *argvars, typeval *retvar)); -static void f_getwinposx __ARGS((typeval *argvars, typeval *retvar)); -static void f_getwinposy __ARGS((typeval *argvars, typeval *retvar)); -static void f_getwinvar __ARGS((typeval *argvars, typeval *retvar)); -static void f_glob __ARGS((typeval *argvars, typeval *retvar)); -static void f_globpath __ARGS((typeval *argvars, typeval *retvar)); -static void f_has __ARGS((typeval *argvars, typeval *retvar)); -static void f_hasmapto __ARGS((typeval *argvars, typeval *retvar)); -static void f_histadd __ARGS((typeval *argvars, typeval *retvar)); -static void f_histdel __ARGS((typeval *argvars, typeval *retvar)); -static void f_histget __ARGS((typeval *argvars, typeval *retvar)); -static void f_histnr __ARGS((typeval *argvars, typeval *retvar)); -static void f_hlexists __ARGS((typeval *argvars, typeval *retvar)); -static void f_hlID __ARGS((typeval *argvars, typeval *retvar)); -static void f_hostname __ARGS((typeval *argvars, typeval *retvar)); -static void f_iconv __ARGS((typeval *argvars, typeval *retvar)); -static void f_indent __ARGS((typeval *argvars, typeval *retvar)); -static void f_insert __ARGS((typeval *argvars, typeval *retvar)); -static void f_isdirectory __ARGS((typeval *argvars, typeval *retvar)); -static void f_input __ARGS((typeval *argvars, typeval *retvar)); -static void f_inputdialog __ARGS((typeval *argvars, typeval *retvar)); -static void f_inputrestore __ARGS((typeval *argvars, typeval *retvar)); -static void f_inputsave __ARGS((typeval *argvars, typeval *retvar)); -static void f_inputsecret __ARGS((typeval *argvars, typeval *retvar)); -static void f_last_buffer_nr __ARGS((typeval *argvars, typeval *retvar)); -static void f_len __ARGS((typeval *argvars, typeval *retvar)); -static void f_libcall __ARGS((typeval *argvars, typeval *retvar)); -static void f_libcallnr __ARGS((typeval *argvars, typeval *retvar)); -static void libcall_common __ARGS((typeval *argvars, typeval *retvar, int type)); -static void f_line __ARGS((typeval *argvars, typeval *retvar)); -static void f_line2byte __ARGS((typeval *argvars, typeval *retvar)); -static void f_lispindent __ARGS((typeval *argvars, typeval *retvar)); -static void f_localtime __ARGS((typeval *argvars, typeval *retvar)); -static void f_maparg __ARGS((typeval *argvars, typeval *retvar)); -static void f_mapcheck __ARGS((typeval *argvars, typeval *retvar)); -static void get_maparg __ARGS((typeval *argvars, typeval *retvar, int exact)); -static void f_match __ARGS((typeval *argvars, typeval *retvar)); -static void f_matchend __ARGS((typeval *argvars, typeval *retvar)); -static void f_matchstr __ARGS((typeval *argvars, typeval *retvar)); -static void f_mode __ARGS((typeval *argvars, typeval *retvar)); -static void f_nextnonblank __ARGS((typeval *argvars, typeval *retvar)); -static void f_nr2char __ARGS((typeval *argvars, typeval *retvar)); -static void f_prevnonblank __ARGS((typeval *argvars, typeval *retvar)); -static void f_setbufvar __ARGS((typeval *argvars, typeval *retvar)); -static void f_setcmdpos __ARGS((typeval *argvars, typeval *retvar)); -static void f_setwinvar __ARGS((typeval *argvars, typeval *retvar)); -static void f_remove __ARGS((typeval *argvars, typeval *retvar)); -static void f_rename __ARGS((typeval *argvars, typeval *retvar)); -static void f_resolve __ARGS((typeval *argvars, typeval *retvar)); -static void f_search __ARGS((typeval *argvars, typeval *retvar)); -static void f_searchpair __ARGS((typeval *argvars, typeval *retvar)); +static void f_bufexists __ARGS((typeval *argvars, typeval *rettv)); +static void f_buflisted __ARGS((typeval *argvars, typeval *rettv)); +static void f_bufloaded __ARGS((typeval *argvars, typeval *rettv)); +static buf_T *get_buf_tv __ARGS((typeval *tv)); +static void f_bufname __ARGS((typeval *argvars, typeval *rettv)); +static void f_bufnr __ARGS((typeval *argvars, typeval *rettv)); +static void f_bufwinnr __ARGS((typeval *argvars, typeval *rettv)); +static void f_byte2line __ARGS((typeval *argvars, typeval *rettv)); +static void f_byteidx __ARGS((typeval *argvars, typeval *rettv)); +static void f_char2nr __ARGS((typeval *argvars, typeval *rettv)); +static void f_cindent __ARGS((typeval *argvars, typeval *rettv)); +static void f_col __ARGS((typeval *argvars, typeval *rettv)); +static void f_confirm __ARGS((typeval *argvars, typeval *rettv)); +static void f_copy __ARGS((typeval *argvars, typeval *rettv)); +static void f_cscope_connection __ARGS((typeval *argvars, typeval *rettv)); +static void f_cursor __ARGS((typeval *argsvars, typeval *rettv)); +static void f_deepcopy __ARGS((typeval *argvars, typeval *rettv)); +static void f_delete __ARGS((typeval *argvars, typeval *rettv)); +static void f_did_filetype __ARGS((typeval *argvars, typeval *rettv)); +static void f_diff_filler __ARGS((typeval *argvars, typeval *rettv)); +static void f_diff_hlID __ARGS((typeval *argvars, typeval *rettv)); +static void f_escape __ARGS((typeval *argvars, typeval *rettv)); +static void f_eventhandler __ARGS((typeval *argvars, typeval *rettv)); +static void f_executable __ARGS((typeval *argvars, typeval *rettv)); +static void f_exists __ARGS((typeval *argvars, typeval *rettv)); +static void f_expand __ARGS((typeval *argvars, typeval *rettv)); +static void f_filereadable __ARGS((typeval *argvars, typeval *rettv)); +static void f_filewritable __ARGS((typeval *argvars, typeval *rettv)); +static void f_finddir __ARGS((typeval *argvars, typeval *rettv)); +static void f_findfile __ARGS((typeval *argvars, typeval *rettv)); +static void f_findfilendir __ARGS((typeval *argvars, typeval *rettv, int dir)); +static void f_fnamemodify __ARGS((typeval *argvars, typeval *rettv)); +static void f_foldclosed __ARGS((typeval *argvars, typeval *rettv)); +static void f_foldclosedend __ARGS((typeval *argvars, typeval *rettv)); +static void foldclosed_both __ARGS((typeval *argvars, typeval *rettv, int end)); +static void f_foldlevel __ARGS((typeval *argvars, typeval *rettv)); +static void f_foldtext __ARGS((typeval *argvars, typeval *rettv)); +static void f_foldtextresult __ARGS((typeval *argvars, typeval *rettv)); +static void f_foreground __ARGS((typeval *argvars, typeval *rettv)); +static void f_function __ARGS((typeval *argvars, typeval *rettv)); +static void f_getbufvar __ARGS((typeval *argvars, typeval *rettv)); +static void f_getchar __ARGS((typeval *argvars, typeval *rettv)); +static void f_getcharmod __ARGS((typeval *argvars, typeval *rettv)); +static void f_getcmdline __ARGS((typeval *argvars, typeval *rettv)); +static void f_getcmdpos __ARGS((typeval *argvars, typeval *rettv)); +static void f_getcwd __ARGS((typeval *argvars, typeval *rettv)); +static void f_getfontname __ARGS((typeval *argvars, typeval *rettv)); +static void f_getfperm __ARGS((typeval *argvars, typeval *rettv)); +static void f_getfsize __ARGS((typeval *argvars, typeval *rettv)); +static void f_getftime __ARGS((typeval *argvars, typeval *rettv)); +static void f_getftype __ARGS((typeval *argvars, typeval *rettv)); +static void f_getline __ARGS((typeval *argvars, typeval *rettv)); +static void f_getreg __ARGS((typeval *argvars, typeval *rettv)); +static void f_getregtype __ARGS((typeval *argvars, typeval *rettv)); +static void f_getwinposx __ARGS((typeval *argvars, typeval *rettv)); +static void f_getwinposy __ARGS((typeval *argvars, typeval *rettv)); +static void f_getwinvar __ARGS((typeval *argvars, typeval *rettv)); +static void f_glob __ARGS((typeval *argvars, typeval *rettv)); +static void f_globpath __ARGS((typeval *argvars, typeval *rettv)); +static void f_has __ARGS((typeval *argvars, typeval *rettv)); +static void f_hasmapto __ARGS((typeval *argvars, typeval *rettv)); +static void f_histadd __ARGS((typeval *argvars, typeval *rettv)); +static void f_histdel __ARGS((typeval *argvars, typeval *rettv)); +static void f_histget __ARGS((typeval *argvars, typeval *rettv)); +static void f_histnr __ARGS((typeval *argvars, typeval *rettv)); +static void f_hlexists __ARGS((typeval *argvars, typeval *rettv)); +static void f_hlID __ARGS((typeval *argvars, typeval *rettv)); +static void f_hostname __ARGS((typeval *argvars, typeval *rettv)); +static void f_iconv __ARGS((typeval *argvars, typeval *rettv)); +static void f_indent __ARGS((typeval *argvars, typeval *rettv)); +static void f_insert __ARGS((typeval *argvars, typeval *rettv)); +static void f_isdirectory __ARGS((typeval *argvars, typeval *rettv)); +static void f_input __ARGS((typeval *argvars, typeval *rettv)); +static void f_inputdialog __ARGS((typeval *argvars, typeval *rettv)); +static void f_inputrestore __ARGS((typeval *argvars, typeval *rettv)); +static void f_inputsave __ARGS((typeval *argvars, typeval *rettv)); +static void f_inputsecret __ARGS((typeval *argvars, typeval *rettv)); +static void f_last_buffer_nr __ARGS((typeval *argvars, typeval *rettv)); +static void f_len __ARGS((typeval *argvars, typeval *rettv)); +static void f_libcall __ARGS((typeval *argvars, typeval *rettv)); +static void f_libcallnr __ARGS((typeval *argvars, typeval *rettv)); +static void libcall_common __ARGS((typeval *argvars, typeval *rettv, int type)); +static void f_line __ARGS((typeval *argvars, typeval *rettv)); +static void f_line2byte __ARGS((typeval *argvars, typeval *rettv)); +static void f_lispindent __ARGS((typeval *argvars, typeval *rettv)); +static void f_localtime __ARGS((typeval *argvars, typeval *rettv)); +static void f_maparg __ARGS((typeval *argvars, typeval *rettv)); +static void f_mapcheck __ARGS((typeval *argvars, typeval *rettv)); +static void get_maparg __ARGS((typeval *argvars, typeval *rettv, int exact)); +static void f_match __ARGS((typeval *argvars, typeval *rettv)); +static void f_matchend __ARGS((typeval *argvars, typeval *rettv)); +static void f_matchstr __ARGS((typeval *argvars, typeval *rettv)); +static void f_mode __ARGS((typeval *argvars, typeval *rettv)); +static void f_nextnonblank __ARGS((typeval *argvars, typeval *rettv)); +static void f_nr2char __ARGS((typeval *argvars, typeval *rettv)); +static void f_prevnonblank __ARGS((typeval *argvars, typeval *rettv)); +static void f_setbufvar __ARGS((typeval *argvars, typeval *rettv)); +static void f_setcmdpos __ARGS((typeval *argvars, typeval *rettv)); +static void f_setwinvar __ARGS((typeval *argvars, typeval *rettv)); +static void f_remove __ARGS((typeval *argvars, typeval *rettv)); +static void f_rename __ARGS((typeval *argvars, typeval *rettv)); +static void f_resolve __ARGS((typeval *argvars, typeval *rettv)); +static void f_search __ARGS((typeval *argvars, typeval *rettv)); +static void f_searchpair __ARGS((typeval *argvars, typeval *rettv)); static int get_search_arg __ARGS((typeval *varp, int *flagsp)); -static void f_remote_expr __ARGS((typeval *argvars, typeval *retvar)); -static void f_remote_foreground __ARGS((typeval *argvars, typeval *retvar)); -static void f_remote_peek __ARGS((typeval *argvars, typeval *retvar)); -static void f_remote_read __ARGS((typeval *argvars, typeval *retvar)); -static void f_remote_send __ARGS((typeval *argvars, typeval *retvar)); -static void f_repeat __ARGS((typeval *argvars, typeval *retvar)); -static void f_server2client __ARGS((typeval *argvars, typeval *retvar)); -static void f_serverlist __ARGS((typeval *argvars, typeval *retvar)); -static void f_setline __ARGS((typeval *argvars, typeval *retvar)); -static void f_setreg __ARGS((typeval *argvars, typeval *retvar)); -static void f_simplify __ARGS((typeval *argvars, typeval *retvar)); -static void find_some_match __ARGS((typeval *argvars, typeval *retvar, int start)); -static void f_strftime __ARGS((typeval *argvars, typeval *retvar)); -static void f_stridx __ARGS((typeval *argvars, typeval *retvar)); -static void f_string __ARGS((typeval *argvars, typeval *retvar)); -static void f_strlen __ARGS((typeval *argvars, typeval *retvar)); -static void f_strpart __ARGS((typeval *argvars, typeval *retvar)); -static void f_strridx __ARGS((typeval *argvars, typeval *retvar)); -static void f_strtrans __ARGS((typeval *argvars, typeval *retvar)); -static void f_synID __ARGS((typeval *argvars, typeval *retvar)); -static void f_synIDattr __ARGS((typeval *argvars, typeval *retvar)); -static void f_synIDtrans __ARGS((typeval *argvars, typeval *retvar)); -static void f_system __ARGS((typeval *argvars, typeval *retvar)); -static void f_submatch __ARGS((typeval *argvars, typeval *retvar)); -static void f_substitute __ARGS((typeval *argvars, typeval *retvar)); -static void f_tempname __ARGS((typeval *argvars, typeval *retvar)); -static void f_tolower __ARGS((typeval *argvars, typeval *retvar)); -static void f_toupper __ARGS((typeval *argvars, typeval *retvar)); -static void f_tr __ARGS((typeval *argvars, typeval *retvar)); -static void f_type __ARGS((typeval *argvars, typeval *retvar)); -static void f_virtcol __ARGS((typeval *argvars, typeval *retvar)); -static void f_visualmode __ARGS((typeval *argvars, typeval *retvar)); -static void f_winbufnr __ARGS((typeval *argvars, typeval *retvar)); -static void f_wincol __ARGS((typeval *argvars, typeval *retvar)); -static void f_winheight __ARGS((typeval *argvars, typeval *retvar)); -static void f_winline __ARGS((typeval *argvars, typeval *retvar)); -static void f_winnr __ARGS((typeval *argvars, typeval *retvar)); -static void f_winrestcmd __ARGS((typeval *argvars, typeval *retvar)); -static void f_winwidth __ARGS((typeval *argvars, typeval *retvar)); +static void f_remote_expr __ARGS((typeval *argvars, typeval *rettv)); +static void f_remote_foreground __ARGS((typeval *argvars, typeval *rettv)); +static void f_remote_peek __ARGS((typeval *argvars, typeval *rettv)); +static void f_remote_read __ARGS((typeval *argvars, typeval *rettv)); +static void f_remote_send __ARGS((typeval *argvars, typeval *rettv)); +static void f_repeat __ARGS((typeval *argvars, typeval *rettv)); +static void f_server2client __ARGS((typeval *argvars, typeval *rettv)); +static void f_serverlist __ARGS((typeval *argvars, typeval *rettv)); +static void f_setline __ARGS((typeval *argvars, typeval *rettv)); +static void f_setreg __ARGS((typeval *argvars, typeval *rettv)); +static void f_simplify __ARGS((typeval *argvars, typeval *rettv)); +static void find_some_match __ARGS((typeval *argvars, typeval *rettv, int start)); +static void f_strftime __ARGS((typeval *argvars, typeval *rettv)); +static void f_stridx __ARGS((typeval *argvars, typeval *rettv)); +static void f_string __ARGS((typeval *argvars, typeval *rettv)); +static void f_strlen __ARGS((typeval *argvars, typeval *rettv)); +static void f_strpart __ARGS((typeval *argvars, typeval *rettv)); +static void f_strridx __ARGS((typeval *argvars, typeval *rettv)); +static void f_strtrans __ARGS((typeval *argvars, typeval *rettv)); +static void f_synID __ARGS((typeval *argvars, typeval *rettv)); +static void f_synIDattr __ARGS((typeval *argvars, typeval *rettv)); +static void f_synIDtrans __ARGS((typeval *argvars, typeval *rettv)); +static void f_system __ARGS((typeval *argvars, typeval *rettv)); +static void f_submatch __ARGS((typeval *argvars, typeval *rettv)); +static void f_substitute __ARGS((typeval *argvars, typeval *rettv)); +static void f_tempname __ARGS((typeval *argvars, typeval *rettv)); +static void f_tolower __ARGS((typeval *argvars, typeval *rettv)); +static void f_toupper __ARGS((typeval *argvars, typeval *rettv)); +static void f_tr __ARGS((typeval *argvars, typeval *rettv)); +static void f_type __ARGS((typeval *argvars, typeval *rettv)); +static void f_virtcol __ARGS((typeval *argvars, typeval *rettv)); +static void f_visualmode __ARGS((typeval *argvars, typeval *rettv)); +static void f_winbufnr __ARGS((typeval *argvars, typeval *rettv)); +static void f_wincol __ARGS((typeval *argvars, typeval *rettv)); +static void f_winheight __ARGS((typeval *argvars, typeval *rettv)); +static void f_winline __ARGS((typeval *argvars, typeval *rettv)); +static void f_winnr __ARGS((typeval *argvars, typeval *rettv)); +static void f_winrestcmd __ARGS((typeval *argvars, typeval *rettv)); +static void f_winwidth __ARGS((typeval *argvars, typeval *rettv)); static win_T *find_win_by_nr __ARGS((typeval *vp)); static pos_T *var2fpos __ARGS((typeval *varp, int lnum)); static int get_env_len __ARGS((char_u **arg)); static int get_id_len __ARGS((char_u **arg)); static int get_func_len __ARGS((char_u **arg, char_u **alias, int evaluate)); -static char_u *find_name_end __ARGS((char_u *arg, char_u **expr_start, char_u **expr_end)); +static char_u *find_name_end __ARGS((char_u *arg, char_u **expr_start, char_u **expr_end, int incl_br)); static int eval_isnamec __ARGS((int c)); static int find_vim_var __ARGS((char_u *name, int len)); -static in |