diff options
Diffstat (limited to 'src/ex_cmds2.c')
| -rw-r--r-- | src/ex_cmds2.c | 355 | 
1 files changed, 156 insertions, 199 deletions
| diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 209fcddd67..dfda02ff19 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -12,7 +12,32 @@   */  #include "vim.h" -#include "version.h" +#include "version_defs.h" +#include "ex_cmds2.h" +#include "buffer.h" +#include "charset.h" +#include "eval.h" +#include "ex_cmds.h" +#include "ex_docmd.h" +#include "ex_eval.h" +#include "ex_getln.h" +#include "fileio.h" +#include "getchar.h" +#include "mark.h" +#include "mbyte.h" +#include "message.h" +#include "misc1.h" +#include "misc2.h" +#include "move.h" +#include "normal.h" +#include "option.h" +#include "os_unix.h" +#include "quickfix.h" +#include "regexp.h" +#include "screen.h" +#include "term.h" +#include "undo.h" +#include "window.h"  static void cmd_source __ARGS((char_u *fname, exarg_T *eap)); @@ -64,8 +89,7 @@ static int debug_greedy = FALSE;        /* batch mode debugging: don't save   * do_debug(): Debug mode.   * Repeatedly get Ex commands, until told to continue normal execution.   */ -void do_debug(cmd) -char_u      *cmd; +void do_debug(char_u *cmd)  {    int save_msg_scroll = msg_scroll;    int save_State = State; @@ -247,8 +271,7 @@ char_u      *cmd;  /*   * ":debug".   */ -void ex_debug(eap) -exarg_T     *eap; +void ex_debug(exarg_T *eap)  {    int debug_break_level_save = debug_break_level; @@ -277,8 +300,7 @@ static char_u   *debug_skipped_name;   * decide to execute something themselves.   * Called from do_one_cmd() before executing a command.   */ -void dbg_check_breakpoint(eap) -exarg_T     *eap; +void dbg_check_breakpoint(exarg_T *eap)  {    char_u      *p; @@ -317,8 +339,7 @@ exarg_T     *eap;   * Go to debug mode if skipped by dbg_check_breakpoint() because eap->skip was   * set.  Return TRUE when the debug mode is entered this time.   */ -int dbg_check_skipped(eap) -exarg_T     *eap; +int dbg_check_skipped(exarg_T *eap)  {    int prev_got_int; @@ -374,9 +395,11 @@ static linenr_T debuggy_find __ARGS((int file,char_u *fname, linenr_T after,   * is allocated.   * Returns FAIL for failure.   */ -static int dbg_parsearg(arg, gap) -char_u      *arg; -garray_T    *gap;           /* either &dbg_breakp or &prof_ga */ +static int  +dbg_parsearg ( +    char_u *arg, +    garray_T *gap           /* either &dbg_breakp or &prof_ga */ +)  {    char_u      *p = arg;    char_u      *q; @@ -456,8 +479,7 @@ garray_T    *gap;           /* either &dbg_breakp or &prof_ga */  /*   * ":breakadd".   */ -void ex_breakadd(eap) -exarg_T     *eap; +void ex_breakadd(exarg_T *eap)  {    struct debuggy *bp;    char_u      *pat; @@ -493,8 +515,7 @@ exarg_T     *eap;  /*   * ":debuggreedy".   */ -void ex_debuggreedy(eap) -exarg_T     *eap; +void ex_debuggreedy(exarg_T *eap)  {    if (eap->addr_count == 0 || eap->line2 != 0)      debug_greedy = TRUE; @@ -505,8 +526,7 @@ exarg_T     *eap;  /*   * ":breakdel" and ":profdel".   */ -void ex_breakdel(eap) -exarg_T     *eap; +void ex_breakdel(exarg_T *eap)  {    struct debuggy *bp, *bpi;    int nr; @@ -577,8 +597,7 @@ exarg_T     *eap;  /*   * ":breaklist".   */ -void ex_breaklist(eap) -exarg_T     *eap UNUSED; +void ex_breaklist(exarg_T *eap)  {    struct debuggy *bp;    int i; @@ -602,10 +621,12 @@ exarg_T     *eap UNUSED;   * Find a breakpoint for a function or sourced file.   * Returns line number at which to break; zero when no matching breakpoint.   */ -linenr_T dbg_find_breakpoint(file, fname, after) -int file;                   /* TRUE for a file, FALSE for a function */ -char_u      *fname;         /* file or function name */ -linenr_T after;             /* after this line number */ +linenr_T  +dbg_find_breakpoint ( +    int file,                   /* TRUE for a file, FALSE for a function */ +    char_u *fname,         /* file or function name */ +    linenr_T after             /* after this line number */ +)  {    return debuggy_find(file, fname, after, &dbg_breakp, NULL);  } @@ -613,10 +634,12 @@ linenr_T after;             /* after this line number */  /*   * Return TRUE if profiling is on for a function or sourced file.   */ -int has_profiling(file, fname, fp) -int file;                   /* TRUE for a file, FALSE for a function */ -char_u      *fname;         /* file or function name */ -int         *fp;            /* return: forceit */ +int  +has_profiling ( +    int file,                   /* TRUE for a file, FALSE for a function */ +    char_u *fname,         /* file or function name */ +    int *fp            /* return: forceit */ +)  {    return debuggy_find(file, fname, (linenr_T)0, &prof_ga, fp)           != (linenr_T)0; @@ -625,12 +648,14 @@ int         *fp;            /* return: forceit */  /*   * Common code for dbg_find_breakpoint() and has_profiling().   */ -static linenr_T debuggy_find(file, fname, after, gap, fp) -int file;                   /* TRUE for a file, FALSE for a function */ -char_u      *fname;         /* file or function name */ -linenr_T after;             /* after this line number */ -garray_T    *gap;           /* either &dbg_breakp or &prof_ga */ -int         *fp;            /* if not NULL: return forceit */ +static linenr_T  +debuggy_find ( +    int file,                   /* TRUE for a file, FALSE for a function */ +    char_u *fname,         /* file or function name */ +    linenr_T after,             /* after this line number */ +    garray_T *gap,           /* either &dbg_breakp or &prof_ga */ +    int *fp            /* if not NULL: return forceit */ +)  {    struct debuggy *bp;    int i; @@ -687,9 +712,7 @@ int         *fp;            /* if not NULL: return forceit */  /*   * Called when a breakpoint was encountered.   */ -void dbg_breakpoint(name, lnum) -char_u      *name; -linenr_T lnum; +void dbg_breakpoint(char_u *name, linenr_T lnum)  {    /* We need to check if this line is actually executed in do_one_cmd() */    debug_breakpoint_name = name; @@ -901,8 +924,7 @@ static proftime_T pause_time;  /*   * ":profile cmd args"   */ -void ex_profile(eap) -exarg_T     *eap; +void ex_profile(exarg_T *eap)  {    char_u      *e;    int len; @@ -960,9 +982,7 @@ static char *pexpand_cmds[] = {   * Function given to ExpandGeneric() to obtain the profile command   * specific expansion.   */ -char_u * get_profile_name(xp, idx) -expand_T    *xp UNUSED; -int idx; +char_u *get_profile_name(expand_T *xp, int idx)  {    switch (pexpand_what) {    case PEXP_SUBCMD: @@ -976,9 +996,7 @@ int idx;  /*   * Handle command line completion for :profile command.   */ -void set_context_in_profile_cmd(xp, arg) -expand_T    *xp; -char_u      *arg; +void set_context_in_profile_cmd(expand_T *xp, char_u *arg)  {    char_u      *end_subcmd; @@ -1004,7 +1022,7 @@ char_u      *arg;  /*   * Dump the profiling info.   */ -void profile_dump()          { +void profile_dump(void)          {    FILE        *fd;    if (profile_fname != NULL) { @@ -1022,8 +1040,7 @@ void profile_dump()          {  /*   * Start profiling script "fp".   */ -static void script_do_profile(si) -scriptitem_T    *si; +static void script_do_profile(scriptitem_T *si)  {    si->sn_pr_count = 0;    profile_zero(&si->sn_pr_total); @@ -1075,14 +1092,14 @@ static proftime_T inchar_time;  /*   * Called when starting to wait for the user to type a character.   */ -void prof_inchar_enter()          { +void prof_inchar_enter(void)          {    profile_start(&inchar_time);  }  /*   * Called when finished waiting for the user to type a character.   */ -void prof_inchar_exit()          { +void prof_inchar_exit(void)          {    profile_end(&inchar_time);    profile_add(&prof_wait_time, &inchar_time);  } @@ -1090,8 +1107,7 @@ void prof_inchar_exit()          {  /*   * Dump the profiling results for all scripts in file "fd".   */ -static void script_dump_profile(fd) -FILE    *fd; +static void script_dump_profile(FILE *fd)  {    int id;    scriptitem_T    *si; @@ -1142,7 +1158,7 @@ FILE    *fd;   * Return TRUE when a function defined in the current script should be   * profiled.   */ -int prof_def_func()         { +int prof_def_func(void)         {    if (current_SID > 0)      return SCRIPT_ITEM(current_SID).sn_pr_force;    return FALSE; @@ -1154,9 +1170,7 @@ int prof_def_func()         {   *   * return FAIL for failure, OK otherwise   */ -int autowrite(buf, forceit) -buf_T       *buf; -int forceit; +int autowrite(buf_T *buf, int forceit)  {    int r; @@ -1177,7 +1191,7 @@ int forceit;  /*   * flush all buffers, except the ones that are readonly   */ -void autowrite_all()          { +void autowrite_all(void)          {    buf_T       *buf;    if (!(p_aw || p_awa) || !p_write) @@ -1195,9 +1209,7 @@ void autowrite_all()          {   * Return TRUE if buffer was changed and cannot be abandoned.   * For flags use the CCGD_ values.   */ -int check_changed(buf, flags) -buf_T       *buf; -int flags; +int check_changed(buf_T *buf, int flags)  {    int forceit = (flags & CCGD_FORCEIT); @@ -1239,9 +1251,11 @@ int flags;   * Ask the user what to do when abandoning a changed buffer.   * Must check 'write' option first!   */ -void dialog_changed(buf, checkall) -buf_T       *buf; -int checkall;                   /* may abandon all changed buffers */ +void  +dialog_changed ( +    buf_T *buf, +    int checkall                   /* may abandon all changed buffers */ +)  {    char_u buff[DIALOG_MSG_SIZE];    int ret; @@ -1300,9 +1314,7 @@ int checkall;                   /* may abandon all changed buffers */   * Return TRUE if the buffer "buf" can be abandoned, either by making it   * hidden, autowriting it or unloading it.   */ -int can_abandon(buf, forceit) -buf_T       *buf; -int forceit; +int can_abandon(buf_T *buf, int forceit)  {    return P_HID(buf)           || !bufIsChanged(buf) @@ -1316,10 +1328,7 @@ static void add_bufnum __ARGS((int *bufnrs, int *bufnump, int nr));  /*   * Add a buffer number to "bufnrs", unless it's already there.   */ -static void add_bufnum(bufnrs, bufnump, nr) -int     *bufnrs; -int     *bufnump; -int nr; +static void add_bufnum(int *bufnrs, int *bufnump, int nr)  {    int i; @@ -1334,8 +1343,10 @@ int nr;   * Return TRUE if any buffer was changed and cannot be abandoned.   * That changed buffer becomes the current buffer.   */ -int check_changed_any(hidden) -int hidden;                     /* Only check hidden buffers */ +int  +check_changed_any ( +    int hidden                     /* Only check hidden buffers */ +)  {    int ret = FALSE;    buf_T       *buf; @@ -1440,7 +1451,7 @@ theend:   * return FAIL if there is no file name, OK if there is one   * give error message for FAIL   */ -int check_fname()         { +int check_fname(void)         {    if (curbuf->b_ffname == NULL) {      EMSG(_(e_noname));      return FAIL; @@ -1453,9 +1464,7 @@ int check_fname()         {   *   * return FAIL for failure, OK otherwise   */ -int buf_write_all(buf, forceit) -buf_T       *buf; -int forceit; +int buf_write_all(buf_T *buf, int forceit)  {    int retval;    buf_T       *old_curbuf = curbuf; @@ -1488,8 +1497,7 @@ static int alist_add_list __ARGS((int count, char_u **files, int after));   * Changes the argument in-place, puts a NUL after it.  Backticks remain.   * Return a pointer to the start of the next argument.   */ -static char_u * do_one_arg(str) -char_u *str; +static char_u *do_one_arg(char_u *str)  {    char_u      *p;    int inbacktick; @@ -1520,9 +1528,7 @@ char_u *str;   * Separate the arguments in "str" and return a list of pointers in the   * growarray "gap".   */ -int get_arglist(gap, str) -garray_T    *gap; -char_u      *str; +int get_arglist(garray_T *gap, char_u *str)  {    ga_init2(gap, (int)sizeof(char_u *), 20);    while (*str != NUL) { @@ -1543,11 +1549,7 @@ char_u      *str;   * "fnames[fcountp]".  When "wig" is TRUE, removes files matching 'wildignore'.   * Return FAIL or OK.   */ -int get_arglist_exp(str, fcountp, fnamesp, wig) -char_u      *str; -int         *fcountp; -char_u      ***fnamesp; -int wig; +int get_arglist_exp(char_u *str, int *fcountp, char_u ***fnamesp, int wig)  {    garray_T ga;    int i; @@ -1573,10 +1575,12 @@ int wig;   *   * Return FAIL for failure, OK otherwise.   */ -static int do_arglist(str, what, after) -char_u      *str; -int what UNUSED; -int after UNUSED;                       /* 0 means before first one */ +static int  +do_arglist ( +    char_u *str, +    int what, +    int after                       /* 0 means before first one */ +)  {    garray_T new_ga;    int exp_count; @@ -1657,7 +1661,7 @@ int after UNUSED;                       /* 0 means before first one */  /*   * Check the validity of the arg_idx for each other window.   */ -static void alist_check_arg_idx()                 { +static void alist_check_arg_idx(void)                 {    win_T       *win;    tabpage_T   *tp; @@ -1670,8 +1674,7 @@ static void alist_check_arg_idx()                 {   * Return TRUE if window "win" is editing the file at the current argument   * index.   */ -static int editing_arg_idx(win) -win_T       *win; +static int editing_arg_idx(win_T *win)  {    return !(win->w_arg_idx >= WARGCOUNT(win)             || (win->w_buffer->b_fnum @@ -1685,8 +1688,7 @@ win_T       *win;  /*   * Check if window "win" is editing the w_arg_idx file in its argument list.   */ -void check_arg_idx(win) -win_T       *win; +void check_arg_idx(win_T *win)  {    if (WARGCOUNT(win) > 1 && !editing_arg_idx(win)) {      /* We are not editing the current entry in the argument list. @@ -1716,8 +1718,7 @@ win_T       *win;  /*   * ":args", ":argslocal" and ":argsglobal".   */ -void ex_args(eap) -exarg_T     *eap; +void ex_args(exarg_T *eap)  {    int i; @@ -1773,8 +1774,7 @@ exarg_T     *eap;  /*   * ":previous", ":sprevious", ":Next" and ":sNext".   */ -void ex_previous(eap) -exarg_T     *eap; +void ex_previous(exarg_T *eap)  {    /* If past the last one already, go to the last one. */    if (curwin->w_arg_idx - (int)eap->line2 >= ARGCOUNT) @@ -1786,8 +1786,7 @@ exarg_T     *eap;  /*   * ":rewind", ":first", ":sfirst" and ":srewind".   */ -void ex_rewind(eap) -exarg_T     *eap; +void ex_rewind(exarg_T *eap)  {    do_argfile(eap, 0);  } @@ -1795,8 +1794,7 @@ exarg_T     *eap;  /*   * ":last" and ":slast".   */ -void ex_last(eap) -exarg_T     *eap; +void ex_last(exarg_T *eap)  {    do_argfile(eap, ARGCOUNT - 1);  } @@ -1804,8 +1802,7 @@ exarg_T     *eap;  /*   * ":argument" and ":sargument".   */ -void ex_argument(eap) -exarg_T     *eap; +void ex_argument(exarg_T *eap)  {    int i; @@ -1819,9 +1816,7 @@ exarg_T     *eap;  /*   * Edit file "argn" of the argument lists.   */ -void do_argfile(eap, argn) -exarg_T     *eap; -int argn; +void do_argfile(exarg_T *eap, int argn)  {    int other;    char_u      *p; @@ -1884,8 +1879,7 @@ int argn;  /*   * ":next", and commands that behave like it.   */ -void ex_next(eap) -exarg_T     *eap; +void ex_next(exarg_T *eap)  {    int i; @@ -1911,8 +1905,7 @@ exarg_T     *eap;  /*   * ":argedit"   */ -void ex_argedit(eap) -exarg_T     *eap; +void ex_argedit(exarg_T *eap)  {    int fnum;    int i; @@ -1946,8 +1939,7 @@ exarg_T     *eap;  /*   * ":argadd"   */ -void ex_argadd(eap) -exarg_T     *eap; +void ex_argadd(exarg_T *eap)  {    do_arglist(eap->arg, AL_ADD,        eap->addr_count > 0 ? (int)eap->line2 : curwin->w_arg_idx + 1); @@ -1957,8 +1949,7 @@ exarg_T     *eap;  /*   * ":argdelete"   */ -void ex_argdelete(eap) -exarg_T     *eap; +void ex_argdelete(exarg_T *eap)  {    int i;    int n; @@ -1991,8 +1982,7 @@ exarg_T     *eap;  /*   * ":argdo", ":windo", ":bufdo", ":tabdo"   */ -void ex_listdo(eap) -exarg_T     *eap; +void ex_listdo(exarg_T *eap)  {    int i;    win_T       *wp; @@ -2120,10 +2110,12 @@ exarg_T     *eap;   * Files[] itself is not taken over.   * Returns index of first added argument.  Returns -1 when failed (out of mem).   */ -static int alist_add_list(count, files, after) -int count; -char_u      **files; -int after;                  /* where to add: 0 = before first one */ +static int  +alist_add_list ( +    int count, +    char_u **files, +    int after                  /* where to add: 0 = before first one */ +)  {    int i; @@ -2154,8 +2146,7 @@ int after;                  /* where to add: 0 = before first one */  /*   * ":compiler[!] {name}"   */ -void ex_compiler(eap) -exarg_T     *eap; +void ex_compiler(exarg_T *eap)  {    char_u      *buf;    char_u      *old_cur_comp = NULL; @@ -2216,17 +2207,14 @@ exarg_T     *eap;  /*   * ":runtime {name}"   */ -void ex_runtime(eap) -exarg_T     *eap; +void ex_runtime(exarg_T *eap)  {    source_runtime(eap->arg, eap->forceit);  }  static void source_callback __ARGS((char_u *fname, void *cookie)); -static void source_callback(fname, cookie) -char_u      *fname; -void        *cookie UNUSED; +static void source_callback(char_u *fname, void *cookie)  {    (void)do_source(fname, FALSE, DOSO_NONE);  } @@ -2237,9 +2225,7 @@ void        *cookie UNUSED;   * When "all" is TRUE, source all files, otherwise only the first one.   * return FAIL when no file could be sourced, OK otherwise.   */ -int source_runtime(name, all) -char_u      *name; -int all; +int source_runtime(char_u *name, int all)  {    return do_in_runtimepath(name, all, source_callback, NULL);  } @@ -2339,8 +2325,7 @@ void        *cookie;  /*   * ":options"   */ -void ex_options(eap) -exarg_T     *eap UNUSED; +void ex_options(exarg_T *eap)  {    cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);  } @@ -2348,15 +2333,12 @@ exarg_T     *eap UNUSED;  /*   * ":source {fname}"   */ -void ex_source(eap) -exarg_T     *eap; +void ex_source(exarg_T *eap)  {    cmd_source(eap->arg, eap);  } -static void cmd_source(fname, eap) -char_u      *fname; -exarg_T     *eap; +static void cmd_source(char_u *fname, exarg_T *eap)  {    if (*fname == NUL)      EMSG(_(e_argreq)); @@ -2406,8 +2388,7 @@ struct source_cookie {  /*   * Return the address holding the next breakpoint line for a source cookie.   */ -linenr_T * source_breakpoint(cookie) -void *cookie; +linenr_T *source_breakpoint(void *cookie)  {    return &((struct source_cookie *)cookie)->breakpoint;  } @@ -2415,8 +2396,7 @@ void *cookie;  /*   * Return the address holding the debug tick for a source cookie.   */ -int * source_dbg_tick(cookie) -void *cookie; +int *source_dbg_tick(void *cookie)  {    return &((struct source_cookie *)cookie)->dbg_tick;  } @@ -2424,8 +2404,7 @@ void *cookie;  /*   * Return the nesting level for a source cookie.   */ -int source_level(cookie) -void *cookie; +int source_level(void *cookie)  {    return ((struct source_cookie *)cookie)->level;  } @@ -2440,8 +2419,7 @@ static FILE *fopen_noinh_readbin __ARGS((char *filename));   * Special function to open a file without handle inheritance.   * When possible the handle is closed on exec().   */ -static FILE * fopen_noinh_readbin(filename) -char    *filename; +static FILE *fopen_noinh_readbin(char *filename)  {    int fd_tmp = mch_open(filename, O_RDONLY, 0); @@ -2468,10 +2446,12 @@ char    *filename;   *   * return FAIL if file could not be opened, OK otherwise   */ -int do_source(fname, check_other, is_vimrc) -char_u      *fname; -int check_other;                    /* check for .vimrc and _vimrc */ -int is_vimrc;                       /* DOSO_ value */ +int  +do_source ( +    char_u *fname, +    int check_other,                    /* check for .vimrc and _vimrc */ +    int is_vimrc                       /* DOSO_ value */ +)  {    struct source_cookie cookie;    char_u                  *save_sourcing_name; @@ -2773,8 +2753,7 @@ theend:  /*   * ":scriptnames"   */ -void ex_scriptnames(eap) -exarg_T     *eap UNUSED; +void ex_scriptnames(exarg_T *eap)  {    int i; @@ -2790,7 +2769,7 @@ exarg_T     *eap UNUSED;  /*   * Fix slashes in the list of script names for 'shellslash'.   */ -void scriptnames_slash_adjust()          { +void scriptnames_slash_adjust(void)          {    int i;    for (i = 1; i <= script_items.ga_len; ++i) @@ -2803,8 +2782,7 @@ void scriptnames_slash_adjust()          {  /*   * Get a pointer to a script name.  Used for ":verbose set".   */ -char_u * get_scriptname(id) -scid_T id; +char_u *get_scriptname(scid_T id)  {    if (id == SID_MODELINE)      return (char_u *)_("modeline"); @@ -2820,7 +2798,7 @@ scid_T id;  }  # if defined(EXITFREE) || defined(PROTO) -void free_scriptnames()          { +void free_scriptnames(void)          {    int i;    for (i = script_items.ga_len; i > 0; --i) @@ -2840,10 +2818,7 @@ void free_scriptnames()          {   * Test with earlier versions, MSL 2.2 is the library supplied with   * Codewarrior Pro 2.   */ -char * fgets_cr(s, n, stream) -char        *s; -int n; -FILE        *stream; +char *fgets_cr(char *s, int n, FILE *stream)  {    return fgets(s, n, stream);  } @@ -2854,10 +2829,7 @@ FILE        *stream;   * For older versions of the Metrowerks library.   * At least CodeWarrior 9 needed this code.   */ -char * fgets_cr(s, n, stream) -char        *s; -int n; -FILE        *stream; +char *fgets_cr(char *s, int n, FILE *stream)  {    int c = 0;    int char_read = 0; @@ -2893,10 +2865,7 @@ FILE        *stream;   * Return a pointer to the line in allocated memory.   * Return NULL for end-of-file or some error.   */ -char_u * getsourceline(c, cookie, indent) -int c UNUSED; -void        *cookie; -int indent UNUSED; +char_u *getsourceline(int c, void *cookie, int indent)  {    struct source_cookie *sp = (struct source_cookie *)cookie;    char_u              *line; @@ -2987,8 +2956,7 @@ int indent UNUSED;    return line;  } -static char_u * get_one_sourceline(sp) -struct source_cookie    *sp; +static char_u *get_one_sourceline(struct source_cookie *sp)  {    garray_T ga;    int len; @@ -3126,7 +3094,7 @@ struct source_cookie    *sp;   * When skipping lines it may not actually be executed, but we won't find out   * until later and we need to store the time now.   */ -void script_line_start()          { +void script_line_start(void)          {    scriptitem_T    *si;    sn_prl_T        *pp; @@ -3157,7 +3125,7 @@ void script_line_start()          {  /*   * Called when actually executing a function line.   */ -void script_line_exec()          { +void script_line_exec(void)          {    scriptitem_T    *si;    if (current_SID <= 0 || current_SID > script_items.ga_len) @@ -3170,7 +3138,7 @@ void script_line_exec()          {  /*   * Called when done with a function line.   */ -void script_line_end()          { +void script_line_end(void)          {    scriptitem_T    *si;    sn_prl_T        *pp; @@ -3196,8 +3164,7 @@ void script_line_end()          {   * ":scriptencoding": Set encoding conversion for a sourced script.   * Without the multi-byte feature it's simply ignored.   */ -void ex_scriptencoding(eap) -exarg_T     *eap UNUSED; +void ex_scriptencoding(exarg_T *eap)  {    struct source_cookie        *sp;    char_u                      *name; @@ -3225,8 +3192,7 @@ exarg_T     *eap UNUSED;  /*   * ":finish": Mark a sourced file as finished.   */ -void ex_finish(eap) -exarg_T     *eap; +void ex_finish(exarg_T *eap)  {    if (getline_equal(eap->getline, eap->cookie, getsourceline))      do_finish(eap, FALSE); @@ -3239,9 +3205,7 @@ exarg_T     *eap;   * Also called for a pending finish at the ":endtry" or after returning from   * an extra do_cmdline().  "reanimate" is used in the latter case.   */ -void do_finish(eap, reanimate) -exarg_T     *eap; -int reanimate; +void do_finish(exarg_T *eap, int reanimate)  {    int idx; @@ -3282,8 +3246,7 @@ void        *cookie;  /*   * ":checktime [buffer]"   */ -void ex_checktime(eap) -exarg_T     *eap; +void ex_checktime(exarg_T *eap)  {    buf_T       *buf;    int save_no_check_timestamps = no_check_timestamps; @@ -3304,8 +3267,7 @@ exarg_T     *eap;  # define HAVE_GET_LOCALE_VAL  static char *get_locale_val __ARGS((int what)); -static char * get_locale_val(what) -int what; +static char *get_locale_val(int what)  {    char        *loc; @@ -3324,7 +3286,7 @@ int what;   * Obtain the current messages language.  Used to set the default for   * 'helplang'.  May return NULL or an empty string.   */ -char_u * get_mess_lang()              { +char_u *get_mess_lang(void)              {    char_u *p;  # ifdef HAVE_GET_LOCALE_VAL @@ -3355,7 +3317,7 @@ static char_u *get_mess_env __ARGS((void));  /*   * Get the language used for messages from the environment.   */ -static char_u * get_mess_env()                     { +static char_u *get_mess_env(void)                     {    char_u      *p;    p = mch_getenv((char_u *)"LC_ALL"); @@ -3381,7 +3343,7 @@ static char_u * get_mess_env()                     {   * Set the "v:lang" variable according to the current locale setting.   * Also do "v:lc_time"and "v:ctype".   */ -void set_lang_var()          { +void set_lang_var(void)          {    char_u      *loc;  # ifdef HAVE_GET_LOCALE_VAL @@ -3411,8 +3373,7 @@ void set_lang_var()          {  /*   * ":language":  Set the language (locale).   */ -void ex_language(eap) -exarg_T     *eap; +void ex_language(exarg_T *eap)  {    char        *loc;    char_u      *p; @@ -3519,7 +3480,7 @@ static char_u **find_locales __ARGS((void));  /*   * Lazy initialization of all available locales.   */ -static void init_locales()                 { +static void init_locales(void)                 {    if (!did_init_locales) {      did_init_locales = TRUE;      locales = find_locales(); @@ -3528,7 +3489,7 @@ static void init_locales()                 {  /* Return an array of strings for all available locales + NULL for the   * last element.  Return NULL in case of error. */ -static char_u ** find_locales()                      { +static char_u **find_locales(void)                      {    garray_T locales_ga;    char_u      *loc; @@ -3564,7 +3525,7 @@ static char_u ** find_locales()                      {  }  #  if defined(EXITFREE) || defined(PROTO) -void free_locales()          { +void free_locales(void)          {    int i;    if (locales != NULL) {      for (i = 0; locales[i] != NULL; i++) @@ -3580,9 +3541,7 @@ void free_locales()          {   * Function given to ExpandGeneric() to obtain the possible arguments of the   * ":language" command.   */ -char_u * get_lang_arg(xp, idx) -expand_T    *xp UNUSED; -int idx; +char_u *get_lang_arg(expand_T *xp, int idx)  {    if (idx == 0)      return (char_u *)"messages"; @@ -3600,9 +3559,7 @@ int idx;  /*   * Function given to ExpandGeneric() to obtain the available locales.   */ -char_u * get_locales(xp, idx) -expand_T    *xp UNUSED; -int idx; +char_u *get_locales(expand_T *xp, int idx)  {    init_locales();    if (locales == NULL) | 
