/* 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. *//* * arglist.c: functions for dealing with the argument list */#include"vim.h"#define AL_SET 1#define AL_ADD 2#define AL_DEL 3// This flag is set whenever the argument list is being changed and calling a// function that might trigger an autocommand.staticintarglist_locked=FALSE;staticintcheck_arglist_locked(void){if(arglist_locked){emsg(_(e_cannot_change_arglist_recursively));returnFAIL;}returnOK;}/* * Clear an argument list: free all file names and reset it to zero entries. */voidalist_clear(alist_T*al){if(check_arglist_locked()==FAIL)return;while(--al->al_ga.ga_len>=0)vim_free(AARGLIST(al)[al->al_ga.ga_len].ae_fname);ga_clear(&al->al_ga);}/* * Init an argument list. */voidalist_init(alist_T*al){ga_init2(&al