changeset 7817:83861277e6a3 v7.4.1205

commit https://github.com/vim/vim/commit/7454a06e2642d2b37afad1c5e71cec68081ca4ff Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 30 15:14:10 2016 +0100 patch 7.4.1205 Problem: Using old style function declarations. Solution: Change to new style function declarations. (script by Hirohito Higashi)
author Christian Brabandt <cb@256bit.org>
date Sat, 30 Jan 2016 15:15:05 +0100
parents fb4674285a7a
children 19dfb097d82d
files src/arabic.c src/blowfish.c src/buffer.c src/channel.c src/charset.c src/crypt.c src/crypt_zip.c src/diff.c src/digraph.c src/edit.c src/eval.c src/version.c
diffstat 12 files changed, 1713 insertions(+), 2909 deletions(-) [+]
line wrap: on
line diff
--- a/src/arabic.c
+++ b/src/arabic.c
@@ -43,8 +43,7 @@ static int  A_is_special(int c);
  * Returns True if c is an ISO-8859-6 shaped ARABIC letter (user entered)
  */
     static int
-A_is_a(cur_c)
-    int cur_c;
+A_is_a(int cur_c)
 {
     switch (cur_c)
     {
@@ -96,8 +95,7 @@ A_is_a(cur_c)
  * Returns True if c is an Isolated Form-B ARABIC letter
  */
     static int
-A_is_s(cur_c)
-    int cur_c;
+A_is_s(int cur_c)
 {
     switch (cur_c)
     {
@@ -148,8 +146,7 @@ A_is_s(cur_c)
  * Returns True if c is a Final shape of an ARABIC letter
  */
     static int
-A_is_f(cur_c)
-    int cur_c;
+A_is_f(int cur_c)
 {
     switch (cur_c)
     {
@@ -202,8 +199,7 @@ A_is_f(cur_c)
  * Change shape - from ISO-8859-6/Isolated to Form-B Isolated
  */
     static int
-chg_c_a2s(cur_c)
-    int cur_c;
+chg_c_a2s(int cur_c)
 {
     int tempc;
 
@@ -332,8 +328,7 @@ chg_c_a2s(cur_c)
  * Change shape - from ISO-8859-6/Isolated to Initial
  */
     static int
-chg_c_a2i(cur_c)
-    int cur_c;
+chg_c_a2i(int cur_c)
 {
     int tempc;
 
@@ -462,8 +457,7 @@ chg_c_a2i(cur_c)
  * Change shape - from ISO-8859-6/Isolated to Medial
  */
     static int
-chg_c_a2m(cur_c)
-    int cur_c;
+chg_c_a2m(int cur_c)
 {
     int tempc;
 
@@ -592,8 +586,7 @@ chg_c_a2m(cur_c)
  * Change shape - from ISO-8859-6/Isolated to final
  */
     static int
-chg_c_a2f(cur_c)
-    int cur_c;
+chg_c_a2f(int cur_c)
 {
     int tempc;
 
@@ -732,8 +725,7 @@ chg_c_a2f(cur_c)
  * Change shape - from Initial to Medial
  */
     static int
-chg_c_i2m(cur_c)
-    int cur_c;
+chg_c_i2m(int cur_c)
 {
     int tempc;
 
@@ -820,8 +812,7 @@ chg_c_i2m(cur_c)
  * Change shape - from Final to Medial
  */
     static int
-chg_c_f2m(cur_c)
-    int cur_c;
+chg_c_f2m(int cur_c)
 {
     int tempc;
 
@@ -930,8 +921,7 @@ chg_c_f2m(cur_c)
  * Change shape - from Combination (2 char) to an Isolated
  */
     static int
-chg_c_laa2i(hid_c)
-    int hid_c;
+chg_c_laa2i(int hid_c)
 {
     int tempc;
 
@@ -961,8 +951,7 @@ chg_c_laa2i(hid_c)
  * Change shape - from Combination-Isolated to Final
  */
     static int
-chg_c_laa2f(hid_c)
-    int hid_c;
+chg_c_laa2f(int hid_c)
 {
     int tempc;
 
@@ -991,8 +980,7 @@ chg_c_laa2f(hid_c)
  * Do "half-shaping" on character "c".  Return zero if no shaping.
  */
     static int
-half_shape(c)
-    int		c;
+half_shape(int c)
 {
     if (A_is_a(c))
 	return chg_c_a2i(c);
@@ -1011,13 +999,13 @@ half_shape(c)
  * in:     "next_c"  is the next character (not shaped).
  */
     int
-arabic_shape(c, ccp, c1p, prev_c, prev_c1, next_c)
-    int		c;
-    int		*ccp;
-    int		*c1p;
-    int		prev_c;
-    int		prev_c1;
-    int		next_c;
+arabic_shape(
+    int		c,
+    int		*ccp,
+    int		*c1p,
+    int		prev_c,
+    int		prev_c1,
+    int		next_c)
 {
     int		curr_c;
     int		shape_c;
@@ -1082,9 +1070,9 @@ arabic_shape(c, ccp, c1p, prev_c, prev_c
  * A_firstc_laa returns first character of LAA combination if it exists
  */
     static int
-A_firstc_laa(c, c1)
-    int c;	/* base character */
-    int c1;	/* first composing character */
+A_firstc_laa(
+    int c,	/* base character */
+    int c1)	/* first composing character */
 {
     if (c1 != NUL && c == a_LAM && !A_is_harakat(c1))
 	return c1;
@@ -1097,8 +1085,7 @@ A_firstc_laa(c, c1)
  *		(harakat/tanween)
  */
     static int
-A_is_harakat(c)
-    int c;
+A_is_harakat(int c)
 {
     return (c >= a_FATHATAN && c <= a_SUKUN);
 }
@@ -1109,8 +1096,7 @@ A_is_harakat(c)
  *		(alphabet/number/punctuation)
  */
     static int
-A_is_iso(c)
-    int c;
+A_is_iso(int c)
 {
     return ((c >= a_HAMZA && c <= a_GHAIN)
 	    || (c >= a_TATWEEL && c <= a_HAMZA_BELOW)
@@ -1123,8 +1109,7 @@ A_is_iso(c)
  *		(alphabet/number/punctuation)
  */
     static int
-A_is_formb(c)
-    int c;
+A_is_formb(int c)
 {
     return ((c >= a_s_FATHATAN && c <= a_s_DAMMATAN)
 	    || c == a_s_KASRATAN
@@ -1137,8 +1122,7 @@ A_is_formb(c)
  * A_is_ok returns TRUE if 'c' is an Arabic 10646 (8859-6 or Form-B)
  */
     static int
-A_is_ok(c)
-    int c;
+A_is_ok(int c)
 {
     return (A_is_iso(c) || A_is_formb(c));
 }
@@ -1149,8 +1133,7 @@ A_is_ok(c)
  *		with some exceptions/exclusions
  */
     static int
-A_is_valid(c)
-    int c;
+A_is_valid(int c)
 {
     return (A_is_ok(c) && !A_is_special(c));
 }
@@ -1161,8 +1144,7 @@ A_is_valid(c)
  *		Specials don't adhere to most of the rules.
  */
     static int
-A_is_special(c)
-    int c;
+A_is_special(int c)
 {
     return (c == a_HAMZA || c == a_s_HAMZA);
 }
--- a/src/blowfish.c
+++ b/src/blowfish.c
@@ -348,10 +348,10 @@ static UINT32_T sbx_init[4][256] = {
     bfs->sbx[3][xr & 0xFF];
 
     static void
-bf_e_block(bfs, p_xl, p_xr)
-    bf_state_T *bfs;
-    UINT32_T *p_xl;
-    UINT32_T *p_xr;
+bf_e_block(
+    bf_state_T *bfs,
+    UINT32_T *p_xl,
+    UINT32_T *p_xr)
 {
     UINT32_T temp;
     UINT32_T xl = *p_xl;
@@ -384,9 +384,9 @@ bf_e_block(bfs, p_xl, p_xr)
 #endif
 
     static void
-bf_e_cblock(bfs, block)
-    bf_state_T *bfs;
-    char_u *block;
+bf_e_cblock(
+    bf_state_T *bfs,
+    char_u *block)
 {
     block8	bk;
 
@@ -404,11 +404,11 @@ bf_e_cblock(bfs, block)
  * "salt[salt_len]" as the salt.
  */
     static void
-bf_key_init(bfs, password, salt, salt_len)
-    bf_state_T	*bfs;
-    char_u	*password;
-    char_u	*salt;
-    int		salt_len;
+bf_key_init(
+    bf_state_T	*bfs,
+    char_u	*password,
+    char_u	*salt,
+    int		salt_len)
 {
     int      i, j, keypos = 0;
     unsigned u;
@@ -470,10 +470,10 @@ bf_key_init(bfs, password, salt, salt_le
  * Blowfish self-test for corrupted tables or instructions.
  */
     static int
-bf_check_tables(pax, sbx, val)
-    UINT32_T pax[18];
-    UINT32_T sbx[4][256];
-    UINT32_T val;
+bf_check_tables(
+    UINT32_T pax[18],
+    UINT32_T sbx[4][256],
+    UINT32_T val)
 {
     int i, j;
     UINT32_T c = 0;
@@ -514,7 +514,7 @@ static struct_bf_test_data bf_test_data[
  * Return FAIL when there is something wrong with blowfish encryption.
  */
     static int
-bf_self_test()
+bf_self_test(void)
 {
     int    i, bn;
     int    err = 0;
@@ -566,10 +566,10 @@ bf_self_test()
  * Initialize with seed "seed[seed_len]".
  */
     static void
-bf_cfb_init(bfs, seed, seed_len)
-    bf_state_T	*bfs;
-    char_u	*seed;
-    int		seed_len;
+bf_cfb_init(
+    bf_state_T	*bfs,
+    char_u	*seed,
+    int		seed_len)
 {
     int i, mi;
 
@@ -602,11 +602,11 @@ bf_cfb_init(bfs, seed, seed_len)
  * "from" and "to" can be equal to encrypt in place.
  */
     void
-crypt_blowfish_encode(state, from, len, to)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	*to;
+crypt_blowfish_encode(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	*to)
 {
     bf_state_T *bfs = state->method_state;
     size_t	i;
@@ -625,11 +625,11 @@ crypt_blowfish_encode(state, from, len, 
  * Decrypt "from[len]" into "to[len]".
  */
     void
-crypt_blowfish_decode(state, from, len, to)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	*to;
+crypt_blowfish_decode(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	*to)
 {
     bf_state_T *bfs = state->method_state;
     size_t	i;
@@ -644,13 +644,13 @@ crypt_blowfish_decode(state, from, len, 
 }
 
     void
-crypt_blowfish_init(state, key, salt, salt_len, seed, seed_len)
-    cryptstate_T	*state;
-    char_u*		key;
-    char_u*		salt;
-    int			salt_len;
-    char_u*		seed;
-    int			seed_len;
+crypt_blowfish_init(
+    cryptstate_T	*state,
+    char_u*		key,
+    char_u*		salt,
+    int			salt_len,
+    char_u*		seed,
+    int			seed_len)
 {
     bf_state_T	*bfs = (bf_state_T *)alloc_clear(sizeof(bf_state_T));
 
@@ -672,7 +672,7 @@ crypt_blowfish_init(state, key, salt, sa
  * Give an error and return FAIL when not.
  */
     int
-blowfish_self_test()
+blowfish_self_test(void)
 {
     if (sha256_self_test() == FAIL)
     {
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -73,10 +73,10 @@ static char *e_auabort = N_("E855: Autoc
  * Return FAIL for failure, OK otherwise.
  */
     int
-open_buffer(read_stdin, eap, flags)
-    int		read_stdin;	    /* read file from stdin */
-    exarg_T	*eap;		    /* for forced 'ff' and 'fenc' or NULL */
-    int		flags;		    /* extra flags for readfile() */
+open_buffer(
+    int		read_stdin,	    /* read file from stdin */
+    exarg_T	*eap,		    /* for forced 'ff' and 'fenc' or NULL */
+    int		flags)		    /* extra flags for readfile() */
 {
     int		retval = OK;
 #ifdef FEAT_AUTOCMD
@@ -307,8 +307,7 @@ open_buffer(read_stdin, eap, flags)
  * Return TRUE if "buf" points to a valid buffer (in the buffer list).
  */
     int
-buf_valid(buf)
-    buf_T	*buf;
+buf_valid(buf_T *buf)
 {
     buf_T	*bp;
 
@@ -336,11 +335,11 @@ buf_valid(buf)
  * supposed to close the window but autocommands close all other windows.
  */
     void
-close_buffer(win, buf, action, abort_if_last)
-    win_T	*win;		/* if not NULL, set b_last_cursor */
-    buf_T	*buf;
-    int		action;
-    int		abort_if_last UNUSED;
+close_buffer(
+    win_T	*win,		/* if not NULL, set b_last_cursor */
+    buf_T	*buf,
+    int		action,
+    int		abort_if_last UNUSED)
 {
 #ifdef FEAT_AUTOCMD
     int		is_curbuf;
@@ -538,8 +537,7 @@ aucmd_abort:
  * Make buffer not contain a file.
  */
     void
-buf_clear_file(buf)
-    buf_T	*buf;
+buf_clear_file(buf_T *buf)
 {
     buf->b_ml.ml_line_count = 1;
     unchanged(buf, TRUE);
@@ -567,9 +565,7 @@ buf_clear_file(buf)
  * BFA_KEEP_UNDO  do not free undo information
  */
     void
-buf_freeall(buf, flags)
-    buf_T	*buf;
-    int		flags;
+buf_freeall(buf_T *buf, int flags)
 {
 #ifdef FEAT_AUTOCMD
     int		is_curbuf = (buf == curbuf);
@@ -653,8 +649,7 @@ buf_freeall(buf, flags)
  * itself (not the file, that must have been done already).
  */
     static void
-free_buffer(buf)
-    buf_T	*buf;
+free_buffer(buf_T *buf)
 {
     free_buffer_stuff(buf, TRUE);
 #ifdef FEAT_EVAL
@@ -696,9 +691,9 @@ free_buffer(buf)
  * Free stuff in the buffer for ":bdel" and when wiping out the buffer.
  */
     static void
-free_buffer_stuff(buf, free_options)
-    buf_T	*buf;
-    int		free_options;		/* free options as well */
+free_buffer_stuff(
+    buf_T	*buf,
+    int		free_options)		/* free options as well */
 {
     if (free_options)
     {
@@ -735,8 +730,7 @@ free_buffer_stuff(buf, free_options)
  * Free the b_wininfo list for buffer "buf".
  */
     static void
-clear_wininfo(buf)
-    buf_T	*buf;
+clear_wininfo(buf_T *buf)
 {
     wininfo_T	*wip;
 
@@ -760,11 +754,11 @@ clear_wininfo(buf)
  * Go to another buffer.  Handles the result of the ATTENTION dialog.
  */
     void
-goto_buffer(eap, start, dir, count)
-    exarg_T	*eap;
-    int		start;
-    int		dir;
-    int		count;
+goto_buffer(
+    exarg_T	*eap,
+    int		start,
+    int		dir,
+    int		count)
 {
 # if defined(FEAT_WINDOWS) && defined(HAS_SWAP_EXISTS_ACTION)
     buf_T	*old_curbuf = curbuf;
@@ -807,8 +801,7 @@ goto_buffer(eap, start, dir, count)
  * It is allowed for "old_curbuf" to be NULL or invalid.
  */
     void
-handle_swap_exists(old_curbuf)
-    buf_T	*old_curbuf;
+handle_swap_exists(buf_T *old_curbuf)
 {
 # if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
     cleanup_T	cs;
@@ -889,13 +882,13 @@ handle_swap_exists(old_curbuf)
  * Returns error message or NULL
  */
     char_u *
-do_bufdel(command, arg, addr_count, start_bnr, end_bnr, forceit)
-    int		command;
-    char_u	*arg;		/* pointer to extra arguments */
-    int		addr_count;
-    int		start_bnr;	/* first buffer number in a range */
-    int		end_bnr;	/* buffer nr or last buffer nr in a range */
-    int		forceit;
+do_bufdel(
+    int		command,
+    char_u	*arg,		/* pointer to extra arguments */
+    int		addr_count,
+    int		start_bnr,	/* first buffer number in a range */
+    int		end_bnr,	/* buffer nr or last buffer nr in a range */
+    int		forceit)
 {
     int		do_current = 0;	/* delete current buffer? */
     int		deleted = 0;	/* number of buffers deleted */
@@ -1013,10 +1006,10 @@ static int	empty_curbuf(int close_others
  * Used when it is wiped out and it's the last buffer.
  */
     static int
-empty_curbuf(close_others, forceit, action)
-    int close_others;
-    int forceit;
-    int action;
+empty_curbuf(
+    int close_others,
+    int forceit,
+    int action)
 {
     int	    retval;
     buf_T   *buf = curbuf;
@@ -1067,12 +1060,12 @@ empty_curbuf(close_others, forceit, acti
  * Return FAIL or OK.
  */
     int
-do_buffer(action, start, dir, count, forceit)
-    int		action;
-    int		start;
-    int		dir;		/* FORWARD or BACKWARD */
-    int		count;		/* buffer number or number of buffers */
-    int		forceit;	/* TRUE for :...! */
+do_buffer(
+    int		action,
+    int		start,
+    int		dir,		/* FORWARD or BACKWARD */
+    int		count,		/* buffer number or number of buffers */
+    int		forceit)	/* TRUE for :...! */
 {
     buf_T	*buf;
     buf_T	*bp;
@@ -1428,9 +1421,7 @@ do_buffer(action, start, dir, count, for
  * DOBUF_WIPE	    wipe it out
  */
     void
-set_curbuf(buf, action)
-    buf_T	*buf;
-    int		action;
+set_curbuf(buf_T *buf, int action)
 {
     buf_T	*prevbuf;
     int		unload = (action == DOBUF_UNLOAD || action == DOBUF_DEL
@@ -1517,8 +1508,7 @@ set_curbuf(buf, action)
  * be pointing to freed memory.
  */
     void
-enter_buffer(buf)
-    buf_T	*buf;
+enter_buffer(buf_T *buf)
 {
     /* Copy buffer and window local option values.  Not for a help buffer. */
     buf_copy_options(buf, BCO_ENTER | BCO_NOHELP);
@@ -1629,7 +1619,7 @@ enter_buffer(buf)
  * Change to the directory of the current buffer.
  */
     void
-do_autochdir()
+do_autochdir(void)
 {
     if (curbuf->b_ffname != NULL && vim_chdirfile(curbuf->b_ffname) == OK)
 	shorten_fnames(TRUE);
@@ -1652,11 +1642,11 @@ do_autochdir()
 static int  top_file_num = 1;		/* highest file number */
 
     buf_T *
-buflist_new(ffname, sfname, lnum, flags)
-    char_u	*ffname;	/* full path of fname or relative */
-    char_u	*sfname;	/* short fname or NULL */
-    linenr_T	lnum;		/* preferred cursor line */
-    int		flags;		/* BLN_ defines */
+buflist_new(
+    char_u	*ffname,	/* full path of fname or relative */
+    char_u	*sfname,	/* short fname or NULL */
+    linenr_T	lnum,		/* preferred cursor line */
+    int		flags)		/* BLN_ defines */
 {
     buf_T	*buf;
 #ifdef UNIX
@@ -1899,9 +1889,9 @@ buflist_new(ffname, sfname, lnum, flags)
  * 'fileencoding'.
  */
     void
-free_buf_options(buf, free_p_ff)
-    buf_T	*buf;
-    int		free_p_ff;
+free_buf_options(
+    buf_T	*buf,
+    int		free_p_ff)
 {
     if (free_p_ff)
     {
@@ -2019,11 +2009,11 @@ free_buf_options(buf, free_p_ff)
  * return FAIL for failure, OK for success
  */
     int
-buflist_getfile(n, lnum, options, forceit)
-    int		n;
-    linenr_T	lnum;
-    int		options;
-    int		forceit;
+buflist_getfile(
+    int		n,
+    linenr_T	lnum,
+    int		options,
+    int		forceit)
 {
     buf_T	*buf;
 #ifdef FEAT_WINDOWS
@@ -2120,7 +2110,7 @@ buflist_getfile(n, lnum, options, forcei
  * go to the last know line number for the current buffer
  */
     void
-buflist_getfpos()
+buflist_getfpos(void)
 {
     pos_T	*fpos;
 
@@ -2148,8 +2138,7 @@ buflist_getfpos()
  * Returns NULL if not found.
  */
     buf_T *
-buflist_findname_exp(fname)
-    char_u *fname;
+buflist_findname_exp(char_u *fname)
 {
     char_u	*ffname;
     buf_T	*buf = NULL;
@@ -2178,8 +2167,7 @@ buflist_findname_exp(fname)
  * Returns NULL if not found.
  */
     buf_T *
-buflist_findname(ffname)
-    char_u	*ffname;
+buflist_findname(char_u *ffname)
 {
 #ifdef UNIX
     struct stat st;
@@ -2195,9 +2183,9 @@ buflist_findname(ffname)
  * Returns NULL if not found.
  */
     static buf_T *
-buflist_findname_stat(ffname, stp)
-    char_u	*ffname;
-    struct stat	*stp;
+buflist_findname_stat(
+    char_u	*ffname,
+    struct stat	*stp)
 {
 #endif
     buf_T	*buf;
@@ -2220,12 +2208,12 @@ buflist_findname_stat(ffname, stp)
  * Return < 0 for error.
  */
     int
-buflist_findpat(pattern, pattern_end, unlisted, diffmode, curtab_only)
-    char_u	*pattern;
-    char_u	*pattern_end;	/* pointer to first char after pattern */
-    int		unlisted;	/* find unlisted buffers */
-    int		diffmode UNUSED; /* find diff-mode buffers only */
-    int		curtab_only;	/* find buffers in current tab only */
+buflist_findpat(
+    char_u	*pattern,
+    char_u	*pattern_end,	/* pointer to first char after pattern */
+    int		unlisted,	/* find unlisted buffers */
+    int		diffmode UNUSED, /* find diff-mode buffers only */
+    int		curtab_only)	/* find buffers in current tab only */
 {
     buf_T	*buf;
     int		match = -1;
@@ -2350,11 +2338,11 @@ buflist_findpat(pattern, pattern_end, un
  * Return OK if matches found, FAIL otherwise.
  */
     int
-ExpandBufnames(pat, num_file, file, options)
-    char_u	*pat;
-    int		*num_file;
-    char_u	***file;
-    int		options;
+ExpandBufnames(
+    char_u	*pat,
+    int		*num_file,
+    char_u	***file,
+    int		options)
 {
     int		count = 0;
     buf_T	*buf;
@@ -2455,10 +2443,10 @@ ExpandBufnames(pat, num_file, file, opti
  * Check for a match on the file name for buffer "buf" with regprog "prog".
  */
     static char_u *
-buflist_match(rmp, buf, ignore_case)
-    regmatch_T	*rmp;
-    buf_T	*buf;
-    int		ignore_case;  /* when TRUE ignore case, when FALSE use 'fic' */
+buflist_match(
+    regmatch_T	*rmp,
+    buf_T	*buf,
+    int		ignore_case)  /* when TRUE ignore case, when FALSE use 'fic' */
 {
     char_u	*match;
 
@@ -2475,10 +2463,10 @@ buflist_match(rmp, buf, ignore_case)
  * Return "name" when there is a match, NULL when not.
  */
     static char_u *
-fname_match(rmp, name, ignore_case)
-    regmatch_T	*rmp;
-    char_u	*name;
-    int		ignore_case;  /* when TRUE ignore case, when FALSE use 'fic' */
+fname_match(
+    regmatch_T	*rmp,
+    char_u	*name,
+    int		ignore_case)  /* when TRUE ignore case, when FALSE use 'fic' */
 {
     char_u	*match = NULL;
     char_u	*p;
@@ -2507,8 +2495,7 @@ fname_match(rmp, name, ignore_case)
  * find file in buffer list by number
  */
     buf_T *
-buflist_findnr(nr)
-    int		nr;
+buflist_findnr(int nr)
 {
     buf_T	*buf;
 
@@ -2527,10 +2514,10 @@ buflist_findnr(nr)
  * Returns a pointer to allocated memory, of NULL when failed.
  */
     char_u *
-buflist_nr2name(n, fullname, helptail)
-    int		n;
-    int		fullname;
-    int		helptail;	/* for help buffers return tail only */
+buflist_nr2name(
+    int		n,
+    int		fullname,
+    int		helptail)	/* for help buffers return tail only */
 {
     buf_T	*buf;
 
@@ -2547,12 +2534,12 @@ buflist_nr2name(n, fullname, helptail)
  * When "lnum" is 0 only do the options.
  */
     static void
-buflist_setfpos(buf, win, lnum, col, copy_options)
-    buf_T	*buf;
-    win_T	*win;
-    linenr_T	lnum;
-    colnr_T	col;
-    int		copy_options;
+buflist_setfpos(
+    buf_T	*buf,
+    win_T	*win,
+    linenr_T	lnum,
+    colnr_T	col,
+    int		copy_options)
 {
     wininfo_T	*wip;
 
@@ -2620,8 +2607,7 @@ static int wininfo_other_tab_diff(wininf
  * page.  That's because a diff is local to a tab page.
  */
     static int
-wininfo_other_tab_diff(wip)
-    wininfo_T	*wip;
+wininfo_other_tab_diff(wininfo_T *wip)
 {
     win_T	*wp;
 
@@ -2646,9 +2632,9 @@ wininfo_other_tab_diff(wip)
  * Returns NULL when there isn't any info.
  */
     static wininfo_T *
-find_wininfo(buf, skip_diff_buffer)
-    buf_T	*buf;
-    int		skip_diff_buffer UNUSED;
+find_wininfo(
+    buf_T	*buf,
+    int		skip_diff_buffer UNUSED)
 {
     wininfo_T	*wip;
 
@@ -2685,8 +2671,7 @@ find_wininfo(buf, skip_diff_buffer)
  * global values for the window.
  */
     void
-get_winopts(buf)
-    buf_T	*buf;
+get_winopts(buf_T *buf)
 {
     wininfo_T	*wip;
 
@@ -2724,8 +2709,7 @@ get_winopts(buf)
  * Returns a pointer to no_position if no position is found.
  */
     pos_T *
-buflist_findfpos(buf)
-    buf_T	*buf;
+buflist_findfpos(buf_T *buf)
 {
     wininfo_T	*wip;
     static pos_T no_position = INIT_POS_T(1, 0, 0);
@@ -2741,8 +2725,7 @@ buflist_findfpos(buf)
  * Find the lnum for the buffer 'buf' for the current window.
  */
     linenr_T
-buflist_findlnum(buf)
-    buf_T	*buf;
+buflist_findlnum(buf_T *buf)
 {
     return buflist_findfpos(buf)->lnum;
 }
@@ -2752,8 +2735,7 @@ buflist_findlnum(buf)
  * List all know file names (for :files and :buffers command).
  */
     void
-buflist_list(eap)
-    exarg_T	*eap;
+buflist_list(exarg_T *eap)
 {
     buf_T	*buf;
     int		len;
@@ -2820,10 +2802,10 @@ buflist_list(eap)
  * Return FAIL if not found, OK for success.
  */
     int
-buflist_name_nr(fnum, fname, lnum)
-    int		fnum;
-    char_u	**fname;
-    linenr_T	*lnum;
+buflist_name_nr(
+    int		fnum,
+    char_u	**fname,
+    linenr_T	*lnum)
 {
     buf_T	*buf;
 
@@ -2844,10 +2826,11 @@ buflist_name_nr(fnum, fname, lnum)
  *	OK otherwise.
  */
     int
-setfname(buf, ffname, sfname, message)
-    buf_T	*buf;
-    char_u	*ffname, *sfname;
-    int		message;	/* give message when buffer already exists */
+setfname(
+    buf_T	*buf,
+    char_u	*ffname,
+    char_u	*sfname,
+    int		message)	/* give message when buffer already exists */
 {
     buf_T	*obuf = NULL;
 #ifdef UNIX
@@ -2941,9 +2924,7 @@ setfname(buf, ffname, sfname, message)
  * The name should be relative to the current directory.
  */
     void
-buf_set_name(fnum, name)
-    int		fnum;
-    char_u	*name;
+buf_set_name(int fnum, char_u *name)
 {
     buf_T	*buf;
 
@@ -2966,8 +2947,7 @@ buf_set_name(fnum, name)
  * changed.
  */
     void
-buf_name_changed(buf)
-    buf_T	*buf;
+buf_name_changed(buf_T *buf)
 {
     /*
      * If the file name changed, also change the name of the swapfile
@@ -2994,10 +2974,10 @@ buf_name_changed(buf)
  * Return the buffer.
  */
     buf_T *
-setaltfname(ffname, sfname, lnum)
-    char_u	*ffname;
-    char_u	*sfname;
-    linenr_T	lnum;
+setaltfname(
+    char_u	*ffname,
+    char_u	*sfname,
+    linenr_T	lnum)
 {
     buf_T	*buf;
 
@@ -3013,8 +2993,8 @@ setaltfname(ffname, sfname, lnum)
  * Return NULL if there isn't any, and give error message if requested.
  */
     char_u  *
-getaltfname(errmsg)
-    int		errmsg;		/* give error message */
+getaltfname(
+    int		errmsg)		/* give error message */
 {
     char_u	*fname;
     linenr_T	dummy;
@@ -3035,9 +3015,7 @@ getaltfname(errmsg)
  * used by qf_init(), main() and doarglist()
  */
     int
-buflist_add(fname, flags)
-    char_u	*fname;
-    int		flags;
+buflist_add(char_u *fname, int flags)
 {
     buf_T	*buf;
 
@@ -3052,7 +3030,7 @@ buflist_add(fname, flags)
  * Adjust slashes in file names.  Called after 'shellslash' was set.
  */
     void
-buflist_slash_adjust()
+buflist_slash_adjust(void)
 {
     buf_T	*bp;
 
@@ -3071,8 +3049,7 @@ buflist_slash_adjust()
  * Also save the local window option values.
  */
     void
-buflist_altfpos(win)
-    win_T *win;
+buflist_altfpos(win_T *win)
 {
     buflist_setfpos(curbuf, win, win->w_cursor.lnum, win->w_cursor.col, TRUE);
 }
@@ -3082,8 +3059,7 @@ buflist_altfpos(win)
  * Fname must have a full path (expanded by mch_FullName()).
  */
     int
-otherfile(ffname)
-    char_u	*ffname;
+otherfile(char_u *ffname)
 {
     return otherfile_buf(curbuf, ffname
 #ifdef UNIX
@@ -3093,16 +3069,13 @@ otherfile(ffname)
 }
 
     static int
-otherfile_buf(buf, ffname
+otherfile_buf(
+    buf_T		*buf,
+    char_u		*ffname
 #ifdef UNIX
-	, stp
-#endif
-	)
-    buf_T	*buf;
-    char_u	*ffname;
-#ifdef UNIX
-    struct stat	*stp;
-#endif
+    , struct stat	*stp
+#endif
+    )
 {
     /* no name is different */
     if (ffname == NULL || *ffname == NUL || buf->b_ffname == NULL)
@@ -3146,8 +3119,7 @@ otherfile_buf(buf, ffname
  * Must always be called when b_fname is changed!.
  */
     void
-buf_setino(buf)
-    buf_T	*buf;
+buf_setino(buf_T *buf)
 {
     struct stat	st;
 
@@ -3165,9 +3137,9 @@ buf_setino(buf)
  * Return TRUE if dev/ino in buffer "buf" matches with "stp".
  */
     static int
-buf_same_ino(buf, stp)
-    buf_T	*buf;
-    struct stat *stp;
+buf_same_ino(
+    buf_T	*buf,
+    struct stat *stp)
 {
     return (buf->b_dev_valid
 	    && stp->st_dev == buf->b_dev
@@ -3179,10 +3151,10 @@ buf_same_ino(buf, stp)
  * Print info about the current buffer.
  */
     void
-fileinfo(fullname, shorthelp, dont_truncate)
-    int fullname;	    /* when non-zero print full path */
-    int shorthelp;
-    int	dont_truncate;
+fileinfo(
+    int fullname,	    /* when non-zero print full path */
+    int shorthelp,
+    int	dont_truncate)
 {
     char_u	*name;
     int		n;
@@ -3298,11 +3270,11 @@ fileinfo(fullname, shorthelp, dont_trunc
 }
 
     void
-col_print(buf, buflen, col, vcol)
-    char_u  *buf;
-    size_t  buflen;
-    int	    col;
-    int	    vcol;
+col_print(
+    char_u  *buf,
+    size_t  buflen,
+    int	    col,
+    int	    vcol)
 {
     if (col == vcol)
 	vim_snprintf((char *)buf, buflen, "%d", col);
@@ -3319,7 +3291,7 @@ static char_u *lasttitle = NULL;
 static char_u *lasticon = NULL;
 
     void
-maketitle()
+maketitle(void)
 {
     char_u	*p;
     char_u	*t_str = NULL;
@@ -3528,9 +3500,7 @@ maketitle()
  * Return TRUE when "*last" changed.
  */
     static int
-ti_change(str, last)
-    char_u	*str;
-    char_u	**last;
+ti_change(char_u *str, char_u **last)
 {
     if ((str == NULL) != (*last == NULL)
 	    || (str != NULL && *last != NULL && STRCMP(str, *last) != 0))
@@ -3549,14 +3519,14 @@ ti_change(str, last)
  * Put current window title back (used after calling a shell)
  */
     void
-resettitle()
+resettitle(void)
 {
     mch_settitle(lasttitle, lasticon);
 }
 
 # if defined(EXITFREE) || defined(PROTO)
     void
-free_titles()
+free_titles(void)
 {
     vim_free(lasttitle);
     vim_free(lasticon);
@@ -3581,17 +3551,16 @@ free_titles()
  * or truncated if too long, fillchar is used for all whitespace.
  */
     int
-build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
-						      maxwidth, hltab, tabtab)
-    win_T	*wp;
-    char_u	*out;		/* buffer to write into != NameBuff */
-    size_t	outlen;		/* length of out[] */
-    char_u	*fmt;
-    int		use_sandbox UNUSED; /* "fmt" was set insecurely, use sandbox */
-    int		fillchar;
-    int		maxwidth;
-    struct stl_hlrec *hltab;	/* return: HL attributes (can be NULL) */
-    struct stl_hlrec *tabtab;	/* return: tab page nrs (can be NULL) */
+build_stl_str_hl(
+    win_T	*wp,
+    char_u	*out,		/* buffer to write into != NameBuff */
+    size_t	outlen,		/* length of out[] */
+    char_u	*fmt,
+    int		use_sandbox UNUSED, /* "fmt" was set insecurely, use sandbox */
+    int		fillchar,
+    int		maxwidth,
+    struct stl_hlrec *hltab,	/* return: HL attributes (can be NULL) */
+    struct stl_hlrec *tabtab)	/* return: tab page nrs (can be NULL) */
 {
     char_u	*p;
     char_u	*s;
@@ -4424,10 +4393,10 @@ build_stl_str_hl(wp, out, outlen, fmt, u
  * using "Top", "Bot" or "All" when appropriate.
  */
     void
-get_rel_pos(wp, buf, buflen)
-    win_T	*wp;
-    char_u	*buf;
-    int		buflen;
+get_rel_pos(
+    win_T	*wp,
+    char_u	*buf,
+    int		buflen)
 {
     long	above; /* number of lines above window */
     long	below; /* number of lines below window */
@@ -4460,11 +4429,11 @@ get_rel_pos(wp, buf, buflen)
  * Return TRUE if it was appended.
  */
     static int
-append_arg_number(wp, buf, buflen, add_file)
-    win_T	*wp;
-    char_u	*buf;
-    int		buflen;
-    int		add_file;	/* Add "file" before the arg number */
+append_arg_number(
+    win_T	*wp,
+    char_u	*buf,
+    int		buflen,
+    int		add_file)	/* Add "file" before the arg number */
 {
     char_u	*p;
 
@@ -4492,8 +4461,7 @@ append_arg_number(wp, buf, buflen, add_f
  * Returns pointer to allocated memory (NULL for failure).
  */
     char_u  *
-fix_fname(fname)
-    char_u  *fname;
+fix_fname(char_u  *fname)
 {
     /*
      * Force expanding the path always for Unix, because symbolic links may
@@ -4539,10 +4507,10 @@ fix_fname(fname)
  * "ffname" becomes a pointer to allocated memory (or NULL).
  */
     void
-fname_expand(buf, ffname, sfname)
-    buf_T	*buf UNUSED;
-    char_u	**ffname;
-    char_u	**sfname;
+fname_expand(
+    buf_T	*buf UNUSED,
+    char_u	**ffname,
+    char_u	**sfname)
 {
     if (*ffname == NULL)	/* if no file name given, nothing to do */
 	return;
@@ -4571,8 +4539,7 @@ fname_expand(buf, ffname, sfname)
  * Get the file name for an argument list entry.
  */
     char_u *
-alist_name(aep)
-    aentry_T	*aep;
+alist_name(aentry_T *aep)
 {
     buf_T	*bp;
 
@@ -4588,10 +4555,10 @@ alist_name(aep)
  * do_arg_all(): Open up to 'count' windows, one for each argument.
  */
     void
-do_arg_all(count, forceit, keep_tabs)
-    int	count;
-    int	forceit;		/* hide buffers in current windows */
-    int keep_tabs;		/* keep current tabs, for ":tab drop file" */
+do_arg_all(
+    int	count,
+    int	forceit,		/* hide buffers in current windows */
+    int keep_tabs)		/* keep current tabs, for ":tab drop file" */
 {
     int		i;
     win_T	*wp, *wpnext;
@@ -4885,8 +4852,7 @@ do_arg_all(count, forceit, keep_tabs)
  * Open a window for a number of buffers.
  */
     void
-ex_buffer_all(eap)
-    exarg_T	*eap;
+ex_buffer_all(exarg_T *eap)
 {
     buf_T	*buf;
     win_T	*wp, *wpnext;
@@ -5130,8 +5096,7 @@ static int  chk_modeline(linenr_T, int);
  * Returns immediately if the "ml" option isn't set.
  */
     void
-do_modelines(flags)
-    int		flags;
+do_modelines(int flags)
 {
     linenr_T	lnum;
     int		nmlines;
@@ -5165,9 +5130,9 @@ do_modelines(flags)
  * Return FAIL if an error encountered.
  */
     static int
-chk_modeline(lnum, flags)
-    linenr_T	lnum;
-    int		flags;		/* Same as for do_modelines(). */
+chk_modeline(
+    linenr_T	lnum,
+    int		flags)		/* Same as for do_modelines(). */
 {
     char_u	*s;
     char_u	*e;
@@ -5287,9 +5252,9 @@ chk_modeline(lnum, flags)
 
 #if defined(FEAT_VIMINFO) || defined(PROTO)
     int
-read_viminfo_bufferlist(virp, writing)
-    vir_T	*virp;
-    int		writing;
+read_viminfo_bufferlist(
+    vir_T	*virp,
+    int		writing)
 {
     char_u	*tab;
     linenr_T	lnum;
@@ -5341,8 +5306,7 @@ read_viminfo_bufferlist(virp, writing)
 }
 
     void
-write_viminfo_bufferlist(fp)
-    FILE    *fp;
+write_viminfo_bufferlist(FILE *fp)
 {
     buf_T	*buf;
 #ifdef FEAT_WINDOWS
@@ -5401,8 +5365,7 @@ write_viminfo_bufferlist(fp)
  * Returns NULL when the buffer has a normal file name.
  */
     char_u *
-buf_spname(buf)
-    buf_T	*buf;
+buf_spname(buf_T *buf)
 {
 #if defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)
     if (bt_quickfix(buf))
@@ -5444,10 +5407,10 @@ buf_spname(buf)
  * If not found FAIL is returned.
  */
     int
-find_win_for_buf(buf, wp, tp)
-    buf_T     *buf;
-    win_T     **wp;
-    tabpage_T **tp;
+find_win_for_buf(
+    buf_T     *buf,
+    win_T     **wp,
+    tabpage_T **tp)
 {
     FOR_ALL_TAB_WINDOWS(*tp, *wp)
 	if ((*wp)->w_buffer == buf)
@@ -5463,13 +5426,13 @@ win_found:
  * Insert the sign into the signlist.
  */
     static void
-insert_sign(buf, prev, next, id, lnum, typenr)
-    buf_T	*buf;		/* buffer to store sign in */
-    signlist_T	*prev;		/* previous sign entry */
-    signlist_T	*next;		/* next sign entry */
-    int		id;		/* sign ID */
-    linenr_T	lnum;		/* line number which gets the mark */
-    int		typenr;		/* typenr of sign we are adding */
+insert_sign(
+    buf_T	*buf,		/* buffer to store sign in */
+    signlist_T	*prev,		/* previous sign entry */
+    signlist_T	*next,		/* next sign entry */
+    int		id,		/* sign ID */
+    linenr_T	lnum,		/* line number which gets the mark */
+    int		typenr)		/* typenr of sign we are adding */
 {
     signlist_T	*newsign;
 
@@ -5512,11 +5475,11 @@ insert_sign(buf, prev, next, id, lnum, t
  * Add the sign into the signlist. Find the right spot to do it though.
  */
     void
-buf_addsign(buf, id, lnum, typenr)
-    buf_T	*buf;		/* buffer to store sign in */
-    int		id;		/* sign ID */
-    linenr_T	lnum;		/* line number which gets the mark */
-    int		typenr;		/* typenr of sign we are adding */
+buf_addsign(
+    buf_T	*buf,		/* buffer to store sign in */
+    int		id,		/* sign ID */
+    linenr_T	lnum,		/* line number which gets the mark */
+    int		typenr)		/* typenr of sign we are adding */
 {
     signlist_T	*sign;		/* a sign in the signlist */
     signlist_T	*prev;		/* the previous sign */
@@ -5571,10 +5534,10 @@ buf_addsign(buf, id, lnum, typenr)
  * Returns the line number of the sign, or zero if the sign is not found.
  */
     linenr_T
-buf_change_sign_type(buf, markId, typenr)
-    buf_T	*buf;		/* buffer to store sign in */
-    int		markId;		/* sign ID */
-    int		typenr;		/* typenr of sign we are adding */
+buf_change_sign_type(
+    buf_T	*buf,		/* buffer to store sign in */
+    int		markId,		/* sign ID */
+    int		typenr)		/* typenr of sign we are adding */
 {
     signlist_T	*sign;		/* a sign in the signlist */
 
@@ -5591,10 +5554,10 @@ buf_change_sign_type(buf, markId, typenr
 }
 
     int
-buf_getsigntype(buf, lnum, type)
-    buf_T	*buf;
-    linenr_T	lnum;
-    int		type;	/* SIGN_ICON, SIGN_TEXT, SIGN_ANY, SIGN_LINEHL */
+buf_getsigntype(
+    buf_T	*buf,
+    linenr_T	lnum,
+    int		type)	/* SIGN_ICON, SIGN_TEXT, SIGN_ANY, SIGN_LINEHL */
 {
     signlist_T	*sign;		/* a sign in a b_signlist */
 
@@ -5615,9 +5578,9 @@ buf_getsigntype(buf, lnum, type)
 
 
     linenr_T
-buf_delsign(buf, id)
-    buf_T	*buf;		/* buffer sign is stored in */
-    int		id;		/* sign id */
+buf_delsign(
+    buf_T	*buf,		/* buffer sign is stored in */
+    int		id)		/* sign id */
 {
     signlist_T	**lastp;	/* pointer to pointer to current sign */
     signlist_T	*sign;		/* a sign in a b_signlist */
@@ -5662,9 +5625,9 @@ buf_delsign(buf, id)
  * get loaded.
  */
     int
-buf_findsign(buf, id)
-    buf_T	*buf;		/* buffer to store sign in */
-    int		id;		/* sign ID */
+buf_findsign(
+    buf_T	*buf,		/* buffer to store sign in */
+    int		id)		/* sign ID */
 {
     signlist_T	*sign;		/* a sign in the signlist */
 
@@ -5676,9 +5639,9 @@ buf_findsign(buf, id)
 }
 
     int
-buf_findsign_id(buf, lnum)
-    buf_T	*buf;		/* buffer whose sign we are searching for */
-    linenr_T	lnum;		/* line number of sign */
+buf_findsign_id(
+    buf_T	*buf,		/* buffer whose sign we are searching for */
+    linenr_T	lnum)		/* line number of sign */
 {
     signlist_T	*sign;		/* a sign in the signlist */
 
@@ -5693,10 +5656,10 @@ buf_findsign_id(buf, lnum)
 # if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
 /* see if a given type of sign exists on a specific line */
     int
-buf_findsigntype_id(buf, lnum, typenr)
-    buf_T	*buf;		/* buffer whose sign we are searching for */
-    linenr_T	lnum;		/* line number of sign */
-    int		typenr;		/* sign type number */
+buf_findsigntype_id(
+    buf_T	*buf,		/* buffer whose sign we are searching for */
+    linenr_T	lnum,		/* line number of sign */
+    int		typenr)		/* sign type number */
 {
     signlist_T	*sign;		/* a sign in the signlist */
 
@@ -5711,9 +5674,7 @@ buf_findsigntype_id(buf, lnum, typenr)
 #  if defined(FEAT_SIGN_ICONS) || defined(PROTO)
 /* return the number of icons on the given line */
     int
-buf_signcount(buf, lnum)
-    buf_T	*buf;
-    linenr_T	lnum;
+buf_signcount(buf_T *buf, linenr_T lnum)
 {
     signlist_T	*sign;		/* a sign in the signlist */
     int		count = 0;
@@ -5733,8 +5694,7 @@ buf_signcount(buf, lnum)
  * Delete signs in buffer "buf".
  */
     void
-buf_delete_signs(buf)
-    buf_T	*buf;
+buf_delete_signs(buf_T *buf)
 {
     signlist_T	*next;
 
@@ -5758,7 +5718,7 @@ buf_delete_signs(buf)
  * Delete all signs in all buffers.
  */
     void
-buf_delete_all_signs()
+buf_delete_all_signs(void)
 {
     buf_T	*buf;		/* buffer we are checking for signs */
 
@@ -5771,8 +5731,7 @@ buf_delete_all_signs()
  * List placed signs for "rbuf".  If "rbuf" is NULL do it for all buffers.
  */
     void
-sign_list_placed(rbuf)
-    buf_T	*rbuf;
+sign_list_placed(buf_T *rbuf)
 {
     buf_T	*buf;
     signlist_T	*p;
@@ -5809,11 +5768,11 @@ sign_list_placed(rbuf)
  * Adjust a placed sign for inserted/deleted lines.
  */
     void
-sign_mark_adjust(line1, line2, amount, amount_after)
-    linenr_T	line1;
-    linenr_T	line2;
-    long	amount;
-    long	amount_after;
+sign_mark_adjust(
+    linenr_T	line1,
+    linenr_T	line2,
+    long	amount,
+    long	amount_after)
 {
     signlist_T	*sign;		/* a sign in a b_signlist */
 
@@ -5836,8 +5795,7 @@ sign_mark_adjust(line1, line2, amount, a
  * Set 'buflisted' for curbuf to "on" and trigger autocommands if it changed.
  */
     void
-set_buflisted(on)
-    int		on;
+set_buflisted(int on)
 {
     if (on != curbuf->b_p_bl)
     {
@@ -5856,8 +5814,7 @@ set_buflisted(on)
  * Return TRUE if it changed or this could not be checked.
  */
     int
-buf_contents_changed(buf)
-    buf_T	*buf;
+buf_contents_changed(buf_T *buf)
 {
     buf_T	*newbuf;
     int		differ = TRUE;
@@ -5914,9 +5871,9 @@ buf_contents_changed(buf)
  * marks.
  */
     void
-wipe_buffer(buf, aucmd)
-    buf_T	*buf;
-    int		aucmd UNUSED;	    /* When TRUE trigger autocommands. */
+wipe_buffer(
+    buf_T	*buf,
+    int		aucmd UNUSED)	    /* When TRUE trigger autocommands. */
 {
     if (buf->b_fnum == top_file_num - 1)
 	--top_file_num;
--- a/src/channel.c
+++ b/src/channel.c
@@ -745,7 +745,7 @@ channel_wait(int fd, int timeout)
  * Return a unique ID to be used in a message.
  */
     int
-channel_get_id()
+channel_get_id(void)
 {
     static int next_id = 1;
 
--- a/src/charset.c
+++ b/src/charset.c
@@ -68,15 +68,15 @@ static char_u	g_chartab[256];
  * error, OK otherwise.
  */
     int
-init_chartab()
+init_chartab(void)
 {
     return buf_init_chartab(curbuf, TRUE);
 }
 
     int
-buf_init_chartab(buf, global)
-    buf_T	*buf;
-    int		global;		/* FALSE: only set buf->b_chartab[] */
+buf_init_chartab(
+    buf_T	*buf,
+    int		global)		/* FALSE: only set buf->b_chartab[] */
 {
     int		c;
     int		c2;
@@ -313,9 +313,9 @@ buf_init_chartab(buf, global)
  * enough room, not all characters will be translated.
  */
     void
-trans_characters(buf, bufsize)
-    char_u	*buf;
-    int		bufsize;
+trans_characters(
+    char_u	*buf,
+    int		bufsize)
 {
     int		len;		/* length of string needing translation */
     int		room;		/* room in buffer after string */
@@ -356,8 +356,7 @@ trans_characters(buf, bufsize)
  * printable chars.  Returns NULL when out of memory.
  */
     char_u *
-transstr(s)
-    char_u	*s;
+transstr(char_u *s)
 {
     char_u	*res;
     char_u	*p;
@@ -434,11 +433,11 @@ transstr(s)
  * Otherwise puts the result in "buf[buflen]".
  */
     char_u *
-str_foldcase(str, orglen, buf, buflen)
-    char_u	*str;
-    int		orglen;
-    char_u	*buf;
-    int		buflen;
+str_foldcase(
+    char_u	*str,
+    int		orglen,
+    char_u	*buf,
+    int		buflen)
 {
     garray_T	ga;
     int		i;
@@ -552,8 +551,7 @@ str_foldcase(str, orglen, buf, buflen)
 static char_u	transchar_buf[7];
 
     char_u *
-transchar(c)
-    int		c;
+transchar(int c)
 {
     int			i;
 
@@ -592,8 +590,7 @@ transchar(c)
  * for an illegal UTF-8 byte.
  */
     char_u *
-transchar_byte(c)
-    int		c;
+transchar_byte(int c)
 {
     if (enc_utf8 && c >= 0x80)
     {
@@ -610,9 +607,7 @@ transchar_byte(c)
  * Does NOT work for multi-byte characters, c must be <= 255.
  */
     void
-transchar_nonprint(buf, c)
-    char_u	*buf;
-    int		c;
+transchar_nonprint(char_u *buf, int c)
 {
     if (c == NL)
 	c = NUL;		/* we use newline in place of a NUL */
@@ -679,9 +674,7 @@ transchar_nonprint(buf, c)
 }
 
     void
-transchar_hex(buf, c)
-    char_u	*buf;
-    int		c;
+transchar_hex(char_u *buf, int c)
 {
     int		i = 0;
 
@@ -705,8 +698,7 @@ transchar_hex(buf, c)
  * function key 1.
  */
     static unsigned
-nr2hex(c)
-    unsigned	c;
+nr2hex(unsigned c)
 {
     if ((c & 0xf) <= 9)
 	return (c & 0xf) + '0';
@@ -722,8 +714,7 @@ nr2hex(c)
  * cells depends on further bytes.
  */
     int
-byte2cells(b)
-    int		b;
+byte2cells(int b)
 {
 #ifdef FEAT_MBYTE
     if (enc_utf8 && b >= 0x80)
@@ -738,8 +729,7 @@ byte2cells(b)
  * A TAB is counted as two cells: "^I" or four: "<09>".
  */
     int
-char2cells(c)
-    int		c;
+char2cells(int c)
 {
     if (IS_SPECIAL(c))
 	return char2cells(K_SECOND(c)) + 2;
@@ -767,8 +757,7 @@ char2cells(c)
  * A TAB is counted as two cells: "^I" or four: "<09>".
  */
     int
-ptr2cells(p)
-    char_u	*p;
+ptr2cells(char_u *p)
 {
 #ifdef FEAT_MBYTE
     /* For UTF-8 we need to look at more bytes if the first byte is >= 0x80. */
@@ -784,8 +773,7 @@ ptr2cells(p)
  * counting TABs as two characters: "^I".
  */
     int
-vim_strsize(s)
-    char_u	*s;
+vim_strsize(char_u *s)
 {
     return vim_strnsize(s, (int)MAXCOL);
 }
@@ -795,9 +783,7 @@ vim_strsize(s)
  * screen, counting TABs as two characters: "^I".
  */
     int
-vim_strnsize(s, len)
-    char_u	*s;
-    int		len;
+vim_strnsize(char_u *s, int len)
 {
     int		size = 0;
 
@@ -839,9 +825,7 @@ vim_strnsize(s, len)
 #if defined(FEAT_VREPLACE) || defined(FEAT_EX_EXTRA) || defined(FEAT_GUI) \
 	|| defined(FEAT_VIRTUALEDIT) || defined(PROTO)
     int
-chartabsize(p, col)
-    char_u	*p;
-    colnr_T	col;
+chartabsize(char_u *p, colnr_T col)
 {
     RET_WIN_BUF_CHARTABSIZE(curwin, curbuf, p, col)
 }
@@ -849,10 +833,7 @@ chartabsize(p, col)
 
 #ifdef FEAT_LINEBREAK
     static int
-win_chartabsize(wp, p, col)
-    win_T	*wp;
-    char_u	*p;
-    colnr_T	col;
+win_chartabsize(win_T *wp, char_u *p, colnr_T col)
 {
     RET_WIN_BUF_CHARTABSIZE(wp, wp->w_buffer, p, col)
 }
@@ -863,8 +844,7 @@ win_chartabsize(wp, p, col)
  * taking into account the size of a tab.
  */
     int
-linetabsize(s)
-    char_u	*s;
+linetabsize(char_u *s)
 {
     return linetabsize_col(0, s);
 }
@@ -873,9 +853,7 @@ linetabsize(s)
  * Like linetabsize(), but starting at column "startcol".
  */
     int
-linetabsize_col(startcol, s)
-    int		startcol;
-    char_u	*s;
+linetabsize_col(int startcol, char_u *s)
 {
     colnr_T	col = startcol;
     char_u	*line = s; /* pointer to start of line, for breakindent */
@@ -889,10 +867,7 @@ linetabsize_col(startcol, s)
  * Like linetabsize(), but for a given window instead of the current one.
  */
     int
-win_linetabsize(wp, line, len)
-    win_T	*wp;
-    char_u	*line;
-    colnr_T	len;
+win_linetabsize(win_T *wp, char_u *line, colnr_T len)
 {
     colnr_T	col = 0;
     char_u	*s;
@@ -908,8 +883,7 @@ win_linetabsize(wp, line, len)
  * Letters and characters from the 'isident' option.
  */
     int
-vim_isIDc(c)
-    int c;
+vim_isIDc(int c)
 {
     return (c > 0 && c < 0x100 && (g_chartab[c] & CT_ID_CHAR));
 }
@@ -920,16 +894,13 @@ vim_isIDc(c)
  * For multi-byte characters mb_get_class() is used (builtin rules).
  */
     int
-vim_iswordc(c)
-    int c;
+vim_iswordc(int c)
 {
     return vim_iswordc_buf(c, curbuf);
 }
 
     int
-vim_iswordc_buf(c, buf)
-    int		c;
-    buf_T	*buf;
+vim_iswordc_buf(int c, buf_T *buf)
 {
 #ifdef FEAT_MBYTE
     if (c >= 0x100)
@@ -947,8 +918,7 @@ vim_iswordc_buf(c, buf)
  * Just like vim_iswordc() but uses a pointer to the (multi-byte) character.
  */
     int
-vim_iswordp(p)
-    char_u *p;
+vim_iswordp(char_u *p)
 {
 #ifdef FEAT_MBYTE
     if (has_mbyte && MB_BYTE2LEN(*p) > 1)
@@ -958,9 +928,7 @@ vim_iswordp(p)
 }
 
     int
-vim_iswordp_buf(p, buf)
-    char_u	*p;
-    buf_T	*buf;
+vim_iswordp_buf(char_u *p, buf_T *buf)
 {
 #ifdef FEAT_MBYTE
     if (has_mbyte && MB_BYTE2LEN(*p) > 1)
@@ -974,8 +942,7 @@ vim_iswordp_buf(p, buf)
  * Assume characters above 0x100 are valid (multi-byte).
  */
     int
-vim_isfilec(c)
-    int	c;
+vim_isfilec(int c)
 {
     return (c >= 0x100 || (c > 0 && (g_chartab[c] & CT_FNAME_CHAR)));
 }
@@ -987,8 +954,7 @@ vim_isfilec(c)
  * returns false.
  */
     int
-vim_isfilec_or_wc(c)
-    int c;
+vim_isfilec_or_wc(int c)
 {
     char_u buf[2];
 
@@ -1003,8 +969,7 @@ vim_isfilec_or_wc(c)
  * Unicode.
  */
     int
-vim_isprintc(c)
-    int c;
+vim_isprintc(int c)
 {
 #ifdef FEAT_MBYTE
     if (enc_utf8 && c >= 0x100)
@@ -1018,8 +983,7 @@ vim_isprintc(c)
  * byte of a double-byte character.
  */
     int
-vim_isprintc_strict(c)
-    int	c;
+vim_isprintc_strict(int c)
 {
 #ifdef FEAT_MBYTE
     if (enc_dbcs != 0 && c < 0x100 && MB_BYTE2LEN(c) > 1)
@@ -1034,10 +998,10 @@ vim_isprintc_strict(c)
  * like chartabsize(), but also check for line breaks on the screen
  */
     int
-lbr_chartabsize(line, s, col)
-    char_u		*line UNUSED; /* start of the line */
-    unsigned char	*s;
-    colnr_T		col;
+lbr_chartabsize(
+    char_u		*line UNUSED, /* start of the line */
+    unsigned char	*s,
+    colnr_T		col)
 {
 #ifdef FEAT_LINEBREAK
     if (!curwin->w_p_lbr && *p_sbr == NUL && !curwin->w_p_bri)
@@ -1058,10 +1022,10 @@ lbr_chartabsize(line, s, col)
  * Call lbr_chartabsize() and advance the pointer.
  */
     int
-lbr_chartabsize_adv(line, s, col)
-    char_u	*line; /* start of the line */
-    char_u	**s;
-    colnr_T	col;
+lbr_chartabsize_adv(
+    char_u	*line, /* start of the line */
+    char_u	**s,
+    colnr_T	col)
 {
     int		retval;
 
@@ -1078,12 +1042,12 @@ lbr_chartabsize_adv(line, s, col)
  * value, init to 0 before calling.
  */
     int
-win_lbr_chartabsize(wp, line, s, col, headp)
-    win_T	*wp;
-    char_u	*line UNUSED; /* start of the line */
-    char_u	*s;
-    colnr_T	col;
-    int		*headp UNUSED;
+win_lbr_chartabsize(
+    win_T	*wp,
+    char_u	*line UNUSED, /* start of the line */
+    char_u	*s,
+    colnr_T	col,
+    int		*headp UNUSED)
 {
 #ifdef FEAT_LINEBREAK
     int		c;
@@ -1254,11 +1218,11 @@ win_lbr_chartabsize(wp, line, s, col, he
  * doesn't fit at the end of the screen line.
  */
     static int
-win_nolbr_chartabsize(wp, s, col, headp)
-    win_T	*wp;
-    char_u	*s;
-    colnr_T	col;
-    int		*headp;
+win_nolbr_chartabsize(
+    win_T	*wp,
+    char_u	*s,
+    colnr_T	col,
+    int		*headp)
 {
     int		n;
 
@@ -1284,9 +1248,7 @@ win_nolbr_chartabsize(wp, s, col, headp)
  * "wp".
  */
     int
-in_win_border(wp, vcol)
-    win_T	*wp;
-    colnr_T	vcol;
+in_win_border(win_T *wp, colnr_T vcol)
 {
     int		width1;		/* width of first line (after line number) */
     int		width2;		/* width of further lines */
@@ -1316,12 +1278,12 @@ in_win_border(wp, vcol)
  * This is used very often, keep it fast!
  */
     void
-getvcol(wp, pos, start, cursor, end)
-    win_T	*wp;
-    pos_T	*pos;
-    colnr_T	*start;
-    colnr_T	*cursor;
-    colnr_T	*end;
+getvcol(
+    win_T	*wp,
+    pos_T	*pos,
+    colnr_T	*start,
+    colnr_T	*cursor,
+    colnr_T	*end)
 {
     colnr_T	vcol;
     char_u	*ptr;		/* points to current char */
@@ -1446,8 +1408,7 @@ getvcol(wp, pos, start, cursor, end)
  * Get virtual cursor column in the current window, pretending 'list' is off.
  */
     colnr_T
-getvcol_nolist(posp)
-    pos_T	*posp;
+getvcol_nolist(pos_T *posp)
 {
     int		list_save = curwin->w_p_list;
     colnr_T	vcol;
@@ -1463,12 +1424,12 @@ getvcol_nolist(posp)
  * Get virtual column in virtual mode.
  */
     void
-getvvcol(wp, pos, start, cursor, end)
-    win_T	*wp;
-    pos_T	*pos;
-    colnr_T	*start;
-    colnr_T	*cursor;
-    colnr_T	*end;
+getvvcol(
+    win_T	*wp,
+    pos_T	*pos,
+    colnr_T	*start,
+    colnr_T	*cursor,
+    colnr_T	*end)
 {
     colnr_T	col;
     colnr_T	coladd;
@@ -1519,10 +1480,12 @@ getvvcol(wp, pos, start, cursor, end)
  * Used for Visual block mode.
  */
     void
-getvcols(wp, pos1, pos2, left, right)
-    win_T	*wp;
-    pos_T	*pos1, *pos2;
-    colnr_T	*left, *right;
+getvcols(
+    win_T	*wp,
+    pos_T	*pos1,
+    pos_T	*pos2,
+    colnr_T	*left,
+    colnr_T	*right)
 {
     colnr_T	from1, from2, to1, to2;
 
@@ -1555,8 +1518,7 @@ getvcols(wp, pos1, pos2, left, right)
  * skipwhite: skip over ' ' and '\t'.
  */
     char_u *
-skipwhite(q)
-    char_u	*q;
+skipwhite(char_u *q)
 {
     char_u	*p = q;
 
@@ -1569,8 +1531,7 @@ skipwhite(q)
  * skip over digits
  */
     char_u *
-skipdigits(q)
-    char_u	*q;
+skipdigits(char_u *q)
 {
     char_u	*p = q;
 
@@ -1584,8 +1545,7 @@ skipdigits(q)
  * skip over binary digits
  */
     char_u *
-skipbin(q)
-    char_u	*q;
+skipbin(char_u *q)
 {
     char_u	*p = q;
 
@@ -1598,8 +1558,7 @@ skipbin(q)
  * skip over digits and hex characters
  */
     char_u *
-skiphex(q)
-    char_u	*q;
+skiphex(char_u *q)
 {
     char_u	*p = q;
 
@@ -1614,8 +1573,7 @@ skiphex(q)
  * skip to bin digit (or NUL after the string)
  */
     char_u *
-skiptobin(q)
-    char_u	*q;
+skiptobin(char_u *q)
 {
     char_u	*p = q;
 
@@ -1628,8 +1586,7 @@ skiptobin(q)
  * skip to digit (or NUL after the string)
  */
     char_u *
-skiptodigit(q)
-    char_u	*q;
+skiptodigit(char_u *q)
 {
     char_u	*p = q;
 
@@ -1642,8 +1599,7 @@ skiptodigit(q)
  * skip to hex character (or NUL after the string)
  */
     char_u *
-skiptohex(q)
-    char_u	*q;
+skiptohex(char_u *q)
 {
     char_u	*p = q;
 
@@ -1660,8 +1616,7 @@ skiptohex(q)
  * Use the VIM_ISDIGIT() macro for simple arguments.
  */
     int
-vim_isdigit(c)
-    int		c;
+vim_isdigit(int c)
 {
     return (c >= '0' && c <= '9');
 }
@@ -1672,8 +1627,7 @@ vim_isdigit(c)
  * superscript 1 to be a digit.
  */
     int
-vim_isxdigit(c)
-    int		c;
+vim_isxdigit(int c)
 {
     return (c >= '0' && c <= '9')
 	|| (c >= 'a' && c <= 'f')
@@ -1685,8 +1639,7 @@ vim_isxdigit(c)
  * characters > 0x100.
  */
     int
-vim_isbdigit(c)
-    int		c;
+vim_isbdigit(int c)
 {
     return (c == '0' || c == '1');
 }
@@ -1706,8 +1659,7 @@ static char_u latin1upper[257] = "      
 static char_u latin1lower[257] = "                                 !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xd7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff";
 
     int
-vim_islower(c)
-    int	    c;
+vim_islower(int c)
 {
     if (c <= '@')
 	return FALSE;
@@ -1731,8 +1683,7 @@ vim_islower(c)
 }
 
     int
-vim_isupper(c)
-    int	    c;
+vim_isupper(int c)
 {
     if (c <= '@')
 	return FALSE;
@@ -1756,8 +1707,7 @@ vim_isupper(c)
 }
 
     int
-vim_toupper(c)
-    int	    c;
+vim_toupper(int c)
 {
     if (c <= '@')
 	return c;
@@ -1781,8 +1731,7 @@ vim_toupper(c)
 }
 
     int
-vim_tolower(c)
-    int	    c;
+vim_tolower(int c)
 {
     if (c <= '@')
 	return c;
@@ -1810,8 +1759,7 @@ vim_tolower(c)
  * skiptowhite: skip over text until ' ' or '\t' or NUL.
  */
     char_u *
-skiptowhite(p)
-    char_u	*p;
+skiptowhite(char_u *p)
 {
     while (*p != ' ' && *p != '\t' && *p != NUL)
 	++p;
@@ -1824,8 +1772,7 @@ skiptowhite(p)
  * skiptowhite_esc: Like skiptowhite(), but also skip escaped chars
  */
     char_u *
-skiptowhite_esc(p)
-    char_u	*p;
+skiptowhite_esc(char_u *p)
 {
     while (*p != ' ' && *p != '\t' && *p != NUL)
     {
@@ -1842,8 +1789,7 @@ skiptowhite_esc(p)
  * Note: the argument is a pointer to a char_u pointer!
  */
     long
-getdigits(pp)
-    char_u **pp;
+getdigits(char_u **pp)
 {
     char_u	*p;
     long	retval;
@@ -1861,8 +1807,7 @@ getdigits(pp)
  * Return TRUE if "lbuf" is empty or only contains blanks.
  */
     int
-vim_isblankline(lbuf)
-    char_u	*lbuf;
+vim_isblankline(char_u *lbuf)
 {
     char_u	*p;
 
@@ -1890,16 +1835,16 @@ vim_isblankline(lbuf)
  * If maxlen > 0, check at a maximum maxlen chars
  */
     void
-vim_str2nr(start, prep, len, what, nptr, unptr, maxlen)
-    char_u		*start;
-    int			*prep;	    /* return: type of number 0 = decimal, 'x'
+vim_str2nr(
+    char_u		*start,
+    int			*prep,	    /* return: type of number 0 = decimal, 'x'
 				       or 'X' is hex, '0' = octal, 'b' or 'B'
 				       is bin */
-    int			*len;	    /* return: detected length of number */
-    int			what;	    /* what numbers to recognize */
-    long		*nptr;	    /* return: signed result */
-    unsigned long	*unptr;	    /* return: unsigned result */
-    int			maxlen;     /* max length of string to check */
+    int			*len,	    /* return: detected length of number */
+    int			what,	    /* what numbers to recognize */
+    long		*nptr,	    /* return: signed result */
+    unsigned long	*unptr,	    /* return: unsigned result */
+    int			maxlen)     /* max length of string to check */
 {
     char_u	    *ptr = start;
     int		    pre = 0;		/* default is decimal */
@@ -2024,8 +1969,7 @@ vim_str2nr(start, prep, len, what, nptr,
  * Only valid when the argument is '0' - '9', 'A' - 'F' or 'a' - 'f'.
  */
     int
-hex2nr(c)
-    int		c;
+hex2nr(int c)
 {
     if (c >= 'a' && c <= 'f')
 	return c - 'a' + 10;
@@ -2041,8 +1985,7 @@ hex2nr(c)
  * Return -1 if one of the characters is not hex.
  */
     int
-hexhex2nr(p)
-    char_u	*p;
+hexhex2nr(char_u *p)
 {
     if (!vim_isxdigit(p[0]) || !vim_isxdigit(p[1]))
 	return -1;
@@ -2064,8 +2007,7 @@ hexhex2nr(p)
  * characters.
  */
     int
-rem_backslash(str)
-    char_u  *str;
+rem_backslash(char_u *str)
 {
 #ifdef BACKSLASH_IN_FILENAME
     return (str[0] == '\\'
@@ -2088,8 +2030,7 @@ rem_backslash(str)
  * is not a normal file character.
  */
     void
-backslash_halve(p)
-    char_u	*p;
+backslash_halve(char_u *p)
 {
     for ( ; *p; ++p)
 	if (rem_backslash(p))
@@ -2100,8 +2041,7 @@ backslash_halve(p)
  * backslash_halve() plus save the result in allocated memory.
  */
     char_u *
-backslash_halve_save(p)
-    char_u	*p;
+backslash_halve_save(char_u *p)
 {
     char_u	*res;
 
@@ -2159,9 +2099,7 @@ static char_u ebcdic2ascii_tab[256] =
  * wanting 7-bit ASCII characters out the other end.
  */
     void
-ebcdic2ascii(buffer, len)
-    char_u	*buffer;
-    int		len;
+ebcdic2ascii(char_u *buffer, int len)
 {
     int		i;
 
--- a/src/crypt.c
+++ b/src/crypt.c
@@ -130,8 +130,7 @@ static char	crypt_magic_head[] = "VimCry
  * 2 for "blowfish2".
  */
     int
-crypt_method_nr_from_name(name)
-    char_u  *name;
+crypt_method_nr_from_name(char_u *name)
 {
     int i;
 
@@ -147,9 +146,7 @@ crypt_method_nr_from_name(name)
  * Returns -1 when no encryption used.
  */
     int
-crypt_method_nr_from_magic(ptr, len)
-    char  *ptr;
-    int   len;
+crypt_method_nr_from_magic(char *ptr, int len)
 {
     int i;
 
@@ -171,8 +168,7 @@ crypt_method_nr_from_magic(ptr, len)
  * Return TRUE if the crypt method for "method_nr" can be done in-place.
  */
     int
-crypt_works_inplace(state)
-    cryptstate_T *state;
+crypt_works_inplace(cryptstate_T *state)
 {
     return cryptmethods[state->method_nr].works_inplace;
 }
@@ -181,8 +177,7 @@ crypt_works_inplace(state)
  * Get the crypt method for buffer "buf" as a number.
  */
     int
-crypt_get_method_nr(buf)
-    buf_T *buf;
+crypt_get_method_nr(buf_T *buf)
 {
     return crypt_method_nr_from_name(*buf->b_p_cm == NUL ? p_cm : buf->b_p_cm);
 }
@@ -192,8 +187,7 @@ crypt_get_method_nr(buf)
  * whole undo file, not only the text.
  */
     int
-crypt_whole_undofile(method_nr)
-    int method_nr;
+crypt_whole_undofile(int method_nr)
 {
     return cryptmethods[method_nr].whole_undofile;
 }
@@ -202,8 +196,7 @@ crypt_whole_undofile(method_nr)
  * Get crypt method specifc length of the file header in bytes.
  */
     int
-crypt_get_header_len(method_nr)
-    int method_nr;
+crypt_get_header_len(int method_nr)
 {
     return CRYPT_MAGIC_LEN
 	+ cryptmethods[method_nr].salt_len
@@ -215,9 +208,7 @@ crypt_get_header_len(method_nr)
  * returned by crypt_method_nr_from_name().
  */
     void
-crypt_set_cm_option(buf, method_nr)
-    buf_T   *buf;
-    int	    method_nr;
+crypt_set_cm_option(buf_T *buf, int method_nr)
 {
     free_string_option(buf->b_p_cm);
     buf->b_p_cm = vim_strsave((char_u *)cryptmethods[method_nr].name);
@@ -228,7 +219,7 @@ crypt_set_cm_option(buf, method_nr)
  * return OK/FAIL.
  */
     int
-crypt_self_test()
+crypt_self_test(void)
 {
     int method_nr = crypt_get_method_nr(curbuf);
 
@@ -241,13 +232,13 @@ crypt_self_test()
  * Allocate a crypt state and initialize it.
  */
     cryptstate_T *
-crypt_create(method_nr, key, salt, salt_len, seed, seed_len)
-    int		method_nr;
-    char_u	*key;
-    char_u	*salt;
-    int		salt_len;
-    char_u	*seed;
-    int		seed_len;
+crypt_create(
+    int		method_nr,
+    char_u	*key,
+    char_u	*salt,
+    int		salt_len,
+    char_u	*seed,
+    int		seed_len)
 {
     cryptstate_T *state = (cryptstate_T *)alloc((int)sizeof(cryptstate_T));
 
@@ -262,10 +253,10 @@ crypt_create(method_nr, key, salt, salt_
  * crypt_get_header_len() returns for "method_nr".
  */
     cryptstate_T *
-crypt_create_from_header(method_nr, key, header)
-    int		method_nr;
-    char_u	*key;
-    char_u	*header;
+crypt_create_from_header(
+    int		method_nr,
+    char_u	*key,
+    char_u	*header)
 {
     char_u	*salt = NULL;
     char_u	*seed = NULL;
@@ -285,9 +276,7 @@ crypt_create_from_header(method_nr, key,
  * Return an allocated cryptstate_T or NULL on error.
  */
     cryptstate_T *
-crypt_create_from_file(fp, key)
-    FILE    *fp;
-    char_u  *key;
+crypt_create_from_file(FILE *fp, char_u *key)
 {
     int		method_nr;
     int		header_len;
@@ -326,11 +315,11 @@ crypt_create_from_file(fp, key)
  * Returns the state or NULL on failure.
  */
     cryptstate_T *
-crypt_create_for_writing(method_nr, key, header, header_len)
-    int	    method_nr;
-    char_u  *key;
-    char_u  **header;
-    int	    *header_len;
+crypt_create_for_writing(
+    int	    method_nr,
+    char_u  *key,
+    char_u  **header,
+    int	    *header_len)
 {
     int	    len = crypt_get_header_len(method_nr);
     char_u  *salt = NULL;
@@ -371,8 +360,7 @@ crypt_create_for_writing(method_nr, key,
  * Free the crypt state.
  */
     void
-crypt_free_state(state)
-    cryptstate_T	*state;
+crypt_free_state(cryptstate_T *state)
 {
     vim_free(state->method_state);
     vim_free(state);
@@ -384,11 +372,11 @@ crypt_free_state(state)
  * Return number of bytes in "newptr", 0 for need more or -1 on error.
  */
     long
-crypt_encode_alloc(state, from, len, newptr)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	**newptr;
+crypt_encode_alloc(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	**newptr)
 {
     cryptmethod_T *method = &cryptmethods[state->method_nr];
 
@@ -412,11 +400,11 @@ crypt_encode_alloc(state, from, len, new
  * Return number of bytes in "newptr", 0 for need more or -1 on error.
  */
     long
-crypt_decode_alloc(state, ptr, len, newptr)
-    cryptstate_T *state;
-    char_u	*ptr;
-    long	len;
-    char_u      **newptr;
+crypt_decode_alloc(
+    cryptstate_T *state,
+    char_u	*ptr,
+    long	len,
+    char_u      **newptr)
 {
     cryptmethod_T *method = &cryptmethods[state->method_nr];
 
@@ -439,11 +427,11 @@ crypt_decode_alloc(state, ptr, len, newp
  * Encrypting "from[len]" into "to[len]".
  */
     void
-crypt_encode(state, from, len, to)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	*to;
+crypt_encode(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	*to)
 {
     cryptmethods[state->method_nr].encode_fn(state, from, len, to);
 }
@@ -452,11 +440,11 @@ crypt_encode(state, from, len, to)
  * decrypting "from[len]" into "to[len]".
  */
     void
-crypt_decode(state, from, len, to)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	*to;
+crypt_decode(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	*to)
 {
     cryptmethods[state->method_nr].decode_fn(state, from, len, to);
 }
@@ -465,10 +453,10 @@ crypt_decode(state, from, len, to)
  * Simple inplace encryption, modifies "buf[len]" in place.
  */
     void
-crypt_encode_inplace(state, buf, len)
-    cryptstate_T *state;
-    char_u	*buf;
-    size_t	len;
+crypt_encode_inplace(
+    cryptstate_T *state,
+    char_u	*buf,
+    size_t	len)
 {
     cryptmethods[state->method_nr].encode_inplace_fn(state, buf, len, buf);
 }
@@ -477,10 +465,10 @@ crypt_encode_inplace(state, buf, len)
  * Simple inplace decryption, modifies "buf[len]" in place.
  */
     void
-crypt_decode_inplace(state, buf, len)
-    cryptstate_T *state;
-    char_u	*buf;
-    size_t	len;
+crypt_decode_inplace(
+    cryptstate_T *state,
+    char_u	*buf,
+    size_t	len)
 {
     cryptmethods[state->method_nr].decode_inplace_fn(state, buf, len, buf);
 }
@@ -490,8 +478,7 @@ crypt_decode_inplace(state, buf, len)
  * in memory anywhere.
  */
     void
-crypt_free_key(key)
-    char_u *key;
+crypt_free_key(char_u *key)
 {
     char_u *p;
 
@@ -507,8 +494,7 @@ crypt_free_key(key)
  * Check the crypt method and give a warning if it's outdated.
  */
     void
-crypt_check_method(method)
-    int method;
+crypt_check_method(int method)
 {
     if (method < CRYPT_M_BF2)
     {
@@ -518,7 +504,7 @@ crypt_check_method(method)
 }
 
     void
-crypt_check_current_method()
+crypt_check_current_method(void)
 {
     crypt_check_method(crypt_get_method_nr(curbuf));
 }
@@ -531,9 +517,9 @@ crypt_check_current_method()
  * Returns NULL on failure.
  */
     char_u *
-crypt_get_key(store, twice)
-    int		store;
-    int		twice;	    /* Ask for the key twice. */
+crypt_get_key(
+    int		store,
+    int		twice)	    /* Ask for the key twice. */
 {
     char_u	*p1, *p2 = NULL;
     int		round;
@@ -589,8 +575,8 @@ crypt_get_key(store, twice)
  * Append a message to IObuff for the encryption/decryption method being used.
  */
     void
-crypt_append_msg(buf)
-    buf_T *buf;
+crypt_append_msg(
+    buf_T *buf)
 {
     if (crypt_get_method_nr(buf) == 0)
 	STRCAT(IObuff, _("[crypted]"));
--- a/src/crypt_zip.c
+++ b/src/crypt_zip.c
@@ -44,7 +44,7 @@ static u32_T crc_32_table[256];
  * Fill the CRC table, if not done already.
  */
     static void
-make_crc_tab()
+make_crc_tab(void)
 {
     u32_T	s, t, v;
     static int	done = FALSE;
@@ -85,13 +85,13 @@ make_crc_tab()
  * Initialize for encryption/decryption.
  */
     void
-crypt_zip_init(state, key, salt, salt_len, seed, seed_len)
-    cryptstate_T    *state;
-    char_u	    *key;
-    char_u	    *salt UNUSED;
-    int		    salt_len UNUSED;
-    char_u	    *seed UNUSED;
-    int		    seed_len UNUSED;
+crypt_zip_init(
+    cryptstate_T    *state,
+    char_u	    *key,
+    char_u	    *salt UNUSED,
+    int		    salt_len UNUSED,
+    char_u	    *seed UNUSED,
+    int		    seed_len UNUSED)
 {
     char_u	*p;
     zip_state_T	*zs;
@@ -114,11 +114,11 @@ crypt_zip_init(state, key, salt, salt_le
  * "from" and "to" can be equal to encrypt in place.
  */
     void
-crypt_zip_encode(state, from, len, to)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	*to;
+crypt_zip_encode(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	*to)
 {
     zip_state_T *zs = state->method_state;
     size_t	i;
@@ -137,11 +137,11 @@ crypt_zip_encode(state, from, len, to)
  * Decrypt "from[len]" into "to[len]".
  */
     void
-crypt_zip_decode(state, from, len, to)
-    cryptstate_T *state;
-    char_u	*from;
-    size_t	len;
-    char_u	*to;
+crypt_zip_decode(
+    cryptstate_T *state,
+    char_u	*from,
+    size_t	len,
+    char_u	*to)
 {
     zip_state_T *zs = state->method_state;
     size_t	i;
--- a/src/diff.c
+++ b/src/diff.c
@@ -60,8 +60,7 @@ static diff_T *diff_alloc_new(tabpage_T 
  * Called when deleting or unloading a buffer: No longer make a diff with it.
  */
     void
-diff_buf_delete(buf)
-    buf_T	*buf;
+diff_buf_delete(buf_T *buf)
 {
     int		i;
     tabpage_T	*tp;
@@ -84,8 +83,7 @@ diff_buf_delete(buf)
  * diff buffers.
  */
     void
-diff_buf_adjust(win)
-    win_T	*win;
+diff_buf_adjust(win_T *win)
 {
     win_T	*wp;
     int		i;
@@ -121,8 +119,7 @@ diff_buf_adjust(win)
  * about the screen contents.
  */
     void
-diff_buf_add(buf)
-    buf_T	*buf;
+diff_buf_add(buf_T *buf)
 {
     int		i;
 
@@ -146,8 +143,7 @@ diff_buf_add(buf)
  * Return its index or DB_COUNT if not found.
  */
     static int
-diff_buf_idx(buf)
-    buf_T	*buf;
+diff_buf_idx(buf_T *buf)
 {
     int		idx;
 
@@ -162,9 +158,7 @@ diff_buf_idx(buf)
  * Return its index or DB_COUNT if not found.
  */
     static int
-diff_buf_idx_tp(buf, tp)
-    buf_T	*buf;
-    tabpage_T	*tp;
+diff_buf_idx_tp(buf_T *buf, tabpage_T *tp)
 {
     int		idx;
 
@@ -179,8 +173,7 @@ diff_buf_idx_tp(buf, tp)
  * when info is requested.
  */
     void
-diff_invalidate(buf)
-    buf_T	*buf;
+diff_invalidate(buf_T *buf)
 {
     tabpage_T	*tp;
     int		i;
@@ -201,11 +194,11 @@ diff_invalidate(buf)
  * Called by mark_adjust(): update line numbers in "curbuf".
  */
     void
-diff_mark_adjust(line1, line2, amount, amount_after)
-    linenr_T	line1;
-    linenr_T	line2;
-    long	amount;
-    long	amount_after;
+diff_mark_adjust(
+    linenr_T	line1,
+    linenr_T	line2,
+    long	amount,
+    long	amount_after)
 {
     int		idx;
     tabpage_T	*tp;
@@ -227,13 +220,13 @@ diff_mark_adjust(line1, line2, amount, a
  * When inserting/deleting lines in existing change blocks, update them.
  */
     static void
-diff_mark_adjust_tp(tp, idx, line1, line2, amount, amount_after)
-    tabpage_T	*tp;
-    int		idx;
-    linenr_T	line1;
-    linenr_T	line2;
-    long	amount;
-    long	amount_after;
+diff_mark_adjust_tp(
+    tabpage_T	*tp,
+    int		idx,
+    linenr_T	line1,
+    linenr_T	line2,
+    long	amount,
+    long	amount_after)
 {
     diff_T	*dp;
     diff_T	*dprev;
@@ -479,10 +472,7 @@ diff_mark_adjust_tp(tp, idx, line1, line
  * Allocate a new diff block and link it between "dprev" and "dp".
  */
     static diff_T *
-diff_alloc_new(tp, dprev, dp)
-    tabpage_T	*tp;
-    diff_T	*dprev;
-    diff_T	*dp;
+diff_alloc_new(tabpage_T *tp, diff_T *dprev, diff_T *dp)
 {
     diff_T	*dnew;
 
@@ -505,9 +495,7 @@ diff_alloc_new(tp, dprev, dp)
  * must take care of removing it.
  */
     static void
-diff_check_unchanged(tp, dp)
-    tabpage_T	*tp;
-    diff_T	*dp;
+diff_check_unchanged(tabpage_T *tp, diff_T *dp)
 {
     int		i_org;
     int		i_new;
@@ -581,9 +569,7 @@ diff_check_unchanged(tp, dp)
  * This can happen when the diff program returns invalid results.
  */
     static int
-diff_check_sanity(tp, dp)
-    tabpage_T	*tp;
-    diff_T	*dp;
+diff_check_sanity(tabpage_T *tp, diff_T *dp)
 {
     int		i;
 
@@ -599,8 +585,8 @@ diff_check_sanity(tp, dp)
  * Mark all diff buffers in the current tab page for redraw.
  */
     static void
-diff_redraw(dofold)
-    int		dofold;	    /* also recompute the folds */
+diff_redraw(
+    int		dofold)	    /* also recompute the folds */
 {
     win_T	*wp;
     int		n;
@@ -633,9 +619,7 @@ diff_redraw(dofold)
  * Return FAIL for failure
  */
     static int
-diff_write(buf, fname)
-    buf_T	*buf;
-    char_u	*fname;
+diff_write(buf_T *buf, char_u *fname)
 {
     int		r;
     char_u	*save_ff;
@@ -656,8 +640,8 @@ diff_write(buf, fname)
  * could have been produced by autocommands, e.g. the netrw plugin).
  */
     void
-ex_diffupdate(eap)
-    exarg_T	*eap UNUSED;	    /* can be NULL */
+ex_diffupdate(
+    exarg_T	*eap UNUSED)	    /* can be NULL */
 {
     buf_T	*buf;
     int		idx_orig;
@@ -832,10 +816,10 @@ theend:
  * Make a diff between files "tmp_orig" and "tmp_new", results in "tmp_diff".
  */
     static void
-diff_file(tmp_orig, tmp_new, tmp_diff)
-    char_u	*tmp_orig;
-    char_u	*tmp_new;
-    char_u	*tmp_diff;
+diff_file(
+    char_u	*tmp_orig,
+    char_u	*tmp_new,
+    char_u	*tmp_diff)
 {
     char_u	*cmd;
     size_t	len;
@@ -888,8 +872,7 @@ diff_file(tmp_orig, tmp_new, tmp_diff)
  * could have been produced by autocommands, e.g. the netrw plugin).
  */
     void
-ex_diffpatch(eap)
-    exarg_T	*eap;
+ex_diffpatch(exarg_T *eap)
 {
     char_u	*tmp_orig;	/* name of original temp file */
     char_u	*tmp_new;	/* name of patched temp file */
@@ -1083,8 +1066,7 @@ theend:
  * Split the window and edit another file, setting options to show the diffs.
  */
     void
-ex_diffsplit(eap)
-    exarg_T	*eap;
+ex_diffsplit(exarg_T *eap)
 {
     win_T	*old_curwin = curwin;
     buf_T	*old_curbuf = curbuf;
@@ -1126,8 +1108,7 @@ ex_diffsplit(eap)
  * Set options to show diffs for the current window.
  */
     void
-ex_diffthis(eap)
-    exarg_T	*eap UNUSED;
+ex_diffthis(exarg_T *eap UNUSED)
 {
     /* Set 'diff', 'scrollbind' on and 'wrap' off. */
     diff_win_options(curwin, TRUE);
@@ -1137,9 +1118,9 @@ ex_diffthis(eap)
  * Set options in window "wp" for diff mode.
  */
     void
-diff_win_options(wp, addbuf)
-    win_T	*wp;
-    int		addbuf;		/* Add buffer to diff. */
+diff_win_options(
+    win_T	*wp,
+    int		addbuf)		/* Add buffer to diff. */
 {
 # ifdef FEAT_FOLDING
     win_T *old_curwin = curwin;
@@ -1209,8 +1190,7 @@ diff_win_options(wp, addbuf)
  * Only in the current tab page.
  */
     void
-ex_diffoff(eap)
-    exarg_T	*eap;
+ex_diffoff(exarg_T *eap)
 {
     win_T	*wp;
 #ifdef FEAT_SCROLLBIND
@@ -1279,10 +1259,10 @@ ex_diffoff(eap)
  * Read the diff output and add each entry to the diff list.
  */
     static void
-diff_read(idx_orig, idx_new, fname)
-    int		idx_orig;	/* idx of original file */
-    int		idx_new;	/* idx of new file */
-    char_u	*fname;		/* name of diff output file */
+diff_read(
+    int		idx_orig,	/* idx of original file */
+    int		idx_new,	/* idx of new file */
+    char_u	*fname)		/* name of diff output file */
 {
     FILE	*fd;
     diff_T	*dprev = NULL;
@@ -1473,11 +1453,11 @@ done:
  * Copy an entry at "dp" from "idx_orig" to "idx_new".
  */
     static void
-diff_copy_entry(dprev, dp, idx_orig, idx_new)
-    diff_T	*dprev;
-    diff_T	*dp;
-    int		idx_orig;
-    int		idx_new;
+diff_copy_entry(
+    diff_T	*dprev,
+    diff_T	*dp,
+    int		idx_orig,
+    int		idx_new)
 {
     long	off;
 
@@ -1494,8 +1474,7 @@ diff_copy_entry(dprev, dp, idx_orig, idx
  * Clear the list of diffblocks for tab page "tp".
  */
     void
-diff_clear(tp)
-    tabpage_T	*tp;
+diff_clear(tabpage_T *tp)
 {
     diff_T	*p, *next_p;
 
@@ -1517,9 +1496,7 @@ diff_clear(tp)
  * This should only be used for windows where 'diff' is set.
  */
     int
-diff_check(wp, lnum)
-    win_T	*wp;
-    linenr_T	lnum;
+diff_check(win_T *wp, linenr_T lnum)
 {
     int		idx;		/* index in tp_diffbuf[] for this buffer */
     diff_T	*dp;
@@ -1611,10 +1588,7 @@ diff_check(wp, lnum)
  * Compare two entries in diff "*dp" and return TRUE if they are equal.
  */
     static int
-diff_equal_entry(dp, idx1, idx2)
-    diff_T	*dp;
-    int		idx1;
-    int		idx2;
+diff_equal_entry(diff_T *dp, int idx1, int idx2)
 {
     int		i;
     char_u	*line;
@@ -1644,9 +1618,7 @@ diff_equal_entry(dp, idx1, idx2)
  * Return non-zero when they are different.
  */
     static int
-diff_cmp(s1, s2)
-    char_u	*s1;
-    char_u	*s2;
+diff_cmp(char_u *s1, char_u *s2)
 {
     char_u	*p1, *p2;
 #ifdef FEAT_MBYTE
@@ -1709,9 +1681,7 @@ diff_cmp(s1, s2)
  * Return the number of filler lines above "lnum".
  */
     int
-diff_check_fill(wp, lnum)
-    win_T	*wp;
-    linenr_T	lnum;
+diff_check_fill(win_T *wp, linenr_T lnum)
 {
     int		n;
 
@@ -1729,9 +1699,7 @@ diff_check_fill(wp, lnum)
  * show the same diff'ed lines.
  */
     void
-diff_set_topline(fromwin, towin)
-    win_T	*fromwin;
-    win_T	*towin;
+diff_set_topline(win_T *fromwin, win_T *towin)
 {
     buf_T	*frombuf = fromwin->w_buffer;
     linenr_T	lnum = fromwin->w_topline;
@@ -1851,7 +1819,7 @@ diff_set_topline(fromwin, towin)
  * This is called when 'diffopt' is changed.
  */
     int
-diffopt_changed()
+diffopt_changed(void)
 {
     char_u	*p;
     int		diff_context_new = 6;
@@ -1929,7 +1897,7 @@ diffopt_changed()
  * Return TRUE if 'diffopt' contains "horizontal".
  */
     int
-diffopt_horizontal()
+diffopt_horizontal(void)
 {
     return (diff_flags & DIFF_HORIZONTAL) != 0;
 }
@@ -1939,11 +1907,11 @@ diffopt_horizontal()
  * Returns TRUE if the line was added, no other buffer has it.
  */
     int
-diff_find_change(wp, lnum, startp, endp)
-    win_T	*wp;
-    linenr_T	lnum;
-    int		*startp;	/* first char of the change */
-    int		*endp;		/* last char of the change */
+diff_find_change(
+    win_T	*wp,
+    linenr_T	lnum,
+    int		*startp,	/* first char of the change */
+    int		*endp)		/* last char of the change */
 {
     char_u	*line_org;
     char_u	*line_new;
@@ -2063,9 +2031,7 @@ diff_find_change(wp, lnum, startp, endp)
  * Return FALSE if there are no diff blocks at all in this window.
  */
     int
-diff_infold(wp, lnum)
-    win_T	*wp;
-    linenr_T	lnum;
+diff_infold(win_T *wp, linenr_T lnum)
 {
     int		i;
     int		idx = -1;
@@ -2112,9 +2078,7 @@ diff_infold(wp, lnum)
  * "dp" and "do" commands.
  */
     void
-nv_diffgetput(put, count)
-    int		put;
-    long	count;
+nv_diffgetput(int put, long count)
 {
     exarg_T	ea;
     char_u	buf[30];
@@ -2141,8 +2105,7 @@ nv_diffgetput(put, count)
  * ":diffput"
  */
     void
-ex_diffgetput(eap)
-    exarg_T	*eap;
+ex_diffgetput(exarg_T *eap)
 {
     linenr_T	lnum;
     int		count;
@@ -2464,9 +2427,7 @@ ex_diffgetput(eap)
  * When there are no diffs, all folds are removed.
  */
     static void
-diff_fold_update(dp, skip_idx)
-    diff_T	*dp;
-    int		skip_idx;
+diff_fold_update(diff_T *dp, int skip_idx)
 {
     int		i;
     win_T	*wp;
@@ -2483,8 +2444,7 @@ diff_fold_update(dp, skip_idx)
  * Return TRUE if buffer "buf" is in diff-mode.
  */
     int
-diff_mode_buf(buf)
-    buf_T	*buf;
+diff_mode_buf(buf_T *buf)
 {
     tabpage_T	*tp;
 
@@ -2499,9 +2459,7 @@ diff_mode_buf(buf)
  * Return FAIL if there isn't such a diff block.
  */
     int
-diff_move_to(dir, count)
-    int		dir;
-    long	count;
+diff_move_to(int dir, long count)
 {
     int		idx;
     linenr_T	lnum = curwin->w_cursor.lnum;
@@ -2554,11 +2512,11 @@ diff_move_to(dir, count)
 }
 
     linenr_T
-diff_get_corresponding_line(buf1, lnum1, buf2, lnum3)
-    buf_T	*buf1;
-    linenr_T	lnum1;
-    buf_T	*buf2;
-    linenr_T	lnum3;
+diff_get_corresponding_line(
+    buf_T	*buf1,
+    linenr_T	lnum1,
+    buf_T	*buf2,
+    linenr_T	lnum3)
 {
     int		idx1;
     int		idx2;
@@ -2628,9 +2586,7 @@ diff_get_corresponding_line(buf1, lnum1,
  * "wp", compensating for inserted/deleted lines.
  */
     linenr_T
-diff_lnum_win(lnum, wp)
-    linenr_T	lnum;
-    win_T	*wp;
+diff_lnum_win(linenr_T lnum, win_T *wp)
 {
     diff_T	*dp;
     int		idx;
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2013,8 +2013,7 @@ static digr_T digraphdefault[] =
  * handle digraphs after typing a character
  */
     int
-do_digraph(c)
-    int	    c;
+do_digraph(int c)
 {
     static int	backspaced;	/* character before K_BS */
     static int	lastchar;	/* last typed character */
@@ -2041,8 +2040,8 @@ do_digraph(c)
  * Returns composed character, or NUL when ESC was used.
  */
     int
-get_digraph(cmdline)
-    int		cmdline;	/* TRUE when called from the cmdline */
+get_digraph(
+    int		cmdline)	/* TRUE when called from the cmdline */
 {
     int		c, cc;
 
@@ -2085,10 +2084,7 @@ get_digraph(cmdline)
  * If "meta_char" is TRUE and "char1" is a space, return "char2" | 0x80.
  */
     static int
-getexactdigraph(char1, char2, meta_char)
-    int		char1;
-    int		char2;
-    int		meta_char;
+getexactdigraph(int char1, int char2, int meta_char)
 {
     int		i;
     int		retval = 0;
@@ -2173,10 +2169,7 @@ getexactdigraph(char1, char2, meta_char)
  * Allow for both char1-char2 and char2-char1
  */
     int
-getdigraph(char1, char2, meta_char)
-    int	char1;
-    int	char2;
-    int	meta_char;
+getdigraph(int char1, int char2, int meta_char)
 {
     int	    retval;
 
@@ -2192,8 +2185,7 @@ getdigraph(char1, char2, meta_char)
  * format: {c1}{c2} char {c1}{c2} char ...
  */
     void
-putdigraph(str)
-    char_u *str;
+putdigraph(char_u *str)
 {
     int		char1, char2, n;
     int		i;
@@ -2252,7 +2244,7 @@ putdigraph(str)
 }
 
     void
-listdigraphs()
+listdigraphs(void)
 {
     int		i;
     digr_T	*dp;
@@ -2297,8 +2289,7 @@ listdigraphs()
 }
 
     static void
-printdigraph(dp)
-    digr_T	*dp;
+printdigraph(digr_T *dp)
 {
     char_u	buf[30];
     char_u	*p;
@@ -2366,7 +2357,7 @@ static void keymap_unload(void);
  * checked.
  */
     char_u *
-keymap_init()
+keymap_init(void)
 {
     curbuf->b_kmap_state &= ~KEYMAP_INIT;
 
@@ -2419,8 +2410,7 @@ keymap_init()
  * ":loadkeymap" command: load the following lines as the keymap.
  */
     void
-ex_loadkeymap(eap)
-    exarg_T	*eap;
+ex_loadkeymap(exarg_T *eap)
 {
     char_u	*line;
     char_u	*p;
@@ -2505,7 +2495,7 @@ ex_loadkeymap(eap)
  * Stop using 'keymap'.
  */
     static void
-keymap_unload()
+keymap_unload(void)
 {
     char_u	buf[KMAP_MAXLEN + 10];
     int		i;
--- a/src/edit.c
+++ b/src/edit.c
@@ -321,10 +321,10 @@ static int	dont_sync_undo = FALSE;	/* CT
  * Return TRUE if a CTRL-O command caused the return (insert mode pending).
  */
     int
-edit(cmdchar, startln, count)
-    int		cmdchar;
-    int		startln;	/* if set, insert at start of line */
-    long	count;
+edit(
+    int		cmdchar,
+    int		startln,	/* if set, insert at start of line */
+    long	count)
 {
     int		c = 0;
     char_u	*ptr;
@@ -1569,8 +1569,8 @@ force_cindent:
  * inserting sequences of characters (e.g., for CTRL-R).
  */
     static void
-ins_redraw(ready)
-    int		ready UNUSED;	    /* not busy with something */
+ins_redraw(
+    int		ready UNUSED)	    /* not busy with something */
 {
 #ifdef FEAT_CONCEAL
     linenr_T	conceal_old_cursor_line = 0;
@@ -1667,7 +1667,7 @@ ins_redraw(ready)
  * Handle a CTRL-V or CTRL-Q typed in Insert mode.
  */
     static void
-ins_ctrl_v()
+ins_ctrl_v(void)
 {
     int		c;
     int		did_putchar = FALSE;
@@ -1716,9 +1716,7 @@ static int  pc_row;
 static int  pc_col;
 
     void
-edit_putchar(c, highlight)
-    int	    c;
-    int	    highlight;
+edit_putchar(int c, int highlight)
 {
     int	    attr;
 
@@ -1779,7 +1777,7 @@ edit_putchar(c, highlight)
  * Undo the previous edit_putchar().
  */
     void
-edit_unputchar()
+edit_unputchar(void)
 {
     if (pc_status != PC_STATUS_UNSET && pc_row >= msg_scrolled)
     {
@@ -1799,8 +1797,7 @@ edit_unputchar()
  * Only works when cursor is in the line that changes.
  */
     void
-display_dollar(col)
-    colnr_T	col;
+display_dollar(colnr_T col)
 {
     colnr_T save_col;
 
@@ -1834,7 +1831,7 @@ display_dollar(col)
  * in insert mode.
  */
     static void
-undisplay_dollar()
+undisplay_dollar(void)
 {
     if (dollar_vcol >= 0)
     {
@@ -1852,12 +1849,12 @@ undisplay_dollar()
  * if round is TRUE, round the indent to 'shiftwidth' (only with _INC and _Dec).
  */
     void
-change_indent(type, amount, round, replaced, call_changed_bytes)
-    int		type;
-    int		amount;
-    int		round;
-    int		replaced;	/* replaced character, put on replace stack */
-    int		call_changed_bytes;	/* call changed_bytes() */
+change_indent(
+    int		type,
+    int		amount,
+    int		round,
+    int		replaced,	/* replaced character, put on replace stack */
+    int		call_changed_bytes)	/* call changed_bytes() */
 {
     int		vcol;
     int		last_vcol;
@@ -2101,8 +2098,7 @@ change_indent(type, amount, round, repla
  * modes.
  */
     void
-truncate_spaces(line)
-    char_u  *line;
+truncate_spaces(char_u *line)
 {
     int	    i;
 
@@ -2124,8 +2120,7 @@ truncate_spaces(line)
  * character.
  */
     void
-backspace_until_column(col)
-    int	    col;
+backspace_until_column(int col)
 {
     while ((int)curwin->w_cursor.col > col)
     {
@@ -2144,8 +2139,7 @@ backspace_until_column(col)
  * Return TRUE when something was deleted.
  */
    static int
-del_char_after_col(limit_col)
-    int limit_col UNUSED;
+del_char_after_col(int limit_col UNUSED)
 {
 #ifdef FEAT_MBYTE
     if (enc_utf8 && limit_col >= 0)
@@ -2179,7 +2173,7 @@ del_char_after_col(limit_col)
  * CTRL-X pressed in Insert mode.
  */
     static void
-ins_ctrl_x()
+ins_ctrl_x(void)
 {
     /* CTRL-X after CTRL-X CTRL-V doesn't do anything, so that CTRL-X
      * CTRL-V works like CTRL-N */
@@ -2203,8 +2197,7 @@ ins_ctrl_x()
  * Return TRUE if the 'dict' or 'tsr' option can be used.
  */
     static int
-has_compl_option(dict_opt)
-    int	    dict_opt;
+has_compl_option(int dict_opt)
 {
     if (dict_opt ? (*curbuf->b_p_dict == NUL && *p_dict == NUL
 # ifdef FEAT_SPELL
@@ -2235,8 +2228,7 @@ has_compl_option(dict_opt)
  * This depends on the current mode.
  */
     int
-vim_is_ctrl_x_key(c)
-    int	    c;
+vim_is_ctrl_x_key(int c)
 {
     /* Always allow ^R - let it's results then be checked */
     if (c == Ctrl_R)
@@ -2299,8 +2291,7 @@ vim_is_ctrl_x_key(c)
  * is visible.
  */
     static int
-ins_compl_accept_char(c)
-    int c;
+ins_compl_accept_char(int c)
 {
     if (ctrl_x_mode & CTRL_X_WANT_IDENT)
 	/* When expanding an identifier only accept identifier chars. */
@@ -2334,13 +2325,13 @@ ins_compl_accept_char(c)
  * the rest of the word to be in -- webb
  */
     int
-ins_compl_add_infercase(str, len, icase, fname, dir, flags)
-    char_u	*str;
-    int		len;
-    int		icase;
-    char_u	*fname;
-    int		dir;
-    int		flags;
+ins_compl_add_infercase(
+    char_u	*str,
+    int		len,
+    int		icase,
+    char_u	*fname,
+    int		dir,
+    int		flags)
 {
     char_u	*p;
     int		i, c;
@@ -2503,15 +2494,15 @@ ins_compl_add_infercase(str, len, icase,
  * maybe because alloc() returns NULL, then FAIL is returned.
  */
     static int
-ins_compl_add(str, len, icase, fname, cptext, cdir, flags, adup)
-    char_u	*str;
-    int		len;
-    int		icase;
-    char_u	*fname;
-    char_u	**cptext;   /* extra text for popup menu or NULL */
-    int		cdir;
-    int		flags;
-    int		adup;	    /* accept duplicate match */
+ins_compl_add(
+    char_u	*str,
+    int		len,
+    int		icase,
+    char_u	*fname,
+    char_u	**cptext,   /* extra text for popup menu or NULL */
+    int		cdir,
+    int		flags,
+    int		adup)	    /* accept duplicate match */
 {
     compl_T	*match;
     int		dir = (cdir == 0 ? compl_direction : cdir);
@@ -2622,10 +2613,7 @@ ins_compl_add(str, len, icase, fname, cp
  * match->cp_icase.
  */
     static int
-ins_compl_equal(match, str, len)
-    compl_T	*match;
-    char_u	*str;
-    int		len;
+ins_compl_equal(compl_T *match, char_u *str, int len)
 {
     if (match->cp_icase)
 	return STRNICMP(match->cp_str, str, (size_t)len) == 0;
@@ -2636,8 +2624,7 @@ ins_compl_equal(match, str, len)
  * Reduce the longest common string for match "match".
  */
     static void
-ins_compl_longest_match(match)
-    compl_T	*match;
+ins_compl_longest_match(compl_T *match)
 {
     char_u	*p, *s;
     int		c1, c2;
@@ -2721,10 +2708,10 @@ ins_compl_longest_match(match)
  * Frees matches[].
  */
     static void
-ins_compl_add_matches(num_matches, matches, icase)
-    int		num_matches;
-    char_u	**matches;
-    int		icase;
+ins_compl_add_matches(
+    int		num_matches,
+    char_u	**matches,
+    int		icase)
 {
     int		i;
     int		add_r = OK;
@@ -2742,7 +2729,7 @@ ins_compl_add_matches(num_matches, match
  * Return the number of matches (excluding the original).
  */
     static int
-ins_compl_make_cyclic()
+ins_compl_make_cyclic(void)
 {
     compl_T *match;
     int	    count = 0;
@@ -2771,9 +2758,7 @@ ins_compl_make_cyclic()
  * "list" is the list of matches.
  */
     void
-set_completion(startcol, list)
-    colnr_T startcol;
-    list_T  *list;
+set_completion(colnr_T startcol, list_T *list)
 {
     /* If already doing completions stop it. */
     if (ctrl_x_mode != 0)
@@ -2822,7 +2807,7 @@ static int compl_match_arraysize;
  * Update the screen and when there is any scrolling remove the popup menu.
  */
     static void
-ins_compl_upd_pum()
+ins_compl_upd_pum(void)
 {
     int		h;
 
@@ -2839,7 +2824,7 @@ ins_compl_upd_pum()
  * Remove any popup menu.
  */
     static void
-ins_compl_del_pum()
+ins_compl_del_pum(void)
 {
     if (compl_match_array != NULL)
     {
@@ -2853,7 +2838,7 @@ ins_compl_del_pum()
  * Return TRUE if the popup menu should be displayed.
  */
     static int
-pum_wanted()
+pum_wanted(void)
 {
     /* 'completeopt' must contain "menu" or "menuone" */
     if (vim_strchr(p_cot, 'm') == NULL)
@@ -2874,7 +2859,7 @@ pum_wanted()
  * One if 'completopt' contains "menuone".
  */
     static int
-pum_enough_matches()
+pum_enough_matches(void)
 {
     compl_T     *compl;
     int		i;
@@ -2901,7 +2886,7 @@ pum_enough_matches()
  * Also adjusts "compl_shown_match" to an entry that is actually displayed.
  */
     void
-ins_compl_show_pum()
+ins_compl_show_pum(void)
 {
     compl_T     *compl;
     compl_T     *shown_compl = NULL;
@@ -3049,11 +3034,11 @@ ins_compl_show_pum()
  * files "dict_start" to the list of completions.
  */
     static void
-ins_compl_dictionaries(dict_start, pat, flags, thesaurus)
-    char_u	*dict_start;
-    char_u	*pat;
-    int		flags;		/* DICT_FIRST and/or DICT_EXACT */
-    int		thesaurus;	/* Thesaurus completion */
+ins_compl_dictionaries(
+    char_u	*dict_start,
+    char_u	*pat,
+    int		flags,		/* DICT_FIRST and/or DICT_EXACT */
+    int		thesaurus)	/* Thesaurus completion */
 {
     char_u	*dict = dict_start;
     char_u	*ptr;
@@ -3173,14 +3158,14 @@ theend:
 }
 
     static void
-ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
-    int		count;
-    char_u	**files;
-    int		thesaurus;
-    int		flags;
-    regmatch_T	*regmatch;
-    char_u	*buf;
-    int		*dir;
+ins_compl_files(
+    int		count,
+    char_u	**files,
+    int		thesaurus,
+    int		flags,
+    regmatch_T	*regmatch,
+    char_u	*buf,
+    int		*dir)
 {
     char_u	*ptr;
     int		i;
@@ -3282,8 +3267,7 @@ ins_compl_files(count, files, thesaurus,
  * Returns a pointer to the first char of the word.  Also stops at a NUL.
  */
     char_u *
-find_word_start(ptr)
-    char_u	*ptr;
+find_word_start(char_u *ptr)
 {
 #ifdef FEAT_MBYTE
     if (has_mbyte)
@@ -3301,8 +3285,7 @@ find_word_start(ptr)
  * Returns a pointer to just after the word.
  */
     char_u *
-find_word_end(ptr)
-    char_u	*ptr;
+find_word_end(char_u *ptr)
 {
 #ifdef FEAT_MBYTE
     int		start_class;
@@ -3330,8 +3313,7 @@ find_word_end(ptr)
  * Returns a pointer to just after the line.
  */
     static char_u *
-find_line_end(ptr)
-    char_u	*ptr;
+find_line_end(char_u *ptr)
 {
     char_u	*s;
 
@@ -3345,7 +3327,7 @@ find_line_end(ptr)
  * Free the list of completions
  */
     static void
-ins_compl_free()
+ins_compl_free(void)
 {
     compl_T *match;
     int	    i;
@@ -3379,7 +3361,7 @@ ins_compl_free()
 }
 
     static void
-ins_compl_clear()
+ins_compl_clear(void)
 {
     compl_cont_status = 0;
     compl_started = FALSE;
@@ -3400,7 +3382,7 @@ ins_compl_clear()
  * Return TRUE when Insert completion is active.
  */
     int
-ins_compl_active()
+ins_compl_active(void)
 {
     return compl_started;
 }
@@ -3412,7 +3394,7 @@ ins_compl_active()
  * to be got from the user.
  */
     static int
-ins_compl_bs()
+ins_compl_bs(void)
 {
     char_u	*line;
     char_u	*p;
@@ -3452,7 +3434,7 @@ ins_compl_bs()
  * be called.
  */
     static int
-ins_compl_need_restart()
+ins_compl_need_restart(void)
 {
     /* Return TRUE if we didn't complete finding matches or when the
      * 'completefunc' returned "always" in the "refresh" dictionary item. */
@@ -3467,7 +3449,7 @@ ins_compl_need_restart()
  * May also search for matches again if the previous search was interrupted.
  */
     static void
-ins_compl_new_leader()
+ins_compl_new_leader(void)
 {
     ins_compl_del_pum();
     ins_compl_delete();
@@ -3517,7 +3499,7 @@ ins_compl_new_leader()
  * the cursor column.  Making sure it never goes below zero.
  */
     static int
-ins_compl_len()
+ins_compl_len(void)
 {
     int off = (int)curwin->w_cursor.col - (int)compl_col;
 
@@ -3531,8 +3513,7 @@ ins_compl_len()
  * matches.
  */
     static void
-ins_compl_addleader(c)
-    int		c;
+ins_compl_addleader(int c)
 {
 #ifdef FEAT_MBYTE
     int		cc;
@@ -3577,7 +3558,7 @@ ins_compl_addleader(c)
  * BS or a key was typed while still searching for matches.
  */
     static void
-ins_compl_restart()
+ins_compl_restart(void)
 {
     ins_compl_free();
     compl_started = FALSE;
@@ -3590,8 +3571,7 @@ ins_compl_restart()
  * Set the first match, the original text.
  */
     static void
-ins_compl_set_original_text(str)
-    char_u	*str;
+ins_compl_set_original_text(char_u *str)
 {
     char_u	*p;
 
@@ -3612,7 +3592,7 @@ ins_compl_set_original_text(str)
  * matches.
  */
     static void
-ins_compl_addfrommatch()
+ins_compl_addfrommatch(void)
 {
     char_u	*p;
     int		len = (int)curwin->w_cursor.col - (int)compl_col;
@@ -3655,8 +3635,7 @@ ins_compl_addfrommatch()
  * Returns TRUE when the character is not to be inserted;
  */
     static int
-ins_compl_prep(c)
-    int	    c;
+ins_compl_prep(int c)
 {
     char_u	*ptr;
     int		want_cindent;
@@ -3947,8 +3926,7 @@ ins_compl_prep(c)
  * "ptr" is the known leader text or NUL.
  */
     static void
-ins_compl_fixRedoBufForLeader(ptr_arg)
-    char_u *ptr_arg;
+ins_compl_fixRedoBufForLeader(char_u *ptr_arg)
 {
     int	    len;
     char_u  *p;
@@ -3988,9 +3966,7 @@ ins_compl_fixRedoBufForLeader(ptr_arg)
  * Returns the buffer to scan, if any, otherwise returns curbuf -- Acevedo
  */
     static buf_T *
-ins_compl_next_buf(buf, flag)
-    buf_T	*buf;
-    int		flag;
+ins_compl_next_buf(buf_T *buf, int flag)
 {
 #ifdef FEAT_WINDOWS
     static win_T *wp;
@@ -4031,9 +4007,9 @@ static void expand_by_function(int type,
  * get matches in "matches".
  */
     static void
-expand_by_function(type, base)
-    int		type;	    /* CTRL_X_OMNI or CTRL_X_FUNCTION */
-    char_u	*base;
+expand_by_function(
+    int		type,	    /* CTRL_X_OMNI or CTRL_X_FUNCTION */
+    char_u	*base)
 {
     list_T      *matchlist = NULL;
     dict_T	*matchdict = NULL;
@@ -4105,8 +4081,7 @@ theend:
  * Add completions from a list.
  */
     static void
-ins_compl_add_list(list)
-    list_T	*list;
+ins_compl_add_list(list_T *list)
 {
     listitem_T	*li;
     int		dir = compl_direction;
@@ -4126,8 +4101,7 @@ ins_compl_add_list(list)
  * Add completions from a dict.
  */
     static void
-ins_compl_add_dict(dict)
-    dict_T	*dict;
+ins_compl_add_dict(dict_T *dict)
 {
     dictitem_T	*di_refresh;
     dictitem_T	*di_words;
@@ -4156,9 +4130,7 @@ ins_compl_add_dict(dict)
  * maybe because alloc() returns NULL, then FAIL is returned.
  */
     int
-ins_compl_add_tv(tv, dir)
-    typval_T	*tv;
-    int		dir;
+ins_compl_add_tv(typval_T *tv, int dir)
 {
     char_u	*word;
     int		icase = FALSE;
@@ -4205,8 +4177,7 @@ ins_compl_add_tv(tv, dir)
  * Return the total number of matches or -1 if still unknown -- Acevedo
  */
     static int
-ins_compl_get_exp(ini)
-    pos_T	*ini;
+ins_compl_get_exp(pos_T *ini)
 {
     static pos_T	first_match_pos;
     static pos_T	last_match_pos;
@@ -4628,7 +4599,7 @@ ins_compl_get_exp(ini)
 
 /* Delete the old text being completed. */
     static void
-ins_compl_delete()
+ins_compl_delete(void)
 {
     int	    i;
 
@@ -4648,7 +4619,7 @@ ins_compl_delete()
 
 /* Insert the new text being completed. */
     static void
-ins_compl_insert()
+ins_compl_insert(void)
 {
     dict_T	*dict;
 
@@ -4694,11 +4665,11 @@ ins_compl_insert()
  * calls this function with "allow_get_expansion" FALSE.
  */
     static int
-ins_compl_next(allow_get_expansion, count, insert_match)
-    int	    allow_get_expansion;
-    int	    count;		/* repeat completion this many times; should
+ins_compl_next(
+    int	    allow_get_expansion,
+    int	    count,		/* repeat completion this many times; should
 				   be at least 1 */
-    int	    insert_match;	/* Insert the newly selected match */
+    int	    insert_match)	/* Insert the newly selected match */
 {
     int	    num_matches = -1;
     int	    i;
@@ -4915,8 +4886,7 @@ ins_compl_next(allow_get_expansion, coun
  * "frequency" specifies out of how many calls we actually check.
  */
     void
-ins_compl_check_keys(frequency)
-    int		frequency;
+ins_compl_check_keys(int frequency)
 {
     static int	count = 0;
 
@@ -4974,8 +4944,7 @@ ins_compl_check_keys(frequency)
  * Returns BACKWARD or FORWARD.
  */
     static int
-ins_compl_key2dir(c)
-    int		c;
+ins_compl_key2dir(int c)
 {
     if (c == Ctrl_P || c == Ctrl_L
 	    || (pum_visible() && (c == K_PAGEUP || c == K_KPAGEUP
@@ -4989,8 +4958,7 @@ ins_compl_key2dir(c)
  * is visible.
  */
     static int
-ins_compl_pum_key(c)
-    int		c;
+ins_compl_pum_key(int c)
 {
     return pum_visible() && (c == K_PAGEUP || c == K_KPAGEUP || c == K_S_UP
 		     || c == K_PAGEDOWN || c == K_KPAGEDOWN || c == K_S_DOWN
@@ -5002,8 +4970,7 @@ ins_compl_pum_key(c)
  * Returns 1 for most keys, height of the popup menu for page-up/down keys.
  */
     static int
-ins_compl_key2count(c)
-    int		c;
+ins_compl_key2count(int c)
 {
     int		h;
 
@@ -5022,8 +4989,7 @@ ins_compl_key2count(c)
  * to change the currently selected completion.
  */
     static int
-ins_compl_use_match(c)
-    int		c;
+ins_compl_use_match(int c)
 {
     switch (c)
     {
@@ -5046,8 +5012,7 @@ ins_compl_use_match(c)
  * Returns OK if completion was done, FAIL if something failed (out of mem).
  */
     static int
-ins_complete(c)
-    int		c;
+ins_complete(int c)
 {
     char_u	*line;
     int		startcol = 0;	    /* column where searched text starts */
@@ -5668,10 +5633,7 @@ ins_complete(c)
  * Returns the length (needed) of dest
  */
     static unsigned
-quote_meta(dest, src, len)
-    char_u	*dest;
-    char_u	*src;
-    int		len;
+quote_meta(char_u *dest, char_u *src, int len)
 {
     unsigned	m = (unsigned)len + 1;  /* one extra for the NUL */
 
@@ -5733,7 +5695,7 @@ quote_meta(dest, src, len)
  * For Unicode a character > 255 may be returned.
  */
     int
-get_literal()
+get_literal(void)
 {
     int		cc;
     int		nc;
@@ -5870,10 +5832,10 @@ get_literal()
  * Insert character, taking care of special keys and mod_mask
  */
     static void
-insert_special(c, allow_modmask, ctrlv)
-    int	    c;
-    int	    allow_modmask;
-    int	    ctrlv;	    /* c was typed after CTRL-V */
+insert_special(
+    int	    c,
+    int	    allow_modmask,
+    int	    ctrlv)	    /* c was typed after CTRL-V */
 {
     char_u  *p;
     int	    len;
@@ -5941,10 +5903,10 @@ insert_special(c, allow_modmask, ctrlv)
  *	    INSCHAR_COM_LIST - format comments with num list or 2nd line indent
  */
     void
-insertchar(c, flags, second_indent)
-    int		c;			/* character to insert or NUL */
-    int		flags;			/* INSCHAR_FORMAT, etc. */
-    int		second_indent;		/* indent for second line if >= 0 */
+insertchar(
+    int		c,			/* character to insert or NUL */
+    int		flags,			/* INSCHAR_FORMAT, etc. */
+    int		second_indent)		/* indent for second line if >= 0 */
 {
     int		textwidth;
 #ifdef FEAT_COMMENTS
@@ -6191,12 +6153,12 @@ insertchar(c, flags, second_indent)
  * will be the comment leader length sent to open_line().
  */
     static void
-internal_format(textwidth, second_indent, flags, format_only, c)
-    int		textwidth;
-    int		second_indent;
-    int		flags;
-    int		format_only;
-    int		c; /* character to be inserted (can be NUL) */
+internal_format(
+    int		textwidth,
+    int		second_indent,
+    int		flags,
+    int		format_only,
+    int		c) /* character to be inserted (can be NUL) */
 {
     int		cc;
     int		save_char = NUL;
@@ -6588,9 +6550,9 @@ internal_format(textwidth, second_indent
  * saved here.
  */
     void
-auto_format(trailblank, prev_line)
-    int		trailblank;	/* when TRUE also format with trailing blank */
-    int		prev_line;	/* may start in previous line */
+auto_format(
+    int		trailblank,	/* when TRUE also format with trailing blank */
+    int		prev_line)	/* may start in previous line */
 {
     pos_T	pos;
     colnr_T	len;
@@ -6699,8 +6661,8 @@ auto_format(trailblank, prev_line)
  * position.
  */
     static void
-check_auto_format(end_insert)
-    int		end_insert;	    /* TRUE when ending Insert mode */
+check_auto_format(
+    int		end_insert)	    /* TRUE when ending Insert mode */
 {
     int		c = ' ';
     int		cc;
@@ -6737,8 +6699,8 @@ check_auto_format(end_insert)
  *	Set default to window width (maximum 79) for "gq" operator.
  */
     int
-comp_textwidth(ff)
-    int		ff;	/* force formatting (for "gq" command) */
+comp_textwidth(
+    int		ff)	/* force formatting (for "gq" command) */
 {
     int		textwidth;
 
@@ -6781,8 +6743,7 @@ comp_textwidth(ff)
  * Put a character in the redo buffer, for when just after a CTRL-V.
  */
     static void
-redo_literal(c)
-    int	    c;
+redo_literal(int c)
 {
     char_u	buf[10];
 
@@ -6802,8 +6763,8 @@ redo_literal(c)
  * For undo/redo it resembles hitting the <ESC> key.
  */
     static void
-start_arrow(end_insert_pos)
-    pos_T    *end_insert_pos;		/* can be NULL */
+start_arrow(
+    pos_T    *end_insert_pos)		/* can be NULL */
 {
     start_arrow_common(end_insert_pos, TRUE);
 }
@@ -6813,9 +6774,9 @@ start_arrow(end_insert_pos)
  * Will prepare for redo of CTRL-G U if "end_change" is FALSE.
  */
     static void
-start_arrow_with_change(end_insert_pos, end_change)
-    pos_T    *end_insert_pos;		/* can be NULL */
-    int	      end_change;		/* end undoable change */
+start_arrow_with_change(
+    pos_T    *end_insert_pos,		/* can be NULL */
+    int	      end_change)		/* end undoable change */
 {
     start_arrow_common(end_insert_pos, end_change);
     if (!end_change)
@@ -6826,9 +6787,9 @@ start_arrow_with_change(end_insert_pos, 
 }
 
     static void
-start_arrow_common(end_insert_pos, end_change)
-    pos_T    *end_insert_pos;		/* can be NULL */
-    int	      end_change;		/* end undoable change */
+start_arrow_common(
+    pos_T    *end_insert_pos,		/* can be NULL */
+    int	      end_change)		/* end undoable change */
 {
     if (!arrow_used && end_change)	/* something has been inserted */
     {
@@ -6847,7 +6808,7 @@ start_arrow_common(end_insert_pos, end_c
  * It may be skipped again, thus reset spell_redraw_lnum first.
  */
     static void
-check_spell_redraw()
+check_spell_redraw(void)
 {
     if (spell_redraw_lnum != 0)
     {
@@ -6863,7 +6824,7 @@ check_spell_redraw()
  * spelled word, if there is one.
  */
     static void
-spell_back_to_badword()
+spell_back_to_badword(void)
 {
     pos_T	tpos = curwin->w_cursor;
 
@@ -6879,7 +6840,7 @@ spell_back_to_badword()
  * Returns FAIL if undo is impossible, shouldn't insert then.
  */
     int
-stop_arrow()
+stop_arrow(void)
 {
     if (arrow_used)
     {
@@ -6928,10 +6889,10 @@ stop_arrow()
  * to another window/buffer.
  */
     static void
-stop_insert(end_insert_pos, esc, nomove)
-    pos_T	*end_insert_pos;
-    int		esc;			/* called by ins_esc() */
-    int		nomove;			/* <c-\><c-o>, don't move cursor */
+stop_insert(
+    pos_T	*end_insert_pos,
+    int		esc,			/* called by ins_esc() */
+    int		nomove)			/* <c-\><c-o>, don't move cursor */
 {
     int		cc;
     char_u	*ptr;
@@ -7069,8 +7030,7 @@ stop_insert(end_insert_pos, esc, nomove)
  * Used for the replace command.
  */
     void
-set_last_insert(c)
-    int		c;
+set_last_insert(int c)
 {
     char_u	*s;
 
@@ -7091,7 +7051,7 @@ set_last_insert(c)
 
 #if defined(EXITFREE) || defined(PROTO)
     void
-free_last_insert()
+free_last_insert(void)
 {
     vim_free(last_insert);
     last_insert = NULL;
@@ -7108,9 +7068,7 @@ free_last_insert()
  * Returns a pointer to after the added bytes.
  */
     char_u *
-add_char2buf(c, s)
-    int		c;
-    char_u	*s;
+add_char2buf(int c, char_u *s)
 {
 #ifdef FEAT_MBYTE
     char_u	temp[MB_MAXBYTES + 1];
@@ -7153,8 +7111,7 @@ add_char2buf(c, s)
  * if flags & BL_FIX	don't leave the cursor on a NUL.
  */
     void
-beginline(flags)
-    int		flags;
+beginline(int flags)
 {
     if ((flags & BL_SOL) && !p_sol)
 	coladvance(curwin->w_curswant);
@@ -7186,7 +7143,7 @@ beginline(flags)
  */
 
     int
-oneright()
+oneright(void)
 {
     char_u	*ptr;
     int		l;
@@ -7239,7 +7196,7 @@ oneright()
 }
 
     int
-oneleft()
+oneleft(void)
 {
 #ifdef FEAT_VIRTUALEDIT
     if (virtual_active())
@@ -7308,9 +7265,9 @@ oneleft()
 }
 
     int
-cursor_up(n, upd_topline)
-    long	n;
-    int		upd_topline;	    /* When TRUE: update topline */
+cursor_up(
+    long	n,
+    int		upd_topline)	    /* When TRUE: update topline */
 {
     linenr_T	lnum;
 
@@ -7367,9 +7324,9 @@ cursor_up(n, upd_topline)
  * Cursor down a number of logical lines.
  */
     int
-cursor_down(n, upd_topline)
-    long	n;
-    int		upd_topline;	    /* When TRUE: update topline */
+cursor_down(
+    long	n,
+    int		upd_topline)	    /* When TRUE: update topline */
 {
     linenr_T	lnum;
 
@@ -7428,10 +7385,10 @@ cursor_down(n, upd_topline)
  * first have to remove the command.
  */
     int
-stuff_inserted(c, count, no_esc)
-    int	    c;		/* Command character to be inserted */
-    long    count;	/* Repeat this many times */
-    int	    no_esc;	/* Don't add an ESC at the end */
+stuff_inserted(
+    int	    c,		/* Command character to be inserted */
+    long    count,	/* Repeat this many times */
+    int	    no_esc)	/* Don't add an ESC at the end */
 {
     char_u	*esc_ptr;
     char_u	*ptr;
@@ -7488,7 +7445,7 @@ stuff_inserted(c, count, no_esc)
 }
 
     char_u *
-get_last_insert()
+get_last_insert(void)
 {
     if (last_insert == NULL)
 	return NULL;
@@ -7500,7 +7457,7 @@ get_last_insert()
  * Returns pointer to allocated memory (must be freed) or NULL.
  */
     char_u *
-get_last_insert_save()
+get_last_insert_save(void)
 {
     char_u	*s;
     int		len;
@@ -7524,8 +7481,7 @@ get_last_insert_save()
  * the replacement string is inserted in typebuf.tb_buf[], followed by "c".
  */
     static int
-echeck_abbr(c)
-    int c;
+echeck_abbr(int c)
 {
     /* Don't check for abbreviation in paste mode, when disabled and just
      * after moving around with cursor keys. */
@@ -7560,8 +7516,8 @@ static long	replace_stack_nr = 0;	    /*
 static long	replace_stack_len = 0;	    /* max. number of entries */
 
     void
-replace_push(c)
-    int	    c;	    /* character that is replaced (NUL is none) */
+replace_push(
+    int	    c)	    /* character that is replaced (NUL is none) */
 {
     char_u  *p;
 
@@ -7598,8 +7554,7 @@ replace_push(c)
  * Return the number of bytes done (includes composing characters).
  */
     int
-replace_push_mb(p)
-    char_u *p;
+replace_push_mb(char_u *p)
 {
     int l = (*mb_ptr2len)(p);
     int j;
@@ -7616,7 +7571,7 @@ replace_push_mb(p)
  * return replaced character or NUL otherwise
  */
     static int
-replace_pop()
+replace_pop(void)
 {
     if (replace_stack_nr == 0)
 	return -1;
@@ -7628,8 +7583,8 @@ replace_pop()
  * encountered.
  */
     static void
-replace_join(off)
-    int	    off;	/* offset for which NUL to remove */
+replace_join(
+    int	    off)	/* offset for which NUL to remove */
 {
     int	    i;
 
@@ -7648,7 +7603,7 @@ replace_join(off)
  * before the cursor.  Can only be used in REPLACE or VREPLACE mode.
  */
     static void
-replace_pop_ins()
+replace_pop_ins(void)
 {
     int	    cc;
     int	    oldState = State;
@@ -7672,8 +7627,7 @@ replace_pop_ins()
  * indicates a multi-byte char, pop the other bytes too.
  */
     static void
-mb_replace_pop_ins(cc)
-    int		cc;
+mb_replace_pop_ins(int cc)
 {
     int		n;
     char_u	buf[MB_MAXBYTES + 1];
@@ -7727,7 +7681,7 @@ mb_replace_pop_ins(cc)
  * (called when exiting replace mode)
  */
     static void
-replace_flush()
+replace_flush(void)
 {
     vim_free(replace_stack);
     replace_stack = NULL;
@@ -7745,8 +7699,7 @@ replace_flush()
  * using composing characters, use del_char_after_col() instead of del_char().
  */
     static void
-replace_do_bs(limit_col)
-    int		limit_col;
+replace_do_bs(int limit_col)
 {
     int		cc;
 #ifdef FEAT_VREPLACE
@@ -7832,7 +7785,7 @@ replace_do_bs(limit_col)
  * Return TRUE if C-indenting is on.
  */
     static int
-cindent_on()
+cindent_on(void)
 {
     return (!p_paste && (curbuf->b_p_cin
 # ifdef FEAT_EVAL
@@ -7851,8 +7804,7 @@ cindent_on()
  */
 
     void
-fixthisline(get_the_indent)
-    int (*get_the_indent)(void);
+fixthisline(int (*get_the_indent)(void))
 {
     int amount = get_the_indent();
 
@@ -7865,7 +7817,7 @@ fixthisline(get_the_indent)
 }
 
     void
-fix_indent()
+fix_indent(void)
 {
     if (p_paste)
 	return;
@@ -7899,10 +7851,10 @@ fix_indent()
  * If line_is_empty is TRUE accept keys with '0' before them.
  */
     int
-in_cinkeys(keytyped, when, line_is_empty)
-    int		keytyped;
-    int		when;
-    int		line_is_empty;
+in_cinkeys(
+    int		keytyped,
+    int		when,
+    int		line_is_empty)
 {
     char_u	*look;
     int		try_match;
@@ -8161,8 +8113,7 @@ in_cinkeys(keytyped, when, line_is_empty
  * Map Hebrew keyboard when in hkmap mode.
  */
     int
-hkmap(c)
-    int c;
+hkmap(int c)
 {
     if (p_hkmapp)   /* phonetic mapping, by Ilya Dogolazky */
     {
@@ -8242,7 +8193,7 @@ hkmap(c)
 #endif
 
     static void
-ins_reg()
+ins_reg(void)
 {
     int		need_redraw = FALSE;
     int		regname;
@@ -8360,7 +8311,7 @@ ins_reg()
  * CTRL-G commands in Insert mode.
  */
     static void
-ins_ctrl_g()
+ins_ctrl_g(void)
 {
     int		c;
 
@@ -8416,7 +8367,7 @@ ins_ctrl_g()
  * CTRL-^ in Insert mode.
  */
     static void
-ins_ctrl_hat()
+ins_ctrl_hat(void)
 {
     if (map_to_exists_mode((char_u *)"", LANGMAP, FALSE))
     {
@@ -8471,10 +8422,10 @@ ins_ctrl_hat()
  * insert.
  */
     static int
-ins_esc(count, cmdchar, nomove)
-    long	*count;
-    int		cmdchar;
-    int		nomove;	    /* don't move cursor */
+ins_esc(
+    long	*count,
+    int		cmdchar,
+    int		nomove)	    /* don't move cursor */
 {
     int		temp;
     static int	disabled_redraw = FALSE;
@@ -8620,7 +8571,7 @@ ins_esc(count, cmdchar, nomove)
  * Move to end of reverse inserted text.
  */
     static void
-ins_ctrl_()
+ins_ctrl_(void)
 {
     if (revins_on && revins_chars && revins_scol >= 0)
     {
@@ -8664,8 +8615,7 @@ ins_ctrl_()
  * Returns TRUE when a CTRL-O and other keys stuffed.
  */
     static int
-ins_start_select(c)
-    int		c;
+ins_start_select(int c)
 {
     if (km_startsel)
 	switch (c)
@@ -8719,8 +8669,7 @@ ins_start_select(c)
  * <Insert> key in Insert mode: toggle insert/replace mode.
  */
     static void
-ins_insert(replaceState)
-    int	    replaceState;
+ins_insert(int replaceState)
 {
 #ifdef FEAT_FKMAP
     if (p_fkmap && p_ri)
@@ -8757,7 +8706,7 @@ ins_insert(replaceState)
  * Pressed CTRL-O in Insert mode.
  */
     static void
-ins_ctrl_o()
+ins_ctrl_o(void)
 {
 #ifdef FEAT_VREPLACE
     if (State & VREPLACE_FLAG)
@@ -8784,9 +8733,7 @@ ins_ctrl_o()
  * autoindent, we support it everywhere.
  */
     static void
-ins_shift(c, lastc)
-    int	    c;
-    int	    lastc;
+ins_shift(int c, int lastc)
 {
     if (stop_arrow() == FAIL)
 	return;
@@ -8823,7 +8770,7 @@ ins_shift(c, lastc)
 }
 
     static void
-ins_del()
+ins_del(void)
 {
     int	    temp;
 
@@ -8855,8 +8802,7 @@ static void ins_bs_one(colnr_T *vcolp);
  * Delete one character for ins_bs().
  */
     static void
-ins_bs_one(vcolp)
-    colnr_T	*vcolp;
+ins_bs_one(colnr_T *vcolp)
 {
     dec_cursor();
     getvcol(curwin, &curwin->w_cursor, vcolp, NULL, NULL);
@@ -8877,10 +8823,10 @@ ins_bs_one(vcolp)
  * Return TRUE when backspace was actually used.
  */
     static int
-ins_bs(c, mode, inserted_space_p)
-    int		c;
-    int		mode;
-    int		*inserted_space_p;
+ins_bs(
+    int		c,
+    int		mode,
+    int		*inserted_space_p)
 {
     linenr_T	lnum;
     int		cc;
@@ -9287,8 +9233,7 @@ ins_bs(c, mode, inserted_space_p)
 
 #ifdef FEAT_MOUSE
     static void
-ins_mouse(c)
-    int	    c;
+ins_mouse(int c)
 {
     pos_T	tpos;
     win_T	*old_curwin = curwin;
@@ -9335,8 +9280,7 @@ ins_mouse(c)
 }
 
     static void
-ins_mousescroll(dir)
-    int		dir;
+ins_mousescroll(int dir)
 {
     pos_T	tpos;
 # if defined(FEAT_WINDOWS)
@@ -9429,8 +9373,7 @@ ins_mousescroll(dir)
 
 #if defined(FEAT_GUI_TABLINE) || defined(PROTO)
     static void
-ins_tabline(c)
-    int		c;
+ins_tabline(int c)
 {
     /* We will be leaving the current window, unless closing another tab. */
     if (c != K_TABMENU || current_tabmenu != TABLINE_MENU_CLOSE
@@ -9455,7 +9398,7 @@ ins_tabline(c)
 
 #if defined(FEAT_GUI) || defined(PROTO)
     void
-ins_scroll()
+ins_scroll(void)
 {
     pos_T	tpos;
 
@@ -9471,7 +9414,7 @@ ins_scroll()
 }
 
     void
-ins_horscroll()
+ins_horscroll(void)
 {
     pos_T	tpos;
 
@@ -9488,8 +9431,8 @@ ins_horscroll()
 #endif
 
     static void
-ins_left(end_change)
-    int	    end_change; /* end undoable change */
+ins_left(
+    int	    end_change) /* end undoable change */
 {
     pos_T	tpos;
 
@@ -9537,8 +9480,7 @@ ins_left(end_change)
 }
 
     static void
-ins_home(c)
-    int		c;
+ins_home(int c)
 {
     pos_T	tpos;
 
@@ -9559,8 +9501,7 @@ ins_home(c)
 }
 
     static void
-ins_end(c)
-    int		c;
+ins_end(int c)
 {
     pos_T	tpos;
 
@@ -9579,7 +9520,7 @@ ins_end(c)
 }
 
     static void
-ins_s_left()
+ins_s_left(void)
 {
 #ifdef FEAT_FOLDING
     if ((fdo_flags & FDO_HOR) && KeyTyped)
@@ -9597,8 +9538,8 @@ ins_s_left()
 }
 
     static void
-ins_right(end_change)
-    int	    end_change; /* end undoable change */
+ins_right(
+    int	    end_change) /* end undoable change */
 {
 #ifdef FEAT_FOLDING
     if ((fdo_flags & FDO_HOR) && KeyTyped)
@@ -9651,7 +9592,7 @@ ins_right(end_change)
 }
 
     static void
-ins_s_right()
+ins_s_right(void)
 {
 #ifdef FEAT_FOLDING
     if ((fdo_flags & FDO_HOR) && KeyTyped)
@@ -9670,8 +9611,8 @@ ins_s_right()
 }
 
     static void
-ins_up(startcol)
-    int		startcol;	/* when TRUE move to Insstart.col */
+ins_up(
+    int		startcol)	/* when TRUE move to Insstart.col */
 {
     pos_T	tpos;
     linenr_T	old_topline = curwin->w_topline;
@@ -9701,7 +9642,7 @@ ins_up(startcol)
 }
 
     static void
-ins_pageup()
+ins_pageup(void)
 {
     pos_T	tpos;
 
@@ -9733,8 +9674,8 @@ ins_pageup()
 }
 
     static void
-ins_down(startcol)
-    int		startcol;	/* when TRUE move to Insstart.col */
+ins_down(
+    int		startcol)	/* when TRUE move to Insstart.col */
 {
     pos_T	tpos;
     linenr_T	old_topline = curwin->w_topline;
@@ -9764,7 +9705,7 @@ ins_down(startcol)
 }
 
     static void
-ins_pagedown()
+ins_pagedown(void)
 {
     pos_T	tpos;
 
@@ -9797,7 +9738,7 @@ ins_pagedown()
 
 #ifdef FEAT_DND
     static void
-ins_drop()
+ins_drop(void)
 {
     do_put('~', BACKWARD, 1L, PUT_CURSEND);
 }
@@ -9808,7 +9749,7 @@ ins_drop()
  * Return TRUE when the TAB needs to be inserted like a normal character.
  */
     static int
-ins_tab()
+ins_tab(void)
 {
     int		ind;
     int		i;
@@ -10035,8 +9976,7 @@ ins_tab()
  * Return TRUE when out of memory or can't undo.
  */
     static int
-ins_eol(c)
-    int		c;
+ins_eol(int c)
 {
     int	    i;
 
@@ -10108,7 +10048,7 @@ ins_eol(c)
  * done.
  */
     static int
-ins_digraph()
+ins_digraph(void)
 {
     int	    c;
     int	    cc;
@@ -10200,8 +10140,7 @@ ins_digraph()
  * Returns the char to be inserted, or NUL if none found.
  */
     int
-ins_copychar(lnum)
-    linenr_T	lnum;
+ins_copychar(linenr_T lnum)
 {
     int	    c;
     int	    temp;
@@ -10241,8 +10180,7 @@ ins_copychar(lnum)
  * CTRL-Y or CTRL-E typed in Insert mode.
  */
     static int
-ins_ctrl_ey(tc)
-    int	    tc;
+ins_ctrl_ey(int tc)
 {
     int	    c = tc;
 
@@ -10290,8 +10228,7 @@ ins_ctrl_ey(tc)
  * Used when inserting a "normal" character.
  */
     static void
-ins_try_si(c)
-    int	    c;
+ins_try_si(int c)
 {
     pos_T	*pos, old_pos;
     char_u	*ptr;
@@ -10383,7 +10320,7 @@ ins_try_si(c)
  * Unless 'cpo' contains the 'L' flag.
  */
     static colnr_T
-get_nolist_virtcol()
+get_nolist_virtcol(void)
 {
     if (curwin->w_p_list && vim_strchr(p_cpo, CPO_LISTWM) == NULL)
 	return getvcol_nolist(&curwin->w_cursor);
@@ -10399,8 +10336,7 @@ get_nolist_virtcol()
  * Return NULL to continue inserting "c".
  */
     static char_u *
-do_insert_char_pre(c)
-    int c;
+do_insert_char_pre(int c)
 {
     char_u	*res;
     char_u	buf[MB_MAXBYTES + 1];
--- a/src/eval.c
+++ b/src/eval.c
@@ -890,7 +890,7 @@ static void sortFunctions();
  * Initialize the global and v: variables.
  */
     void
-eval_init()
+eval_init(void)
 {
     int		    i;
     struct vimvar   *p;
@@ -941,7 +941,7 @@ eval_init()
 
 #if defined(EXITFREE) || defined(PROTO)
     void
-eval_clear()
+eval_clear(void)
 {
     int		    i;
     struct vimvar   *p;
@@ -1006,8 +1006,7 @@ func_name(void *cookie)
  * Return the address holding the next breakpoint line for a funccall cookie.
  */
     linenr_T *
-func_breakpoint(cookie)
-    void *cookie;
+func_breakpoint(void *cookie)
 {
     return &((funccall_T *)cookie)->breakpoint;
 }
@@ -1041,7 +1040,7 @@ funccall_T *previous_funccal = NULL;
  * Return TRUE when a function was ended by a ":return" command.
  */
     int
-current_func_returned()
+current_func_returned(void)
 {
     return current_funccal->returned;
 }
@@ -1183,7 +1182,7 @@ var_redir_str(char_u *value, int value_l
  * Frees the allocated memory.
  */
     void
-var_redir_stop()
+var_redir_stop(void)
 {
     typval_T	tv;
 
@@ -1244,9 +1243,7 @@ eval_charconvert(
 
 # if defined(FEAT_POSTSCRIPT) || defined(PROTO)
     int
-eval_printexpr(fname, args)
-    char_u	*fname;
-    char_u	*args;
+eval_printexpr(char_u *fname, char_u *args)
 {
     int		err = FALSE;
 
@@ -1268,10 +1265,10 @@ eval_printexpr(fname, args)
 
 # if defined(FEAT_DIFF) || defined(PROTO)
     void
-eval_diff(origfile, newfile, outfile)
-    char_u	*origfile;
-    char_u	*newfile;
-    char_u	*outfile;
+eval_diff(
+    char_u	*origfile,
+    char_u	*newfile,
+    char_u	*outfile)
 {
     int		err = FALSE;
 
@@ -1285,10 +1282,10 @@ eval_diff(origfile, newfile, outfile)
 }
 
     void
-eval_patch(origfile, difffile, outfile)
-    char_u	*origfile;
-    char_u	*difffile;
-    char_u	*outfile;
+eval_patch(
+    char_u	*origfile,
+    char_u	*difffile,
+    char_u	*outfile)
 {
     int		err;
 
@@ -1308,11 +1305,11 @@ eval_patch(origfile, difffile, outfile)
  * Return TRUE or FALSE.
  */
     int
-eval_to_bool(arg, error, nextcmd, skip)
-    char_u	*arg;
-    int		*error;
-    char_u	**nextcmd;
-    int		skip;	    /* only parse, don't execute */
+eval_to_bool(
+    char_u	*arg,
+    int		*error,
+    char_u	**nextcmd,
+    int		skip)	    /* only parse, don't execute */
 {
     typval_T	tv;
     int		retval = FALSE;
@@ -1342,10 +1339,10 @@ eval_to_bool(arg, error, nextcmd, skip)
  * pointer to allocated memory, or NULL for failure or when "skip" is TRUE.
  */
     char_u *
-eval_to_string_skip(arg, nextcmd, skip)
-    char_u	*arg;
-    char_u	**nextcmd;
-    int		skip;	    /* only parse, don't execute */
+eval_to_string_skip(
+    char_u	*arg,
+    char_u	**nextcmd,
+    int		skip)	    /* only parse, don't execute */
 {
     typval_T	tv;
     char_u	*retval;
@@ -1370,8 +1367,7 @@ eval_to_string_skip(arg, nextcmd, skip)
  * Return FAIL for an error, OK otherwise.
  */
     int
-skip_expr(pp)
-    char_u	**pp;
+skip_expr(char_u **pp)
 {
     typval_T	rettv;
 
@@ -1386,10 +1382,10 @@ skip_expr(pp)
  * Return pointer to allocated memory, or NULL for failure.
  */
     char_u *
-eval_to_string(arg, nextcmd, convert)
-    char_u	*arg;
-    char_u	**nextcmd;
-    int		convert;
+eval_to_string(
+    char_u	*arg,
+    char_u	**nextcmd,
+    int		convert)
 {
     typval_T	tv;
     char_u	*retval;
@@ -1434,10 +1430,10 @@ eval_to_string(arg, nextcmd, convert)
  * textlock.  When "use_sandbox" is TRUE use the sandbox.
  */
     char_u *
-eval_to_string_safe(arg, nextcmd, use_sandbox)
-    char_u	*arg;
-    char_u	**nextcmd;
-    int		use_sandbox;
+eval_to_string_safe(
+    char_u	*arg,
+    char_u	**nextcmd,
+    int		use_sandbox)
 {
     char_u	*retval;
     void	*save_funccalp;
@@ -1460,8 +1456,7 @@ eval_to_string_safe(arg, nextcmd, use_sa
  * Returns -1 for an error.
  */
     int
-eval_to_number(expr)
-    char_u	*expr;
+eval_to_number(char_u *expr)
 {
     typval_T	rettv;
     int		retval;
@@ -1487,9 +1482,7 @@ eval_to_number(expr)
  * When not used yet add the variable to the v: hashtable.
  */
     static void
-prepare_vimvar(idx, save_tv)
-    int		idx;
-    typval_T	*save_tv;
+prepare_vimvar(int idx, typval_T *save_tv)
 {
     *save_tv = vimvars[idx].vv_tv;
     if (vimvars[idx].vv_type == VAR_UNKNOWN)
@@ -1501,9 +1494,7 @@ prepare_vimvar(idx, save_tv)
  * When no longer defined, remove the variable from the v: hashtable.
  */
     static void
-restore_vimvar(idx, save_tv)
-    int		idx;
-    typval_T	*save_tv;
+restore_vimvar(int idx, typval_T *save_tv)
 {
     hashitem_T	*hi;
 
@@ -1525,9 +1516,7 @@ restore_vimvar(idx, save_tv)
  * Returns NULL when there is an error.
  */
     list_T *
-eval_spell_expr(badword, expr)
-    char_u	*badword;
-    char_u	*expr;
+eval_spell_expr(char_u *badword, char_u *expr)
 {
     typval_T	save_val;
     typval_T	rettv;
@@ -1563,9 +1552,7 @@ eval_spell_expr(badword, expr)
  * Used to get the good word and score from the eval_spell_expr() result.
  */
     int
-get_spellword(list, pp)
-    list_T	*list;
-    char_u	**pp;
+get_spellword(list_T *list, char_u **pp)
 {
     listitem_T	*li;
 
@@ -1587,9 +1574,7 @@ get_spellword(list, pp)
  * Returns NULL when there is an error.
  */
     typval_T *
-eval_expr(arg, nextcmd)
-    char_u	*arg;
-    char_u	**nextcmd;
+eval_expr(char_u *arg, char_u **nextcmd)
 {
     typval_T	*tv;
 
@@ -1611,13 +1596,13 @@ eval_expr(arg, nextcmd)
  * Returns OK or FAIL.
  */
     int
-call_vim_function(func, argc, argv, safe, str_arg_only, rettv)
-    char_u      *func;
-    int		argc;
-    char_u      **argv;
-    int		safe;		/* use the sandbox */
-    int		str_arg_only;	/* all arguments are strings */
-    typval_T	*rettv;
+call_vim_function(
+    char_u      *func,
+    int		argc,
+    char_u      **argv,
+    int		safe,		/* use the sandbox */
+    int		str_arg_only,	/* all arguments are strings */
+    typval_T	*rettv)
 {
     typval_T	*argvars;
     long	n;
@@ -1687,11 +1672,11 @@ call_vim_function(func, argc, argv, safe
  * Uses argv[argc] for the function arguments.
  */
     long
-call_func_retnr(func, argc, argv, safe)
-    char_u      *func;
-    int		argc;
-    char_u      **argv;
-    int		safe;		/* use the sandbox */
+call_func_retnr(
+    char_u      *func,
+    int		argc,
+    char_u      **argv,
+    int		safe)		/* use the sandbox */
 {
     typval_T	rettv;
     long	retval;
@@ -1715,11 +1700,11 @@ call_func_retnr(func, argc, argv, safe)
  * Uses argv[argc] for the function arguments.
  */
     void *
-call_func_retstr(func, argc, argv, safe)
-    char_u      *func;
-    int		argc;
-    char_u      **argv;
-    int		safe;		/* use the sandbox */
+call_func_retstr(
+    char_u      *func,
+    int		argc,
+    char_u      **argv,
+    int		safe)		/* use the sandbox */
 {
     typval_T	rettv;
     char_u	*retval;
@@ -1740,11 +1725,11 @@ call_func_retstr(func, argc, argv, safe)
  * Returns NULL when there is something wrong.
  */
     void *
-call_func_retlist(func, argc, argv, safe)
-    char_u      *func;
-    int		argc;
-    char_u      **argv;
-    int		safe;		/* use the sandbox */
+call_func_retlist(
+    char_u      *func,
+    int		argc,
+    char_u      **argv,
+    int		safe)		/* use the sandbox */
 {
     typval_T	rettv;
 
@@ -1767,7 +1752,7 @@ call_func_retlist(func, argc, argv, safe
  * Used when executing autocommands and for ":source".
  */
     void *
-save_funccal()
+save_funccal(void)
 {
     funccall_T *fc = current_funccal;
 
@@ -1776,8 +1761,7 @@ save_funccal()
 }
 
     void
-restore_funccal(vfc)
-    void *vfc;
+restore_funccal(void *vfc)
 {
     funccall_T *fc = (funccall_T *)vfc;
 
@@ -1791,8 +1775,8 @@ restore_funccal(vfc)
  * Should always be called in pair with prof_child_exit().
  */
     void
-prof_child_enter(tm)
-    proftime_T *tm;	/* place to store waittime */
+prof_child_enter(
+    proftime_T *tm)	/* place to store waittime */
 {
     funccall_T *fc = current_funccal;
 
@@ -1806,8 +1790,8 @@ prof_child_enter(tm)
  * Should always be called after prof_child_enter().
  */
     void
-prof_child_exit(tm)
-    proftime_T *tm;	/* where waittime was stored */
+prof_child_exit(
+    proftime_T *tm)	/* where waittime was stored */
 {
     funccall_T *fc = current_funccal;
 
@@ -1829,9 +1813,7 @@ prof_child_exit(tm)
  * it in "*cp".  Doesn't give error messages.
  */
     int
-eval_foldexpr(arg, cp)
-    char_u	*arg;
-    int		*cp;
+eval_foldexpr(char_u *arg, int *cp)
 {
     typval_T	tv;
     int		retval;
@@ -1883,8 +1865,7 @@ eval_foldexpr(arg, cp)
  * ":let [var1, var2] = expr"	unpack list.
  */
     void
-ex_let(eap)
-    exarg_T	*eap;
+ex_let(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     char_u	*expr = NULL;
@@ -1968,13 +1949,13 @@ ex_let(eap)
  * Returns OK or FAIL;
  */
     static int
-ex_let_vars(arg_start, tv, copy, semicolon, var_count, nextchars)
-    char_u	*arg_start;
-    typval_T	*tv;
-    int		copy;		/* copy values from "tv", don't move */
-    int		semicolon;	/* from skip_var_list() */
-    int		var_count;	/* from skip_var_list() */
-    char_u	*nextchars;
+ex_let_vars(
+    char_u	*arg_start,
+    typval_T	*tv,
+    int		copy,		/* copy values from "tv", don't move */
+    int		semicolon,	/* from skip_var_list() */
+    int		var_count,	/* from skip_var_list() */
+    char_u	*nextchars)
 {
     char_u	*arg = arg_start;
     list_T	*l;
@@ -2066,10 +2047,10 @@ ex_let_vars(arg_start, tv, copy, semicol
  * Return NULL for an error.
  */
     static char_u *
-skip_var_list(arg, var_count, semicolon)
-    char_u	*arg;
-    int		*var_count;
-    int		*semicolon;
+skip_var_list(
+    char_u	*arg,
+    int		*var_count,
+    int		*semicolon)
 {
     char_u	*p, *s;
 
@@ -2117,8 +2098,7 @@ skip_var_list(arg, var_count, semicolon)
  * l[idx].
  */
     static char_u *
-skip_var_one(arg)
-    char_u	*arg;
+skip_var_one(char_u *arg)
 {
     if (*arg == '@' && arg[1] != NUL)
 	return arg + 2;
@@ -2131,11 +2111,11 @@ skip_var_one(arg)
  * If "empty" is TRUE also list NULL strings as empty strings.
  */
     static void
-list_hashtable_vars(ht, prefix, empty, first)
-    hashtab_T	*ht;
-    char_u	*prefix;
-    int		empty;
-    int		*first;
+list_hashtable_vars(
+    hashtab_T	*ht,
+    char_u	*prefix,
+    int		empty,
+    int		*first)
 {
     hashitem_T	*hi;
     dictitem_T	*di;
@@ -2159,8 +2139,7 @@ list_hashtable_vars(ht, prefix, empty, f
  * List global variables.
  */
     static void
-list_glob_vars(first)
-    int *first;
+list_glob_vars(int *first)
 {
     list_hashtable_vars(&globvarht, (char_u *)"", TRUE, first);
 }
@@ -2169,8 +2148,7 @@ list_glob_vars(first)
  * List buffer variables.
  */
     static void
-list_buf_vars(first)
-    int *first;
+list_buf_vars(int *first)
 {
     char_u	numbuf[NUMBUFLEN];
 
@@ -2186,8 +2164,7 @@ list_buf_vars(first)
  * List window variables.
  */
     static void
-list_win_vars(first)
-    int *first;
+list_win_vars(int *first)
 {
     list_hashtable_vars(&curwin->w_vars->dv_hashtab,
 						 (char_u *)"w:", TRUE, first);
@@ -2198,8 +2175,7 @@ list_win_vars(first)
  * List tab page variables.
  */
     static void
-list_tab_vars(first)
-    int *first;
+list_tab_vars(int *first)
 {
     list_hashtable_vars(&curtab->tp_vars->dv_hashtab,
 						 (char_u *)"t:", TRUE, first);
@@ -2210,8 +2186,7 @@ list_tab_vars(first)
  * List Vim variables.
  */
     static void
-list_vim_vars(first)
-    int *first;
+list_vim_vars(int *first)
 {
     list_hashtable_vars(&vimvarht, (char_u *)"v:", FALSE, first);
 }
@@ -2220,8 +2195,7 @@ list_vim_vars(first)
  * List script-local variables, if there is a script.
  */
     static void
-list_script_vars(first)
-    int *first;
+list_script_vars(int *first)
 {
     if (current_SID > 0 && current_SID <= ga_scripts.ga_len)
 	list_hashtable_vars(&SCRIPT_VARS(current_SID),
@@ -2232,8 +2206,7 @@ list_script_vars(first)
  * List function variables, if there is a function.
  */
     static void
-list_func_vars(first)
-    int *first;
+list_func_vars(int *first)
 {
     if (current_funccal != NULL)
 	list_hashtable_vars(&current_funccal->l_vars.dv_hashtab,
@@ -2244,10 +2217,7 @@ list_func_vars(first)
  * List variables in "arg".
  */
     static char_u *
-list_arg_vars(eap, arg, first)
-    exarg_T	*eap;
-    char_u	*arg;
-    int		*first;
+list_arg_vars(exarg_T *eap, char_u *arg, int *first)
 {
     int		error = FALSE;
     int		len;
@@ -2355,12 +2325,12 @@ list_arg_vars(eap, arg, first)
  * Returns NULL if there is an error.
  */
     static char_u *
-ex_let_one(arg, tv, copy, endchars, op)
-    char_u	*arg;		/* points to variable name */
-    typval_T	*tv;		/* value to assign to variable */
-    int		copy;		/* copy value from "tv" */
-    char_u	*endchars;	/* valid chars after variable name  or NULL */
-    char_u	*op;		/* "+", "-", "."  or NULL*/
+ex_let_one(
+    char_u	*arg,		/* points to variable name */
+    typval_T	*tv,		/* value to assign to variable */
+    int		copy,		/* copy value from "tv" */
+    char_u	*endchars,	/* valid chars after variable name  or NULL */
+    char_u	*op)		/* "+", "-", "."  or NULL*/
 {
     int		c1;
     char_u	*name;
@@ -2549,8 +2519,7 @@ ex_let_one(arg, tv, copy, endchars, op)
  * If "arg" is equal to "b:changedtick" give an error and return TRUE.
  */
     static int
-check_changedtick(arg)
-    char_u	*arg;
+check_changedtick(char_u *arg)
 {
     if (STRNCMP(arg, "b:changedtick", 13) == 0 && !eval_isnamec(arg[13]))
     {
@@ -2579,14 +2548,14 @@ check_changedtick(arg)
  * Returns NULL for a parsing error.  Still need to free items in "lp"!
  */
     static char_u *
-get_lval(name, rettv, lp, unlet, skip, flags, fne_flags)
-    char_u	*name;
-    typval_T	*rettv;
-    lval_T	*lp;
-    int		unlet;
-    int		skip;
-    int		flags;	    /* GLV_ values */
-    int		fne_flags;  /* flags for find_name_end() */
+get_lval(
+    char_u	*name,
+    typval_T	*rettv,
+    lval_T	*lp,
+    int		unlet,
+    int		skip,
+    int		flags,	    /* GLV_ values */
+    int		fne_flags)  /* flags for find_name_end() */
 {
     char_u	*p;
     char_u	*expr_start, *expr_end;
@@ -2924,8 +2893,7 @@ get_lval(name, rettv, lp, unlet, skip, f
  * Clear lval "lp" that was filled by get_lval().
  */
     static void
-clear_lval(lp)
-    lval_T	*lp;
+clear_lval(lval_T *lp)
 {
     vim_free(lp->ll_exp_name);
     vim_free(lp->ll_newkey);
@@ -2937,12 +2905,12 @@ clear_lval(lp)
  * "op" is NULL, "+" for "+=", "-" for "-=", "." for ".=" or "=" for "=".
  */
     static void
-set_var_lval(lp, endp, rettv, copy, op)
-    lval_T	*lp;
-    char_u	*endp;
-    typval_T	*rettv;
-    int		copy;
-    char_u	*op;
+set_var_lval(
+    lval_T	*lp,
+    char_u	*endp,
+    typval_T	*rettv,
+    int		copy,
+    char_u	*op)
 {
     int		cc;
     listitem_T	*ri;
@@ -3085,10 +3053,7 @@ set_var_lval(lp, endp, rettv, copy, op)
  * Returns OK or FAIL.
  */
     static int
-tv_op(tv1, tv2, op)
-    typval_T *tv1;
-    typval_T *tv2;
-    char_u  *op;
+tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
 {
     long	n;
     char_u	numbuf[NUMBUFLEN];
@@ -3191,9 +3156,7 @@ tv_op(tv1, tv2, op)
  * Add a watcher to a list.
  */
     void
-list_add_watch(l, lw)
-    list_T	*l;
-    listwatch_T	*lw;
+list_add_watch(list_T *l, listwatch_T *lw)
 {
     lw->lw_next = l->lv_watch;
     l->lv_watch = lw;
@@ -3204,9 +3167,7 @@ list_add_watch(l, lw)
  * No warning when it isn't found...
  */
     void
-list_rem_watch(l, lwrem)
-    list_T	*l;
-    listwatch_T	*lwrem;
+list_rem_watch(list_T *l, listwatch_T *lwrem)
 {
     listwatch_T	*lw, **lwp;
 
@@ -3227,9 +3188,7 @@ list_rem_watch(l, lwrem)
  * item.
  */
     static void
-list_fix_watch(l, item)
-    list_T	*l;
-    listitem_T	*item;
+list_fix_watch(list_T *l, listitem_T *item)
 {
     listwatch_T	*lw;
 
@@ -3245,11 +3204,11 @@ list_fix_watch(l, item)
  * Return a pointer that holds the info.  Null when there is an error.
  */
     void *
-eval_for_line(arg, errp, nextcmdp, skip)
-    char_u	*arg;
-    int		*errp;
-    char_u	**nextcmdp;
-    int		skip;
+eval_for_line(
+    char_u	*arg,
+    int		*errp,
+    char_u	**nextcmdp,
+    int		skip)
 {
     forinfo_T	*fi;
     char_u	*expr;
@@ -3309,9 +3268,7 @@ eval_for_line(arg, errp, nextcmdp, skip)
  * something wrong.
  */
     int
-next_for_item(fi_void, arg)
-    void	*fi_void;
-    char_u	*arg;
+next_for_item(void *fi_void, char_u *arg)
 {
     forinfo_T	*fi = (forinfo_T *)fi_void;
     int		result;
@@ -3333,8 +3290,7 @@ next_for_item(fi_void, arg)
  * Free the structure used to store info used by ":for".
  */
     void
-free_for_info(fi_void)
-    void *fi_void;
+free_for_info(void *fi_void)
 {
     forinfo_T    *fi = (forinfo_T *)fi_void;
 
@@ -3349,10 +3305,10 @@ free_for_info(fi_void)
 #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
 
     void
-set_context_for_expression(xp, arg, cmdidx)
-    expand_T	*xp;
-    char_u	*arg;
-    cmdidx_T	cmdidx;
+set_context_for_expression(
+    expand_T	*xp,
+    char_u	*arg,
+    cmdidx_T	cmdidx)
 {
     int		got_eq = FALSE;
     int		c;
@@ -3462,8 +3418,7 @@ set_context_for_expression(xp, arg, cmdi
  * ":1,25call func(arg1, arg2)"	function call.
  */
     void
-ex_call(eap)
-    exarg_T	*eap;
+ex_call(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     char_u	*startarg;
@@ -3592,8 +3547,7 @@ end:
  * ":unlet[!] var1 ... " command.
  */
     void
-ex_unlet(eap)
-    exarg_T	*eap;
+ex_unlet(exarg_T *eap)
 {
     ex_unletlock(eap, eap->arg, 0);
 }
@@ -3602,8 +3556,7 @@ ex_unlet(eap)
  * ":lockvar" and ":unlockvar" commands
  */
     void
-ex_lockvar(eap)
-    exarg_T	*eap;
+ex_lockvar(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     int		deep = 2;
@@ -3623,10 +3576,10 @@ ex_lockvar(eap)
  * ":unlet", ":lockvar" and ":unlockvar" are quite similar.
  */
     static void
-ex_unletlock(eap, argstart, deep)
-    exarg_T	*eap;
-    char_u	*argstart;
-    int		deep;
+ex_unletlock(
+    exarg_T	*eap,
+    char_u	*argstart,
+    int		deep)
 {
     char_u	*arg = argstart;
     char_u	*name_end;
@@ -3678,10 +3631,10 @@ ex_unletlock(eap, argstart, deep)
 }
 
     static int
-do_unlet_var(lp, name_end, forceit)
-    lval_T	*lp;
-    char_u	*name_end;
-    int		forceit;
+do_unlet_var(
+    lval_T	*lp,
+    char_u	*name_end,
+    int		forceit)
 {
     int		ret = OK;
     int		cc;
@@ -3745,9 +3698,7 @@ do_unlet_var(lp, name_end, forceit)
  * When "forceit" is TRUE don't complain if the variable doesn't exist.
  */
     int
-do_unlet(name, forceit)
-    char_u	*name;
-    int		forceit;
+do_unlet(char_u *name, int forceit)
 {
     hashtab_T	*ht;
     hashitem_T	*hi;
@@ -3800,11 +3751,11 @@ do_unlet(name, forceit)
  * "lock" is TRUE for ":lockvar", FALSE for ":unlockvar".
  */
     static int
-do_lock_var(lp, name_end, deep, lock)
-    lval_T	*lp;
-    char_u	*name_end;
-    int		deep;
-    int		lock;
+do_lock_var(
+    lval_T	*lp,
+    char_u	*name_end,
+    int		deep,
+    int		lock)
 {
     int		ret = OK;
     int		cc;
@@ -3863,10 +3814,7 @@ do_lock_var(lp, name_end, deep, lock)
  * Lock or unlock an item.  "deep" is nr of levels to go.
  */
     static void
-item_lock(tv, deep, lock)
-    typval_T	*tv;
-    int		deep;
-    int		lock;
+item_lock(typval_T *tv, int deep, int lock)
 {
     static int	recurse = 0;
     list_T	*l;
@@ -3935,8 +3883,7 @@ item_lock(tv, deep, lock)
  * or it refers to a List or Dictionary that is locked.
  */
     static int
-tv_islocked(tv)
-    typval_T	*tv;
+tv_islocked(typval_T *tv)
 {
     return (tv->v_lock & VAR_LOCKED)
 	|| (tv->v_type == VAR_LIST
@@ -3952,7 +3899,7 @@ tv_islocked(tv)
  * Delete all "menutrans_" variables.
  */
     void
-del_menutrans_vars()
+del_menutrans_vars(void)
 {
     hashitem_T	*hi;
     int		todo;
@@ -3989,9 +3936,7 @@ static int	varnamebuflen = 0;
  * Function to concatenate a prefix and a variable name.
  */
     static char_u *
-cat_prefix_varname(prefix, name)
-    int		prefix;
-    char_u	*name;
+cat_prefix_varname(int prefix, char_u *name)
 {
     int		len;
 
@@ -4019,9 +3964,7 @@ cat_prefix_varname(prefix, name)
  * (global/buffer/window/built-in) variable names.
  */
     char_u *
-get_user_var_name(xp, idx)
-    expand_T	*xp;
-    int		idx;
+get_user_var_name(expand_T *xp, int idx)
 {
     static long_u	gdone;
     static long_u	bdone;
@@ -4143,11 +4086,11 @@ typedef enum
  * Return OK or FAIL.
  */
     static int
-eval0(arg, rettv, nextcmd, evaluate)
-    char_u	*arg;
-    typval_T	*rettv;
-    char_u	**nextcmd;
-    int		evaluate;
+eval0(
+    char_u	*arg,
+    typval_T	*rettv,
+    char_u	**nextcmd,
+    int		evaluate)
 {
     int		ret;
     char_u	*p;
@@ -4185,10 +4128,7 @@ eval0(arg, rettv, nextcmd, evaluate)
  * Return OK or FAIL.
  */
     static int
-eval1(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+eval1(char_u **arg, typval_T *rettv, int evaluate)
 {
     int		result;
     typval_T	var2;
@@ -4258,10 +4198,7 @@ eval1(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-eval2(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+eval2(char_u **arg, typval_T *rettv, int evaluate)
 {
     typval_T	var2;
     long	result;
@@ -4329,10 +4266,7 @@ eval2(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-eval3(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+eval3(char_u **arg, typval_T *rettv, int evaluate)
 {
     typval_T	var2;
     long	result;
@@ -4409,10 +4343,7 @@ eval3(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-eval4(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+eval4(char_u **arg, typval_T *rettv, int evaluate)
 {
     typval_T	var2;
     char_u	*p;
@@ -4719,10 +4650,7 @@ eval4(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-eval5(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+eval5(char_u **arg, typval_T *rettv, int evaluate)
 {
     typval_T	var2;
     typval_T	var3;
@@ -4904,11 +4832,11 @@ eval5(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-eval6(arg, rettv, evaluate, want_string)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
-    int		want_string;  /* after "." operator */
+eval6(
+    char_u	**arg,
+    typval_T	*rettv,
+    int		evaluate,
+    int		want_string)  /* after "." operator */
 {
     typval_T	var2;
     int		op;
@@ -5086,11 +5014,11 @@ eval6(arg, rettv, evaluate, want_string)
  * Return OK or FAIL.
  */
     static int
-eval7(arg, rettv, evaluate, want_string)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
-    int		want_string UNUSED;	/* after "." operator */
+eval7(
+    char_u	**arg,
+    typval_T	*rettv,
+    int		evaluate,
+    int		want_string UNUSED)	/* after "." operator */
 {
     long	n;
     int		len;
@@ -5378,11 +5306,11 @@ eval7(arg, rettv, evaluate, want_string)
  * Returns FAIL or OK. "*arg" is advanced to after the ']'.
  */
     static int
-eval_index(arg, rettv, evaluate, verbose)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
-    int		verbose;	/* give error messages */
+eval_index(
+    char_u	**arg,
+    typval_T	*rettv,
+    int		evaluate,
+    int		verbose)	/* give error messages */
 {
     int		empty1 = FALSE, empty2 = FALSE;
     typval_T	var1, var2;
@@ -5645,10 +5573,10 @@ eval_index(arg, rettv, evaluate, verbose
  * Return OK or FAIL.
  */
     static int
-get_option_tv(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;	/* when NULL, only check if option exists */
-    int		evaluate;
+get_option_tv(
+    char_u	**arg,
+    typval_T	*rettv,	/* when NULL, only check if option exists */
+    int		evaluate)
 {
     char_u	*option_end;
     long	numval;
@@ -5724,10 +5652,7 @@ get_option_tv(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-get_string_tv(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+get_string_tv(char_u **arg, typval_T *rettv, int evaluate)
 {
     char_u	*p;
     char_u	*name;
@@ -5863,10 +5788,7 @@ get_string_tv(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-get_lit_string_tv(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+get_lit_string_tv(char_u **arg, typval_T *rettv, int evaluate)
 {
     char_u	*p;
     char_u	*str;
@@ -5929,10 +5851,7 @@ get_lit_string_tv(arg, rettv, evaluate)
  * Return OK or FAIL.
  */
     static int
-get_list_tv(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+get_list_tv(char_u **arg, typval_T *rettv, int evaluate)
 {
     list_T	*l = NULL;
     typval_T	tv;
@@ -5998,7 +5917,7 @@ failret:
  * Caller should take care of the reference count.
  */
     list_T *
-list_alloc()
+list_alloc(void)
 {
     list_T  *l;
 
@@ -6020,8 +5939,7 @@ list_alloc()
  * Returns OK or FAIL.
  */
     int
-rettv_list_alloc(rettv)
-    typval_T	*rettv;
+rettv_list_alloc(typval_T *rettv)
 {
     list_T	*l = list_alloc();
 
@@ -6039,8 +5957,7 @@ rettv_list_alloc(rettv)
  * becomes zero.
  */
     void
-list_unref(l)
-    list_T *l;
+list_unref(list_T *l)
 {
     if (l != NULL && --l->lv_refcount <= 0)
 	list_free(l, TRUE);
@@ -6051,9 +5968,9 @@ list_unref(l)
  * Ignores the reference count.
  */
     void
-list_free(l, recurse)
-    list_T  *l;
-    int	    recurse;	/* Free Lists and Dictionaries recursively. */
+list_free(
+    list_T  *l,
+    int	    recurse)	/* Free Lists and Dictionaries recursively. */
 {
     listitem_T *item;
 
@@ -6091,8 +6008,7 @@ listitem_alloc()
  * Free a list item.  Also clears the value.  Does not notify watchers.
  */
     void
-listitem_free(item)
-    listitem_T *item;
+listitem_free(listitem_T *item)
 {
     clear_tv(&item->li_tv);
     vim_free(item);
@@ -6102,9 +6018,7 @@ listitem_free(item)
  * Remove a list item from a List and free it.  Also clears the value.
  */
     void
-listitem_remove(l, item)
-    list_T  *l;
-    listitem_T *item;
+listitem_remove(list_T *l, listitem_T *item)
 {
     vimlist_remove(l, item, item);
     listitem_free(item);
@@ -6114,8 +6028,7 @@ listitem_remove(l, item)
  * Get the number of items in a list.
  */
     static long
-list_len(l)
-    list_T	*l;
+list_len(list_T *l)
 {
     if (l == NULL)
 	return 0L;
@@ -6126,11 +6039,11 @@ list_len(l)
  * Return TRUE when two lists have exactly the same values.
  */
     static int
-list_equal(l1, l2, ic, recursive)
-    list_T	*l1;
-    list_T	*l2;
-    int		ic;	/* ignore case for strings */
-    int		recursive;  /* TRUE when used recursively */
+list_equal(
+    list_T	*l1,
+    list_T	*l2,
+    int		ic,	/* ignore case for strings */
+    int		recursive)  /* TRUE when used recursively */
 {
     listitem_T	*item1, *item2;
 
@@ -6153,8 +6066,7 @@ list_equal(l1, l2, ic, recursive)
  * Return the dictitem that an entry in a hashtable points to.
  */
     dictitem_T *
-dict_lookup(hi)
-    hashitem_T *hi;
+dict_lookup(hashitem_T *hi)
 {
     return HI2DI(hi);
 }
@@ -6163,11 +6075,11 @@ dict_lookup(hi)
  * Return TRUE when two dictionaries have exactly the same key/values.
  */
     static int
-dict_equal(d1, d2, ic, recursive)
-    dict_T	*d1;
-    dict_T	*d2;
-    int		ic;	/* ignore case for strings */
-    int		recursive; /* TRUE when used recursively */
+dict_equal(
+    dict_T	*d1,
+    dict_T	*d2,
+    int		ic,	/* ignore case for strings */
+    int		recursive) /* TRUE when used recursively */
 {
     hashitem_T	*hi;
     dictitem_T	*item2;
@@ -6204,11 +6116,11 @@ static int tv_equal_recurse_limit;
  * numbers are different.  Floats and numbers are also different.
  */
     static int
-tv_equal(tv1, tv2, ic, recursive)
-    typval_T *tv1;
-    typval_T *tv2;
-    int	     ic;	    /* ignore case */
-    int	     recursive;	    /* TRUE when used recursively */
+tv_equal(
+    typval_T *tv1,
+    typval_T *tv2,
+    int	     ic,	    /* ignore case */
+    int	     recursive)	    /* TRUE when used recursively */
 {
     char_u	buf1[NUMBUFLEN], buf2[NUMBUFLEN];
     char_u	*s1, *s2;
@@ -6278,9 +6190,7 @@ tv_equal(tv1, tv2, ic, recursive)
  * Returns NULL when "n" is out of range.
  */
     listitem_T *
-list_find(l, n)
-    list_T	*l;
-    long	n;
+list_find(list_T *l, long n)
 {
     listitem_T	*item;
     long	idx;
@@ -6358,10 +6268,10 @@ list_find(l, n)
  * Get list item "l[idx]" as a number.
  */
     static long
-list_find_nr(l, idx, errorp)
-    list_T	*l;
-    long	idx;
-    int		*errorp;	/* set to TRUE when something wrong */
+list_find_nr(
+    list_T	*l,
+    long	idx,
+    int		*errorp)	/* set to TRUE when something wrong */
 {
     listitem_T	*li;
 
@@ -6379,9 +6289,7 @@ list_find_nr(l, idx, errorp)
  * Get list item "l[idx - 1]" as a string.  Returns NULL for failure.
  */
     char_u *
-list_find_str(l, idx)
-    list_T	*l;
-    long	idx;
+list_find_str(list_T *l, long idx)
 {
     listitem_T	*li;
 
@@ -6399,9 +6307,7 @@ list_find_str(l, idx)
  * Returns -1 when "item" is not in the list.
  */
     static long
-list_idx_of_item(l, item)
-    list_T	*l;
-    listitem_T	*item;
+list_idx_of_item(list_T *l, listitem_T *item)
 {
     long	idx = 0;
     listitem_T	*li;
@@ -6420,9 +6326,7 @@ list_idx_of_item(l, item)
  * Append item "item" to the end of list "l".
  */
     void
-list_append(l, item)
-    list_T	*l;
-    listitem_T	*item;
+list_append(list_T *l, listitem_T *item)
 {
     if (l->lv_last == NULL)
     {
@@ -6446,9 +6350,7 @@ list_append(l, item)
  * Return FAIL when out of memory.
  */
     int
-list_append_tv(l, tv)
-    list_T	*l;
-    typval_T	*tv;
+list_append_tv(list_T *l, typval_T *tv)
 {
     listitem_T	*li = listitem_alloc();
 
@@ -6464,9 +6366,7 @@ list_append_tv(l, tv)
  * Return FAIL when out of memory.
  */
     int
-list_append_dict(list, dict)
-    list_T	*list;
-    dict_T	*dict;
+list_append_dict(list_T *list, dict_T *dict)
 {
     listitem_T	*li = listitem_alloc();
 
@@ -6486,10 +6386,7 @@ list_append_dict(list, dict)
  * Returns FAIL when out of memory.
  */
     int
-list_append_string(l, str, len)
-    list_T	*l;
-    char_u	*str;
-    int		len;
+list_append_string(list_T *l, char_u *str, int len)
 {
     listitem_T *li = listitem_alloc();
 
@@ -6511,9 +6408,7 @@ list_append_string(l, str, len)
  * Returns FAIL when out of memory.
  */
     static int
-list_append_number(l, n)
-    list_T	*l;
-    varnumber_T	n;
+list_append_number(list_T *l, varnumber_T n)
 {
     listitem_T	*li;
 
@@ -6533,10 +6428,7 @@ list_append_number(l, n)
  * Return FAIL when out of memory.
  */
     int
-list_insert_tv(l, tv, item)
-    list_T	*l;
-    typval_T	*tv;
-    listitem_T	*item;
+list_insert_tv(list_T *l, typval_T *tv, listitem_T *item)
 {
     listitem_T	*ni = listitem_alloc();
 
@@ -6548,10 +6440,7 @@ list_insert_tv(l, tv, item)
 }
 
     void
-list_insert(l, ni, item)
-    list_T	*l;
-    listitem_T	*ni;
-    listitem_T	*item;
+list_insert(list_T *l, listitem_T *ni, listitem_T *item)
 {
     if (item == NULL)
 	/* Append new item at end of list. */
@@ -6582,10 +6471,7 @@ list_insert(l, ni, item)
  * Returns FAIL when out of memory.
  */
     static int
-list_extend(l1, l2, bef)
-    list_T	*l1;
-    list_T	*l2;
-    listitem_T	*bef;
+list_extend(list_T *l1, list_T *l2, listitem_T *bef)
 {
     listitem_T	*item;
     int		todo = l2->lv_len;
@@ -6603,10 +6489,7 @@ list_extend(l1, l2, bef)
  * Return FAIL when out of memory.
  */
     static int
-list_concat(l1, l2, tv)
-    list_T	*l1;
-    list_T	*l2;
-    typval_T	*tv;
+list_concat(list_T *l1, list_T *l2, typval_T *tv)
 {
     list_T	*l;
 
@@ -6631,10 +6514,7 @@ list_concat(l1, l2, tv)
  * Returns NULL when out of memory.
  */
     static list_T *
-list_copy(orig, deep, copyID)
-    list_T	*orig;
-    int		deep;
-    int		copyID;
+list_copy(list_T *orig, int deep, int copyID)
 {
     list_T	*copy;
     listitem_T	*item;
@@ -6689,10 +6569,7 @@ list_copy(orig, deep, copyID)
  * file.
  */
     void
-vimlist_remove(l, item, item2)
-    list_T	*l;
-    listitem_T	*item;
-    listitem_T	*item2;
+vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2)
 {
     listitem_T	*ip;
 
@@ -6721,9 +6598,7 @@ vimlist_remove(l, item, item2)
  * May return NULL.
  */
     static char_u *
-list2string(tv, copyID)
-    typval_T	*tv;
-    int		copyID;
+list2string(typval_T *tv, int copyID)
 {
     garray_T	ga;
 
@@ -6747,13 +6622,13 @@ typedef struct join_S {
 } join_T;
 
     static int
-list_join_inner(gap, l, sep, echo_style, copyID, join_gap)
-    garray_T	*gap;		/* to store the result in */
-    list_T	*l;
-    char_u	*sep;
-    int		echo_style;
-    int		copyID;
-    garray_T	*join_gap;	/* to keep each list item string */
+list_join_inner(
+    garray_T	*gap,		/* to store the result in */
+    list_T	*l,
+    char_u	*sep,
+    int		echo_style,
+    int		copyID,
+    garray_T	*join_gap)	/* to keep each list item string */
 {
     int		i;
     join_T	*p;
@@ -6825,12 +6700,12 @@ list_join_inner(gap, l, sep, echo_style,
  * Return FAIL or OK.
  */
     static int
-list_join(gap, l, sep, echo_style, copyID)
-    garray_T	*gap;
-    list_T	*l;
-    char_u	*sep;
-    int		echo_style;
-    int		copyID;
+list_join(
+    garray_T	*gap,
+    list_T	*l,
+    char_u	*sep,
+    int		echo_style,
+    int		copyID)
 {
     garray_T	join_ga;
     int		retval;
@@ -6862,7 +6737,7 @@ list_join(gap, l, sep, echo_style, copyI
  * Used for serializing nested structures.
  */
     int
-get_copyID()
+get_copyID(void)
 {
     current_copyID += COPYID_INC;
     return current_copyID;
@@ -6893,7 +6768,7 @@ get_copyID()
  * Return TRUE if some memory was freed.
  */
     int
-garbage_collect()
+garbage_collect(void)
 {
     int		copyID;
     int		abort = FALSE;
@@ -7023,8 +6898,7 @@ garbage_collect()
  * Free lists and dictionaries that are no longer referenced.
  */
     static int
-free_unref_items(copyID)
-    int copyID;
+free_unref_items(int copyID)
 {
     dict_T	*dd, *dd_next;
     list_T	*ll, *ll_next;
@@ -7076,10 +6950,7 @@ free_unref_items(copyID)
  * Returns TRUE if setting references failed somehow.
  */
     int
-set_ref_in_ht(ht, copyID, list_stack)
-    hashtab_T	    *ht;
-    int		    copyID;
-    list_stack_T    **list_stack;
+set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack)
 {
     int		todo;
     int		abort = FALSE;
@@ -7126,10 +6997,7 @@ set_ref_in_ht(ht, copyID, list_stack)
  * Returns TRUE if setting references failed somehow.
  */
     int
-set_ref_in_list(l, copyID, ht_stack)
-    list_T	*l;
-    int		copyID;
-    ht_stack_T	**ht_stack;
+set_ref_in_list(list_T *l, int copyID, ht_stack_T **ht_stack)
 {
     listitem_T	 *li;
     int		 abort = FALSE;
@@ -7168,11 +7036,11 @@ set_ref_in_list(l, copyID, ht_stack)
  * Returns TRUE if setting references failed somehow.
  */
     int
-set_ref_in_item(tv, copyID, ht_stack, list_stack)
-    typval_T	    *tv;
-    int		    copyID;
-    ht_stack_T	    **ht_stack;
-    list_stack_T    **list_stack;
+set_ref_in_item(
+    typval_T	    *tv,
+    int		    copyID,
+    ht_stack_T	    **ht_stack,
+    list_stack_T    **list_stack)
 {
     dict_T	*dd;
     list_T	*ll;
@@ -7239,7 +7107,7 @@ set_ref_in_item(tv, copyID, ht_stack, li
  * Allocate an empty header for a dictionary.
  */
     dict_T *
-dict_alloc()
+dict_alloc(void)
 {
     dict_T *d;
 
@@ -7267,8 +7135,7 @@ dict_alloc()
  * Returns OK or FAIL.
  */
     int
-rettv_dict_alloc(rettv)
-    typval_T	*rettv;
+rettv_dict_alloc(typval_T *rettv)
 {
     dict_T	*d = dict_alloc();
 
@@ -7287,8 +7154,7 @@ rettv_dict_alloc(rettv)
  * becomes zero.
  */
     void
-dict_unref(d)
-    dict_T *d;
+dict_unref(dict_T *d)
 {
     if (d != NULL && --d->dv_refcount <= 0)
 	dict_free(d, TRUE);
@@ -7299,9 +7165,9 @@ dict_unref(d)
  * Ignores the reference count.
  */
     void
-dict_free(d, recurse)
-    dict_T  *d;
-    int	    recurse;	/* Free Lists and Dictionaries recursively. */
+dict_free(
+    dict_T  *d,
+    int	    recurse)	/* Free Lists and Dictionaries recursively. */
 {
     int		todo;
     hashitem_T	*hi;
@@ -7344,8 +7210,7 @@ dict_free(d, recurse)
  * Returns NULL when out of memory.
  */
     dictitem_T *
-dictitem_alloc(key)
-    char_u	*key;
+dictitem_alloc(char_u *key)
 {
     dictitem_T *di;
 
@@ -7362,8 +7227,7 @@ dictitem_alloc(key)
  * Make a copy of a Dictionary item.
  */
     static dictitem_T *
-dictitem_copy(org)
-    dictitem_T *org;
+dictitem_copy(dictitem_T *org)
 {
     dictitem_T *di;
 
@@ -7382,9 +7246,7 @@ dictitem_copy(org)
  * Remove item "item" from Dictionary "dict" and free it.
  */
     static void
-dictitem_remove(dict, item)
-    dict_T	*dict;
-    dictitem_T	*item;
+dictitem_remove(dict_T *dict, dictitem_T *item)
 {
     hashitem_T	*hi;
 
@@ -7400,8 +7262,7 @@ dictitem_remove(dict, item)
  * Free a dict item.  Also clears the value.
  */
     void
-dictitem_free(item)
-    dictitem_T *item;
+dictitem_free(dictitem_T *item)
 {
     clear_tv(&item->di_tv);
     if (item->di_flags & DI_FLAGS_ALLOC)
@@ -7415,10 +7276,7 @@ dictitem_free(item)
  * Returns NULL when out of memory.
  */
     static dict_T *
-dict_copy(orig, deep, copyID)
-    dict_T	*orig;
-    int		deep;
-    int		copyID;
+dict_copy(dict_T *orig, int deep, int copyID)
 {
     dict_T	*copy;
     dictitem_T	*di;
@@ -7481,9 +7339,7 @@ dict_copy(orig, deep, copyID)
  * Returns FAIL when out of memory and when key already exists.
  */
     int
-dict_add(d, item)
-    dict_T	*d;
-    dictitem_T	*item;
+dict_add(dict_T *d, dictitem_T *item)
 {
     return hash_add(&d->dv_hashtab, item->di_key);
 }
@@ -7494,11 +7350,11 @@ dict_add(d, item)
  * Returns FAIL when out of memory and when key already exists.
  */
     int
-dict_add_nr_str(d, key, nr, str)
-    dict_T	*d;
-    char	*key;
-    long	nr;
-    char_u	*str;
+dict_add_nr_str(
+    dict_T	*d,
+    char	*key,
+    long	nr,
+    char_u	*str)
 {
     dictitem_T	*item;
 
@@ -7529,10 +7385,7 @@ dict_add_nr_str(d, key, nr, str)
  * Returns FAIL when out of memory and when key already exists.
  */
     int
-dict_add_list(d, key, list)
-    dict_T	*d;
-    char	*key;
-    list_T	*list;
+dict_add_list(dict_T *d, char *key, list_T *list)
 {
     dictitem_T	*item;
 
@@ -7555,8 +7408,7 @@ dict_add_list(d, key, list)
  * Get the number of items in a Dictionary.
  */
     static long
-dict_len(d)
-    dict_T	*d;
+dict_len(dict_T *d)
 {
     if (d == NULL)
 	return 0L;
@@ -7569,10 +7421,7 @@ dict_len(d)
  * Returns NULL when not found.
  */
     dictitem_T *
-dict_find(d, key, len)
-    dict_T	*d;
-    char_u	*key;
-    int		len;
+dict_find(dict_T *d, char_u *key, int len)
 {
 #define AKEYLEN 200
     char_u	buf[AKEYLEN];
@@ -7608,10 +7457,7 @@ dict_find(d, key, len)
  * Returns NULL if the entry doesn't exist or out of memory.
  */
     char_u *
-get_dict_string(d, key, save)
-    dict_T	*d;
-    char_u	*key;
-    int		save;
+get_dict_string(dict_T *d, char_u *key, int save)
 {
     dictitem_T	*di;
     char_u	*s;
@@ -7630,9 +7476,7 @@ get_dict_string(d, key, save)
  * Returns 0 if the entry doesn't exist or out of memory.
  */
     long
-get_dict_number(d, key)
-    dict_T	*d;
-    char_u	*key;
+get_dict_number(dict_T *d, char_u *key)
 {
     dictitem_T	*di;
 
@@ -7647,9 +7491,7 @@ get_dict_number(d, key)
  * May return NULL.
  */
     static char_u *
-dict2string(tv, copyID)
-    typval_T	*tv;
-    int		copyID;
+dict2string(typval_T *tv, int copyID)
 {
     garray_T	ga;
     int		first = TRUE;
@@ -7710,10 +7552,7 @@ dict2string(tv, copyID)
  * Return OK or FAIL.  Returns NOTDONE for {expr}.
  */
     static int
-get_dict_tv(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+get_dict_tv(char_u **arg, typval_T *rettv, int evaluate)
 {
     dict_T	*d = NULL;
     typval_T	tvkey;
@@ -7852,11 +7691,11 @@ get_var_special_name(int nr)
  * May return NULL.
  */
     static char_u *
-echo_string(tv, tofree, numbuf, copyID)
-    typval_T	*tv;
-    char_u	**tofree;
-    char_u	*numbuf;
-    int		copyID;
+echo_string(
+    typval_T	*tv,
+    char_u	**tofree,
+    char_u	*numbuf,
+    int		copyID)
 {
     static int	recurse = 0;
     char_u	*r = NULL;
@@ -7958,11 +7797,11 @@ echo_string(tv, tofree, numbuf, copyID)
  * May return NULL.
  */
     static char_u *
-tv2string(tv, tofree, numbuf, copyID)
-    typval_T	*tv;
-    char_u	**tofree;
-    char_u	*numbuf;
-    int		copyID;
+tv2string(
+    typval_T	*tv,
+    char_u	**tofree,
+    char_u	*numbuf,
+    int		copyID)
 {
     switch (tv->v_type)
     {
@@ -7995,9 +7834,7 @@ tv2string(tv, tofree, numbuf, copyID)
  * If "function" is TRUE make it function('string').
  */
     static char_u *
-string_quote(str, function)
-    char_u	*str;
-    int		function;
+string_quote(char_u *str, int function)
 {
     unsigned	len;
     char_u	*p, *r, *s;
@@ -8043,9 +7880,9 @@ string_quote(str, function)
  * Returns the length of the text that was consumed.
  */
     int
-string2float(text, value)
-    char_u	*text;
-    float_T	*value;	    /* result stored here */
+string2float(
+    char_u	*text,
+    float_T	*value)	    /* result stored here */
 {
     char	*s = (char *)text;
     float_T	f;
@@ -8063,10 +7900,7 @@ string2float(text, value)
  * Return FAIL if the name is invalid.
  */
     static int
-get_env_tv(arg, rettv, evaluate)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;
+get_env_tv(char_u **arg, typval_T *rettv, int evaluate)
 {
     char_u	*string = NULL;
     int		len;
@@ -8481,9 +8315,7 @@ static struct fst
  * or user defined function names.
  */
     char_u *
-get_function_name(xp, idx)
-    expand_T	*xp;
-    int		idx;
+get_function_name(expand_T *xp, int idx)
 {
     static int	intidx = -1;
     char_u	*name;
@@ -8513,9 +8345,7 @@ get_function_name(xp, idx)
  * user defined variable or function names.
  */
     char_u *
-get_expr_name(xp, idx)
-    expand_T	*xp;
-    int		idx;
+get_expr_name(expand_T *xp, int idx)
 {
     static int	intidx = -1;
     char_u	*name;
@@ -8538,9 +8368,7 @@ get_expr_name(xp, idx)
  * Compare struct fst by function name.
  */
     static int
-compare_func_name(s1, s2)
-    const void *s1;
-    const void *s2;
+compare_func_name(const void *s1, const void *s2)
 {
     struct fst *p1 = (struct fst *)s1;
     struct fst *p2 = (struct fst *)s2;
@@ -8554,7 +8382,7 @@ compare_func_name(s1, s2)
  * On machines using EBCDIC we have to sort it.
  */
     static void
-sortFunctions()
+sortFunctions(void)
 {
     int		funcCnt = (int)(sizeof(functions) / sizeof(struct fst)) - 1;
 
@@ -8568,8 +8396,8 @@ sortFunctions()
  * Return index, or -1 if not found
  */
     static int
-find_internal_func(name)
-    char_u	*name;		/* name of the function */
+find_internal_func(
+    char_u	*name)		/* name of the function */
 {
     int		first = 0;
     int		last = (int)(sizeof(functions) / sizeof(struct fst)) - 1;
@@ -8598,10 +8426,7 @@ find_internal_func(name)
  * name it contains, otherwise return "name".
  */
     static char_u *
-deref_func_name(name, lenp, no_autoload)
-    char_u	*name;
-    int		*lenp;
-    int		no_autoload;
+deref_func_name(char_u *name, int *lenp, int no_autoload)
 {
     dictitem_T	*v;
     int		cc;
@@ -8629,17 +8454,16 @@ deref_func_name(name, lenp, no_autoload)
  * Return OK or FAIL.
  */
     static int
-get_func_tv(name, len, rettv, arg, firstline, lastline, doesrange,
-							   evaluate, selfdict)
-    char_u	*name;		/* name of the function */
-    int		len;		/* length of "name" */
-    typval_T	*rettv;
-    char_u	**arg;		/* argument, pointing to the '(' */
-    linenr_T	firstline;	/* first line of range */
-    linenr_T	lastline;	/* last line of range */
-    int		*doesrange;	/* return: function handled range */
-    int		evaluate;
-    dict_T	*selfdict;	/* Dictionary for "self" */
+get_func_tv(
+    char_u	*name,		/* name of the function */
+    int		len,		/* length of "name" */
+    typval_T	*rettv,
+    char_u	**arg,		/* argument, pointing to the '(' */
+    linenr_T	firstline,	/* first line of range */
+    linenr_T	lastline,	/* last line of range */
+    int		*doesrange,	/* return: function handled range */
+    int		evaluate,
+    dict_T	*selfdict)	/* Dictionary for "self" */
 {
     char_u	*argp;
     int		ret = OK;
@@ -8694,19 +8518,18 @@ get_func_tv(name, len, rettv, arg, first
  * Also returns OK when an error was encountered while executing the function.
  */
     int
-call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
-						doesrange, evaluate, selfdict)
-    char_u	*funcname;	/* name of the function */
-    int		len;		/* length of "name" */
-    typval_T	*rettv;		/* return value goes here */
-    int		argcount;	/* number of "argvars" */
-    typval_T	*argvars;	/* vars for arguments, must have "argcount"
+call_func(
+    char_u	*funcname,	/* name of the function */
+    int		len,		/* length of "name" */
+    typval_T	*rettv,		/* return value goes here */
+    int		argcount,	/* number of "argvars" */
+    typval_T	*argvars,	/* vars for arguments, must have "argcount"
 				   PLUS ONE elements! */
-    linenr_T	firstline;	/* first line of range */
-    linenr_T	lastline;	/* last line of range */
-    int		*doesrange;	/* return: function handled range */
-    int		evaluate;
-    dict_T	*selfdict;	/* Dictionary for "self" */
+    linenr_T	firstline,	/* first line of range */
+    linenr_T	lastline,	/* last line of range */
+    int		*doesrange,	/* return: function handled range */
+    int		evaluate,
+    dict_T	*selfdict)	/* Dictionary for "self" */
 {
     int		ret = FAIL;
 #define ERROR_UNKNOWN	0
@@ -8933,9 +8756,7 @@ call_func(funcname, len, rettv, argcount
  * "ermsg" is to be passed without translation, use N_() instead of _().
  */
     static void
-emsg_funcname(ermsg, name)
-    char	*ermsg;
-    char_u	*name;
+emsg_funcname(char *ermsg, char_u *name)
 {
     char_u	*p;
 
@@ -8952,8 +8773,7 @@ emsg_funcname(ermsg, name)
  * Return TRUE for a non-zero Number and a non-empty String.
  */
     static int
-non_zero_arg(argvars)
-    typval_T	*argvars;
+non_zero_arg(typval_T *argvars)
 {
     return ((argvars[0].v_type == VAR_NUMBER
 		&& argvars[0].vval.v_number != 0)
@@ -8974,9 +8794,7 @@ static int get_float_arg(typval_T *argva
  * Returns FAIL when the argument is not a Number or Float.
  */
     static int
-get_float_arg(argvars, f)
-    typval_T	*argvars;
-    float_T	*f;
+get_float_arg(typval_T *argvars, float_T *f)
 {
     if (argvars[0].v_type == VAR_FLOAT)
     {
@@ -8996,9 +8814,7 @@ get_float_arg(argvars, f)
  * "abs(expr)" function
  */
     static void
-f_abs(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_abs(typval_T *argvars, typval_T *rettv)
 {
     if (argvars[0].v_type == VAR_FLOAT)
     {
@@ -9024,9 +8840,7 @@ f_abs(argvars, rettv)
  * "acos()" function
  */
     static void
-f_acos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_acos(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -9042,9 +8856,7 @@ f_acos(argvars, rettv)
  * "add(list, item)" function
  */
     static void
-f_add(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_add(typval_T *argvars, typval_T *rettv)
 {
     list_T	*l;
 
@@ -9065,9 +8877,7 @@ f_add(argvars, rettv)
  * "alloc_fail(id, countdown, repeat)" function
  */
     static void
-f_alloc_fail(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_alloc_fail(typval_T *argvars, typval_T *rettv UNUSED)
 {
     if (argvars[0].v_type != VAR_NUMBER
 	    || argvars[0].vval.v_number <= 0
@@ -9090,9 +8900,7 @@ f_alloc_fail(argvars, rettv)
  * "and(expr, expr)" function
  */
     static void
-f_and(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_and(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL)
 					& get_tv_number_chk(&argvars[1], NULL);
@@ -9102,9 +8910,7 @@ f_and(argvars, rettv)
  * "append(lnum, string/list)" function
  */
     static void
-f_append(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_append(typval_T *argvars, typval_T *rettv)
 {
     long	lnum;
     char_u	*line;
@@ -9166,9 +8972,7 @@ f_append(argvars, rettv)
  * "argc()" function
  */
     static void
-f_argc(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_argc(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = ARGCOUNT;
 }
@@ -9177,9 +8981,7 @@ f_argc(argvars, rettv)
  * "argidx()" function
  */
     static void
-f_argidx(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_argidx(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = curwin->w_arg_idx;
 }
@@ -9188,9 +8990,7 @@ f_argidx(argvars, rettv)
  * "arglistid()" function
  */
     static void
-f_arglistid(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_arglistid(typval_T *argvars UNUSED, typval_T *rettv)
 {
     win_T	*wp;
 
@@ -9204,9 +9004,7 @@ f_arglistid(argvars, rettv)
  * "argv(nr)" function
  */
     static void
-f_argv(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_argv(typval_T *argvars, typval_T *rettv)
 {
     int		idx;
 
@@ -9234,8 +9032,7 @@ static void assert_bool(typval_T *argvar
  * Prepare "gap" for an assert error and add the sourcing position.
  */
     static void
-prepare_assert_error(gap)
-    garray_T	*gap;
+prepare_assert_error(garray_T *gap)
 {
     char buf[NUMBUFLEN];
 
@@ -9259,12 +9056,12 @@ prepare_assert_error(gap)
  * Fill "gap" with information about an assert error.
  */
     static void
-fill_assert_error(gap, opt_msg_tv, exp_str, exp_tv, got_tv)
-    garray_T	*gap;
-    typval_T	*opt_msg_tv;
-    char_u      *exp_str;
-    typval_T	*exp_tv;
-    typval_T	*got_tv;
+fill_assert_error(
+    garray_T	*gap,
+    typval_T	*opt_msg_tv,
+    char_u      *exp_str,
+    typval_T	*exp_tv,
+    typval_T	*got_tv)
 {
     char_u	numbuf[NUMBUFLEN];
     char_u	*tofree;
@@ -9294,8 +9091,7 @@ fill_assert_error(gap, opt_msg_tv, exp_s
  * Add an assert error to v:errors.
  */
     static void
-assert_error(gap)
-    garray_T	*gap;
+assert_error(garray_T *gap)
 {
     struct vimvar   *vp = &vimvars[VV_ERRORS];
 
@@ -9309,9 +9105,7 @@ assert_error(gap)
  * "assert_equal(expected, actual[, msg])" function
  */
     static void
-f_assert_equal(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_assert_equal(typval_T *argvars, typval_T *rettv UNUSED)
 {
     garray_T	ga;
 
@@ -9328,9 +9122,7 @@ f_assert_equal(argvars, rettv)
  * "assert_exception(string[, msg])" function
  */
     static void
-f_assert_exception(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_assert_exception(typval_T *argvars, typval_T *rettv UNUSED)
 {
     garray_T	ga;
     char	*error;
@@ -9358,9 +9150,7 @@ f_assert_exception(argvars, rettv)
  * "assert_fails(cmd [, error])" function
  */
     static void
-f_assert_fails(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_assert_fails(typval_T *argvars, typval_T *rettv UNUSED)
 {
     char_u	*cmd = get_tv_string_chk(&argvars[0]);
     garray_T	ga;
@@ -9403,9 +9193,7 @@ f_assert_fails(argvars, rettv)
  * Common for assert_true() and assert_false().
  */
     static void
-assert_bool(argvars, isTrue)
-    typval_T	*argvars;
-    int		isTrue;
+assert_bool(typval_T *argvars, int isTrue)
 {
     int		error = FALSE;
     garray_T	ga;
@@ -9427,9 +9215,7 @@ assert_bool(argvars, isTrue)
  * "assert_false(actual[, msg])" function
  */
     static void
-f_assert_false(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_assert_false(typval_T *argvars, typval_T *rettv UNUSED)
 {
     assert_bool(argvars, FALSE);
 }
@@ -9438,9 +9224,7 @@ f_assert_false(argvars, rettv)
  * "assert_true(actual[, msg])" function
  */
     static void
-f_assert_true(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_assert_true(typval_T *argvars, typval_T *rettv UNUSED)
 {
     assert_bool(argvars, TRUE);
 }
@@ -9450,9 +9234,7 @@ f_assert_true(argvars, rettv)
  * "asin()" function
  */
     static void
-f_asin(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_asin(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -9467,9 +9249,7 @@ f_asin(argvars, rettv)
  * "atan()" function
  */
     static void
-f_atan(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_atan(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -9484,9 +9264,7 @@ f_atan(argvars, rettv)
  * "atan2()" function
  */
     static void
-f_atan2(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_atan2(typval_T *argvars, typval_T *rettv)
 {
     float_T	fx, fy;
 
@@ -9503,9 +9281,7 @@ f_atan2(argvars, rettv)
  * "browse(save, title, initdir, default)" function
  */
     static void
-f_browse(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_browse(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_BROWSE
     int		save;
@@ -9537,9 +9313,7 @@ f_browse(argvars, rettv)
  * "browsedir(title, initdir)" function
  */
     static void
-f_browsedir(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_browsedir(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_BROWSE
     char_u	*title;
@@ -9566,8 +9340,7 @@ static buf_T *find_buffer(typval_T *avar
  * Find a buffer by number or exact name.
  */
     static buf_T *
-find_buffer(avar)
-    typval_T	*avar;
+find_buffer(typval_T *avar)
 {
     buf_T	*buf = NULL;
 
@@ -9598,9 +9371,7 @@ find_buffer(avar)
  * "bufexists(expr)" function
  */
     static void
-f_bufexists(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_bufexists(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = (find_buffer(&argvars[0]) != NULL);
 }
@@ -9609,9 +9380,7 @@ f_bufexists(argvars, rettv)
  * "buflisted(expr)" function
  */
     static void
-f_buflisted(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_buflisted(typval_T *argvars, typval_T *rettv)
 {
     buf_T	*buf;
 
@@ -9623,9 +9392,7 @@ f_buflisted(argvars, rettv)
  * "bufloaded(expr)" function
  */
     static void
-f_bufloaded(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_bufloaded(typval_T *argvars, typval_T *rettv)
 {
     buf_T	*buf;
 
@@ -9639,9 +9406,7 @@ static buf_T *get_buf_tv(typval_T *tv, i
  * Get buffer by number or pattern.
  */
     static buf_T *
-get_buf_tv(tv, curtab_only)
-    typval_T	*tv;
-    int		curtab_only;
+get_buf_tv(typval_T *tv, int curtab_only)
 {
     char_u	*name = tv->vval.v_string;
     int		save_magic;
@@ -9680,9 +9445,7 @@ get_buf_tv(tv, curtab_only)
  * "bufname(expr)" function
  */
     static void
-f_bufname(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_bufname(typval_T *argvars, typval_T *rettv)
 {
     buf_T	*buf;
 
@@ -9701,9 +9464,7 @@ f_bufname(argvars, rettv)
  * "bufnr(expr)" function
  */
     static void
-f_bufnr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_bufnr(typval_T *argvars, typval_T *rettv)
 {
     buf_T	*buf;
     int		error = FALSE;
@@ -9734,9 +9495,7 @@ f_bufnr(argvars, rettv)
  * "bufwinnr(nr)" function
  */
     static void
-f_bufwinnr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_bufwinnr(typval_T *argvars, typval_T *rettv)
 {
 #ifdef FEAT_WINDOWS
     win_T	*wp;
@@ -9765,9 +9524,7 @@ f_bufwinnr(argvars, rettv)
  * "byte2line(byte)" function
  */
     static void
-f_byte2line(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_byte2line(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifndef FEAT_BYTEOFF
     rettv->vval.v_number = -1;
@@ -9784,10 +9541,7 @@ f_byte2line(argvars, rettv)
 }
 
     static void
-byteidx(argvars, rettv, comp)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		comp UNUSED;
+byteidx(typval_T *argvars, typval_T *rettv, int comp UNUSED)
 {
 #ifdef FEAT_MBYTE
     char_u	*t;
@@ -9823,9 +9577,7 @@ byteidx(argvars, rettv, comp)
  * "byteidx()" function
  */
     static void
-f_byteidx(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_byteidx(typval_T *argvars, typval_T *rettv)
 {
     byteidx(argvars, rettv, FALSE);
 }
@@ -9834,19 +9586,17 @@ f_byteidx(argvars, rettv)
  * "byteidxcomp()" function
  */
     static void
-f_byteidxcomp(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_byteidxcomp(typval_T *argvars, typval_T *rettv)
 {
     byteidx(argvars, rettv, TRUE);
 }
 
     int
-func_call(name, args, selfdict, rettv)
-    char_u	*name;
-    typval_T	*args;
-    dict_T	*selfdict;
-    typval_T	*rettv;
+func_call(
+    char_u	*name,
+    typval_T	*args,
+    dict_T	*selfdict,
+    typval_T	*rettv)
 {
     listitem_T	*item;
     typval_T	argv[MAX_FUNC_ARGS + 1];
@@ -9884,9 +9634,7 @@ func_call(name, args, selfdict, rettv)
  * "call(func, arglist)" function
  */
     static void
-f_call(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_call(typval_T *argvars, typval_T *rettv)
 {
     char_u	*func;
     dict_T	*selfdict = NULL;
@@ -9924,9 +9672,7 @@ f_call(argvars, rettv)
  * "ceil({float})" function
  */
     static void
-f_ceil(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_ceil(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -9942,9 +9688,7 @@ f_ceil(argvars, rettv)
  * "changenr()" function
  */
     static void
-f_changenr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_changenr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = curbuf->b_u_seq_cur;
 }
@@ -9953,9 +9697,7 @@ f_changenr(argvars, rettv)
  * "char2nr(string)" function
  */
     static void
-f_char2nr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_char2nr(typval_T *argvars, typval_T *rettv)
 {
 #ifdef FEAT_MBYTE
     if (has_mbyte)
@@ -9979,9 +9721,7 @@ f_char2nr(argvars, rettv)
  * "cindent(lnum)" function
  */
     static void
-f_cindent(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_cindent(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_CINDENT
     pos_T	pos;
@@ -10004,9 +9744,7 @@ f_cindent(argvars, rettv)
  * "clearmatches()" function
  */
     static void
-f_clearmatches(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_clearmatches(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_SEARCH_EXTRA
     clear_matches(curwin);
@@ -10017,9 +9755,7 @@ f_clearmatches(argvars, rettv)
  * "col(string)" function
  */
     static void
-f_col(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_col(typval_T *argvars, typval_T *rettv)
 {
     colnr_T	col = 0;
     pos_T	*fp;
@@ -10071,9 +9807,7 @@ f_col(argvars, rettv)
  * "complete()" function
  */
     static void
-f_complete(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_complete(typval_T *argvars, typval_T *rettv UNUSED)
 {
     int	    startcol;
 
@@ -10105,9 +9839,7 @@ f_complete(argvars, rettv)
  * "complete_add()" function
  */
     static void
-f_complete_add(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_complete_add(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = ins_compl_add_tv(&argvars[0], 0);
 }
@@ -10116,9 +9848,7 @@ f_complete_add(argvars, rettv)
  * "complete_check()" function
  */
     static void
-f_complete_check(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_complete_check(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		saved = RedrawingDisabled;
 
@@ -10133,9 +9863,7 @@ f_complete_check(argvars, rettv)
  * "confirm(message, buttons[, default [, type]])" function
  */
     static void
-f_confirm(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_confirm(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
     char_u	*message;
@@ -10191,9 +9919,7 @@ f_confirm(argvars, rettv)
  * "copy()" function
  */
     static void
-f_copy(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_copy(typval_T *argvars, typval_T *rettv)
 {
     item_copy(&argvars[0], rettv, FALSE, 0);
 }
@@ -10203,9 +9929,7 @@ f_copy(argvars, rettv)
  * "cos()" function
  */
     static void
-f_cos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_cos(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -10220,9 +9944,7 @@ f_cos(argvars, rettv)
  * "cosh()" function
  */
     static void
-f_cosh(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_cosh(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -10238,9 +9960,7 @@ f_cosh(argvars, rettv)
  * "count()" function
  */
     static void
-f_count(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_count(typval_T *argvars, typval_T *rettv)
 {
     long	n = 0;
     int		ic = FALSE;
@@ -10333,9 +10053,7 @@ get_callback(typval_T *arg)
  * "connect()" function
  */
     static void
-f_connect(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_connect(typval_T *argvars, typval_T *rettv)
 {
     char_u	*address;
     char_u	*mode;
@@ -10395,9 +10113,7 @@ f_connect(argvars, rettv)
  * Checks the existence of a cscope connection.
  */
     static void
-f_cscope_connection(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_cscope_connection(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_CSCOPE
     int		num = 0;
@@ -10426,9 +10142,7 @@ f_cscope_connection(argvars, rettv)
  * Returns 0 when the position could be set, -1 otherwise.
  */
     static void
-f_cursor(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_cursor(typval_T *argvars, typval_T *rettv)
 {
     long	line, col;
 #ifdef FEAT_VIRTUALEDIT
@@ -10497,9 +10211,7 @@ f_cursor(argvars, rettv)
  * "deepcopy()" function
  */
     static void
-f_deepcopy(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_deepcopy(typval_T *argvars, typval_T *rettv)
 {
     int		noref = 0;
 
@@ -10518,9 +10230,7 @@ f_deepcopy(argvars, rettv)
  * "delete()" function
  */
     static void
-f_delete(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_delete(typval_T *argvars, typval_T *rettv)
 {
     char_u	nbuf[NUMBUFLEN];
     char_u	*name;
@@ -10559,9 +10269,7 @@ f_delete(argvars, rettv)
  * "did_filetype()" function
  */
     static void
-f_did_filetype(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_did_filetype(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_AUTOCMD
     rettv->vval.v_number = did_filetype;
@@ -10572,9 +10280,7 @@ f_did_filetype(argvars, rettv)
  * "diff_filler()" function
  */
     static void
-f_diff_filler(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_diff_filler(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_DIFF
     rettv->vval.v_number = diff_check_fill(curwin, get_tv_lnum(argvars));
@@ -10585,9 +10291,7 @@ f_diff_filler(argvars, rettv)
  * "diff_hlID()" function
  */
     static void
-f_diff_hlID(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_diff_hlID(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_DIFF
     linenr_T		lnum = get_tv_lnum(argvars);
@@ -10670,9 +10374,7 @@ get_channel_arg(typval_T *tv)
  * "disconnect()" function
  */
     static void
-f_disconnect(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_disconnect(typval_T *argvars, typval_T *rettv UNUSED)
 {
     int ch_idx = get_channel_arg(&argvars[0]);
 
@@ -10685,9 +10387,7 @@ f_disconnect(argvars, rettv)
  * "empty({expr})" function
  */
     static void
-f_empty(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_empty(typval_T *argvars, typval_T *rettv)
 {
     int		n;
 
@@ -10730,9 +10430,7 @@ f_empty(argvars, rettv)
  * "escape({string}, {chars})" function
  */
     static void
-f_escape(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_escape(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[NUMBUFLEN];
 
@@ -10745,9 +10443,7 @@ f_escape(argvars, rettv)
  * "eval()" function
  */
     static void
-f_eval(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_eval(typval_T *argvars, typval_T *rettv)
 {
     char_u	*s, *p;
 
@@ -10772,9 +10468,7 @@ f_eval(argvars, rettv)
  * "eventhandler()" function
  */
     static void
-f_eventhandler(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_eventhandler(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = vgetc_busy;
 }
@@ -10783,9 +10477,7 @@ f_eventhandler(argvars, rettv)
  * "executable()" function
  */
     static void
-f_executable(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_executable(typval_T *argvars, typval_T *rettv)
 {
     char_u *name = get_tv_string(&argvars[0]);
 
@@ -10798,9 +10490,7 @@ f_executable(argvars, rettv)
  * "exepath()" function
  */
     static void
-f_exepath(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_exepath(typval_T *argvars, typval_T *rettv)
 {
     char_u *p = NULL;
 
@@ -10813,9 +10503,7 @@ f_exepath(argvars, rettv)
  * "exists()" function
  */
     static void
-f_exists(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_exists(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
     char_u	*name;
@@ -10895,9 +10583,7 @@ f_exists(argvars, rettv)
  * "exp()" function
  */
     static void
-f_exp(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_exp(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -10913,9 +10599,7 @@ f_exp(argvars, rettv)
  * "expand()" function
  */
     static void
-f_expand(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_expand(typval_T *argvars, typval_T *rettv)
 {
     char_u	*s;
     int		len;
@@ -10989,10 +10673,7 @@ f_expand(argvars, rettv)
  * Otherwise duplicate keys are ignored ("action" is "keep").
  */
     void
-dict_extend(d1, d2, action)
-    dict_T	*d1;
-    dict_T	*d2;
-    char_u	*action;
+dict_extend(dict_T *d1, dict_T *d2, char_u *action)
 {
     dictitem_T	*di1;
     hashitem_T	*hi2;
@@ -11047,9 +10728,7 @@ dict_extend(d1, d2, action)
  * "extend(dict, dict [, action])" function
  */
     static void
-f_extend(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_extend(typval_T *argvars, typval_T *rettv)
 {
     char_u      *arg_errmsg = (char_u *)N_("extend() argument");
 
@@ -11134,9 +10813,7 @@ f_extend(argvars, rettv)
  * "feedkeys()" function
  */
     static void
-f_feedkeys(argvars, rettv)
-    typval_T    *argvars;
-    typval_T    *rettv UNUSED;
+f_feedkeys(typval_T *argvars, typval_T *rettv UNUSED)
 {
     int		remap = TRUE;
     int		insert = FALSE;
@@ -11191,9 +10868,7 @@ f_feedkeys(argvars, rettv)
  * "filereadable()" function
  */
     static void
-f_filereadable(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_filereadable(typval_T *argvars, typval_T *rettv)
 {
     int		fd;
     char_u	*p;
@@ -11220,9 +10895,7 @@ f_filereadable(argvars, rettv)
  * rights to write into.
  */
     static void
-f_filewritable(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_filewritable(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = filewritable(get_tv_string(&argvars[0]));
 }
@@ -11303,10 +10976,7 @@ static int filter_map_one(typval_T *tv, 
  * Implementation of map() and filter().
  */
     static void
-filter_map(argvars, rettv, map)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		map;
+filter_map(typval_T *argvars, typval_T *rettv, int map)
 {
     char_u	buf[NUMBUFLEN];
     char_u	*expr;
@@ -11423,11 +11093,7 @@ filter_map(argvars, rettv, map)
 }
 
     static int
-filter_map_one(tv, expr, map, remp)
-    typval_T	*tv;
-    char_u	*expr;
-    int		map;
-    int		*remp;
+filter_map_one(typval_T *tv, char_u *expr, int map, int *remp)
 {
     typval_T	rettv;
     char_u	*s;
@@ -11472,9 +11138,7 @@ theend:
  * "filter()" function
  */
     static void
-f_filter(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_filter(typval_T *argvars, typval_T *rettv)
 {
     filter_map(argvars, rettv, FALSE);
 }
@@ -11483,9 +11147,7 @@ f_filter(argvars, rettv)
  * "finddir({fname}[, {path}[, {count}]])" function
  */
     static void
-f_finddir(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_finddir(typval_T *argvars, typval_T *rettv)
 {
     findfilendir(argvars, rettv, FINDFILE_DIR);
 }
@@ -11494,9 +11156,7 @@ f_finddir(argvars, rettv)
  * "findfile({fname}[, {path}[, {count}]])" function
  */
     static void
-f_findfile(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_findfile(typval_T *argvars, typval_T *rettv)
 {
     findfilendir(argvars, rettv, FINDFILE_FILE);
 }
@@ -11506,9 +11166,7 @@ f_findfile(argvars, rettv)
  * "float2nr({float})" function
  */
     static void
-f_float2nr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_float2nr(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -11527,9 +11185,7 @@ f_float2nr(argvars, rettv)
  * "floor({float})" function
  */
     static void
-f_floor(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_floor(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -11544,9 +11200,7 @@ f_floor(argvars, rettv)
  * "fmod()" function
  */
     static void
-f_fmod(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_fmod(typval_T *argvars, typval_T *rettv)
 {
     float_T	fx, fy;
 
@@ -11563,9 +11217,7 @@ f_fmod(argvars, rettv)
  * "fnameescape({string})" function
  */
     static void
-f_fnameescape(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_fnameescape(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_string = vim_strsave_fnameescape(
 					   get_tv_string(&argvars[0]), FALSE);
@@ -11576,9 +11228,7 @@ f_fnameescape(argvars, rettv)
  * "fnamemodify({fname}, {mods})" function
  */
     static void
-f_fnamemodify(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_fnamemodify(typval_T *argvars, typval_T *rettv)
 {
     char_u	*fname;
     char_u	*mods;
@@ -11611,10 +11261,10 @@ static void foldclosed_both(typval_T *ar
  * "foldclosed()" function
  */
     static void
-foldclosed_both(argvars, rettv, end)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
-    int		end UNUSED;
+foldclosed_both(
+    typval_T	*argvars UNUSED,
+    typval_T	*rettv,
+    int		end UNUSED)
 {
 #ifdef FEAT_FOLDING
     linenr_T	lnum;
@@ -11640,9 +11290,7 @@ foldclosed_both(argvars, rettv, end)
  * "foldclosed()" function
  */
     static void
-f_foldclosed(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_foldclosed(typval_T *argvars, typval_T *rettv)
 {
     foldclosed_both(argvars, rettv, FALSE);
 }
@@ -11651,9 +11299,7 @@ f_foldclosed(argvars, rettv)
  * "foldclosedend()" function
  */
     static void
-f_foldclosedend(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_foldclosedend(typval_T *argvars, typval_T *rettv)
 {
     foldclosed_both(argvars, rettv, TRUE);
 }
@@ -11662,9 +11308,7 @@ f_foldclosedend(argvars, rettv)
  * "foldlevel()" function
  */
     static void
-f_foldlevel(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_foldlevel(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_FOLDING
     linenr_T	lnum;
@@ -11679,9 +11323,7 @@ f_foldlevel(argvars, rettv)
  * "foldtext()" function
  */
     static void
-f_foldtext(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_foldtext(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_FOLDING
     linenr_T	lnum;
@@ -11746,9 +11388,7 @@ f_foldtext(argvars, rettv)
  * "foldtextresult(lnum)" function
  */
     static void
-f_foldtextresult(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_foldtextresult(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_FOLDING
     linenr_T	lnum;
@@ -11781,9 +11421,7 @@ f_foldtextresult(argvars, rettv)
  * "foreground()" function
  */
     static void
-f_foreground(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_foreground(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_GUI
     if (gui.in_use)
@@ -11799,9 +11437,7 @@ f_foreground(argvars, rettv)
  * "function()" function
  */
     static void
-f_function(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_function(typval_T *argvars, typval_T *rettv)
 {
     char_u	*s;
 
@@ -11841,9 +11477,7 @@ f_function(argvars, rettv)
  * "garbagecollect()" function
  */
     static void
-f_garbagecollect(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_garbagecollect(typval_T *argvars, typval_T *rettv UNUSED)
 {
     /* This is postponed until we are back at the toplevel, because we may be
      * using Lists and Dicts internally.  E.g.: ":echo [garbagecollect()]". */
@@ -11857,9 +11491,7 @@ f_garbagecollect(argvars, rettv)
  * "get()" function
  */
     static void
-f_get(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_get(typval_T *argvars, typval_T *rettv)
 {
     listitem_T	*li;
     list_T	*l;
@@ -11908,12 +11540,12 @@ static void get_buffer_lines(buf_T *buf,
  * If 'retlist' is TRUE, then the lines are returned as a Vim List.
  */
     static void
-get_buffer_lines(buf, start, end, retlist, rettv)
-    buf_T	*buf;
-    linenr_T	start;
-    linenr_T	end;
-    int		retlist;
-    typval_T	*rettv;
+get_buffer_lines(
+    buf_T	*buf,
+    linenr_T	start,
+    linenr_T	end,
+    int		retlist,
+    typval_T	*rettv)
 {
     char_u	*p;
 
@@ -11953,9 +11585,7 @@ get_buffer_lines(buf, start, end, retlis
  * "getbufline()" function
  */
     static void
-f_getbufline(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getbufline(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum;
     linenr_T	end;
@@ -11979,9 +11609,7 @@ f_getbufline(argvars, rettv)
  * "getbufvar()" function
  */
     static void
-f_getbufvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getbufvar(typval_T *argvars, typval_T *rettv)
 {
     buf_T	*buf;
     buf_T	*save_curbuf;
@@ -12042,9 +11670,7 @@ f_getbufvar(argvars, rettv)
  * "getchar()" function
  */
     static void
-f_getchar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getchar(typval_T *argvars, typval_T *rettv)
 {
     varnumber_T		n;
     int			error = FALSE;
@@ -12144,9 +11770,7 @@ f_getchar(argvars, rettv)
  * "getcharmod()" function
  */
     static void
-f_getcharmod(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getcharmod(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = mod_mask;
 }
@@ -12155,9 +11779,7 @@ f_getcharmod(argvars, rettv)
  * "getcharsearch()" function
  */
     static void
-f_getcharsearch(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getcharsearch(typval_T *argvars UNUSED, typval_T *rettv)
 {
     if (rettv_dict_alloc(rettv) != FAIL)
     {
@@ -12173,9 +11795,7 @@ f_getcharsearch(argvars, rettv)
  * "getcmdline()" function
  */
     static void
-f_getcmdline(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getcmdline(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = get_cmdline_str();
@@ -12185,9 +11805,7 @@ f_getcmdline(argvars, rettv)
  * "getcmdpos()" function
  */
     static void
-f_getcmdpos(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getcmdpos(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = get_cmdline_pos() + 1;
 }
@@ -12196,9 +11814,7 @@ f_getcmdpos(argvars, rettv)
  * "getcmdtype()" function
  */
     static void
-f_getcmdtype(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getcmdtype(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = alloc(2);
@@ -12213,9 +11829,7 @@ f_getcmdtype(argvars, rettv)
  * "getcmdwintype()" function
  */
     static void
-f_getcmdwintype(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getcmdwintype(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
@@ -12233,9 +11847,7 @@ f_getcmdwintype(argvars, rettv)
  * "getcwd()" function
  */
     static void
-f_getcwd(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getcwd(typval_T *argvars, typval_T *rettv)
 {
     win_T	*wp = NULL;
     char_u	*cwd;
@@ -12271,9 +11883,7 @@ f_getcwd(argvars, rettv)
  * "getfontname()" function
  */
     static void
-f_getfontname(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getfontname(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
@@ -12310,9 +11920,7 @@ f_getfontname(argvars, rettv)
  * "getfperm({fname})" function
  */
     static void
-f_getfperm(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getfperm(typval_T *argvars, typval_T *rettv)
 {
     char_u	*fname;
     struct stat st;
@@ -12342,9 +11950,7 @@ f_getfperm(argvars, rettv)
  * "getfsize({fname})" function
  */
     static void
-f_getfsize(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getfsize(typval_T *argvars, typval_T *rettv)
 {
     char_u	*fname;
     struct stat	st;
@@ -12374,9 +11980,7 @@ f_getfsize(argvars, rettv)
  * "getftime({fname})" function
  */
     static void
-f_getftime(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getftime(typval_T *argvars, typval_T *rettv)
 {
     char_u	*fname;
     struct stat	st;
@@ -12393,9 +11997,7 @@ f_getftime(argvars, rettv)
  * "getftype({fname})" function
  */
     static void
-f_getftype(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getftype(typval_T *argvars, typval_T *rettv)
 {
     char_u	*fname;
     struct stat st;
@@ -12473,9 +12075,7 @@ f_getftype(argvars, rettv)
  * "getline(lnum, [end])" function
  */
     static void
-f_getline(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getline(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum;
     linenr_T	end;
@@ -12500,9 +12100,7 @@ f_getline(argvars, rettv)
  * "getmatches()" function
  */
     static void
-f_getmatches(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_getmatches(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_SEARCH_EXTRA
     dict_T	*dict;
@@ -12568,9 +12166,7 @@ f_getmatches(argvars, rettv)
  * "getpid()" function
  */
     static void
-f_getpid(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getpid(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = mch_get_pid();
 }
@@ -12581,9 +12177,7 @@ static void getpos_both(typval_T *argvar
  * "getcurpos()" function
  */
     static void
-f_getcurpos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getcurpos(typval_T *argvars, typval_T *rettv)
 {
     getpos_both(argvars, rettv, TRUE);
 }
@@ -12592,18 +12186,16 @@ f_getcurpos(argvars, rettv)
  * "getpos(string)" function
  */
     static void
-f_getpos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getpos(typval_T *argvars, typval_T *rettv)
 {
     getpos_both(argvars, rettv, FALSE);
 }
 
     static void
-getpos_both(argvars, rettv, getcurpos)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		getcurpos;
+getpos_both(
+    typval_T	*argvars,
+    typval_T	*rettv,
+    int		getcurpos)
 {
     pos_T	*fp;
     list_T	*l;
@@ -12642,9 +12234,7 @@ getpos_both(argvars, rettv, getcurpos)
  * "getqflist()" and "getloclist()" functions
  */
     static void
-f_getqflist(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_getqflist(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_QUICKFIX
     win_T	*wp;
@@ -12670,9 +12260,7 @@ f_getqflist(argvars, rettv)
  * "getreg()" function
  */
     static void
-f_getreg(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getreg(typval_T *argvars, typval_T *rettv)
 {
     char_u	*strregname;
     int		regname;
@@ -12721,9 +12309,7 @@ f_getreg(argvars, rettv)
  * "getregtype()" function
  */
     static void
-f_getregtype(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getregtype(typval_T *argvars, typval_T *rettv)
 {
     char_u	*strregname;
     int		regname;
@@ -12767,9 +12353,7 @@ f_getregtype(argvars, rettv)
  * "gettabvar()" function
  */
     static void
-f_gettabvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_gettabvar(typval_T *argvars, typval_T *rettv)
 {
     win_T	*oldcurwin;
     tabpage_T	*tp, *oldtabpage;
@@ -12812,9 +12396,7 @@ f_gettabvar(argvars, rettv)
  * "gettabwinvar()" function
  */
     static void
-f_gettabwinvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_gettabwinvar(typval_T *argvars, typval_T *rettv)
 {
     getwinvar(argvars, rettv, 1);
 }
@@ -12823,9 +12405,7 @@ f_gettabwinvar(argvars, rettv)
  * "getwinposx()" function
  */
     static void
-f_getwinposx(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getwinposx(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = -1;
 #ifdef FEAT_GUI
@@ -12843,9 +12423,7 @@ f_getwinposx(argvars, rettv)
  * "getwinposy()" function
  */
     static void
-f_getwinposy(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_getwinposy(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = -1;
 #ifdef FEAT_GUI
@@ -12863,9 +12441,9 @@ f_getwinposy(argvars, rettv)
  * Find window specified by "vp" in tabpage "tp".
  */
     static win_T *
-find_win_by_nr(vp, tp)
-    typval_T	*vp;
-    tabpage_T	*tp UNUSED;	/* NULL for current tab page */
+find_win_by_nr(
+    typval_T	*vp,
+    tabpage_T	*tp UNUSED)	/* NULL for current tab page */
 {
 #ifdef FEAT_WINDOWS
     win_T	*wp;
@@ -12896,9 +12474,9 @@ find_win_by_nr(vp, tp)
  * Find window specified by "wvp" in tabpage "tvp".
  */
     static win_T *
-find_tabwin(wvp, tvp)
-    typval_T	*wvp;	/* VAR_UNKNOWN for current window */
-    typval_T	*tvp;	/* VAR_UNKNOWN for current tab page */
+find_tabwin(
+    typval_T	*wvp,	/* VAR_UNKNOWN for current window */
+    typval_T	*tvp)	/* VAR_UNKNOWN for current tab page */
 {
     win_T	*wp = NULL;
     tabpage_T	*tp = NULL;
@@ -12928,9 +12506,7 @@ find_tabwin(wvp, tvp)
  * "getwinvar()" function
  */
     static void
-f_getwinvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_getwinvar(typval_T *argvars, typval_T *rettv)
 {
     getwinvar(argvars, rettv, 0);
 }
@@ -12939,10 +12515,10 @@ f_getwinvar(argvars, rettv)
  * getwinvar() and gettabwinvar()
  */
     static void
-getwinvar(argvars, rettv, off)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		off;	    /* 1 for gettabwinvar() */
+getwinvar(
+    typval_T	*argvars,
+    typval_T	*rettv,
+    int		off)	    /* 1 for gettabwinvar() */
 {
     win_T	*win;
     char_u	*varname;
@@ -13016,9 +12592,7 @@ getwinvar(argvars, rettv, off)
  * "glob()" function
  */
     static void
-f_glob(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_glob(typval_T *argvars, typval_T *rettv)
 {
     int		options = WILD_SILENT|WILD_USE_NL;
     expand_T	xpc;
@@ -13072,9 +12646,7 @@ f_glob(argvars, rettv)
  * "globpath()" function
  */
     static void
-f_globpath(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_globpath(typval_T *argvars, typval_T *rettv)
 {
     int		flags = 0;
     char_u	buf1[NUMBUFLEN];
@@ -13122,9 +12694,7 @@ f_globpath(argvars, rettv)
  * "glob2regpat()" function
  */
     static void
-f_glob2regpat(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_glob2regpat(typval_T *argvars, typval_T *rettv)
 {
     char_u	*pat = get_tv_string_chk(&argvars[0]);
 
@@ -13137,9 +12707,7 @@ f_glob2regpat(argvars, rettv)
  * "has()" function
  */
     static void
-f_has(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_has(typval_T *argvars, typval_T *rettv)
 {
     int		i;
     char_u	*name;
@@ -13742,9 +13310,7 @@ f_has(argvars, rettv)
  * "has_key()" function
  */
     static void
-f_has_key(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_has_key(typval_T *argvars, typval_T *rettv)
 {
     if (argvars[0].v_type != VAR_DICT)
     {
@@ -13762,9 +13328,7 @@ f_has_key(argvars, rettv)
  * "haslocaldir()" function
  */
     static void
-f_haslocaldir(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_haslocaldir(typval_T *argvars, typval_T *rettv)
 {
     win_T	*wp = NULL;
 
@@ -13776,9 +13340,7 @@ f_haslocaldir(argvars, rettv)
  * "hasmapto()" function
  */
     static void
-f_hasmapto(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_hasmapto(typval_T *argvars, typval_T *rettv)
 {
     char_u	*name;
     char_u	*mode;
@@ -13805,9 +13367,7 @@ f_hasmapto(argvars, rettv)
  * "histadd()" function
  */
     static void
-f_histadd(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_histadd(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_CMDHIST
     int		histype;
@@ -13839,9 +13399,7 @@ f_histadd(argvars, rettv)
  * "histdel()" function
  */
     static void
-f_histdel(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_histdel(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_CMDHIST
     int		n;
@@ -13870,9 +13428,7 @@ f_histdel(argvars, rettv)
  * "histget()" function
  */
     static void
-f_histget(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_histget(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_CMDHIST
     int		type;
@@ -13902,9 +13458,7 @@ f_histget(argvars, rettv)
  * "histnr()" function
  */
     static void
-f_histnr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_histnr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		i;
 
@@ -13924,9 +13478,7 @@ f_histnr(argvars, rettv)
  * "highlightID(name)" function
  */
     static void
-f_hlID(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_hlID(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = syn_name2id(get_tv_string(&argvars[0]));
 }
@@ -13935,9 +13487,7 @@ f_hlID(argvars, rettv)
  * "highlight_exists()" function
  */
     static void
-f_hlexists(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_hlexists(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = highlight_exists(get_tv_string(&argvars[0]));
 }
@@ -13946,9 +13496,7 @@ f_hlexists(argvars, rettv)
  * "hostname()" function
  */
     static void
-f_hostname(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_hostname(typval_T *argvars UNUSED, typval_T *rettv)
 {
     char_u hostname[256];
 
@@ -13961,9 +13509,7 @@ f_hostname(argvars, rettv)
  * iconv() function
  */
     static void
-f_iconv(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_iconv(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_MBYTE
     char_u	buf1[NUMBUFLEN];
@@ -13998,9 +13544,7 @@ f_iconv(argvars, rettv)
  * "indent()" function
  */
     static void
-f_indent(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_indent(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum;
 
@@ -14015,9 +13559,7 @@ f_indent(argvars, rettv)
  * "index()" function
  */
     static void
-f_index(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_index(typval_T *argvars, typval_T *rettv)
 {
     list_T	*l;
     listitem_T	*item;
@@ -14068,10 +13610,10 @@ static void get_user_input(typval_T *arg
  * when the user cancels the prompt.
  */
     static void
-get_user_input(argvars, rettv, inputdialog)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		inputdialog;
+get_user_input(
+    typval_T	*argvars,
+    typval_T	*rettv,
+    int		inputdialog)
 {
     char_u	*prompt = get_tv_string_chk(&argvars[0]);
     char_u	*p = NULL;
@@ -14173,9 +13715,7 @@ get_user_input(argvars, rettv, inputdial
  *     Also handles inputsecret() when inputsecret is set.
  */
     static void
-f_input(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_input(typval_T *argvars, typval_T *rettv)
 {
     get_user_input(argvars, rettv, FALSE);
 }
@@ -14184,9 +13724,7 @@ f_input(argvars, rettv)
  * "inputdialog()" function
  */
     static void
-f_inputdialog(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_inputdialog(typval_T *argvars, typval_T *rettv)
 {
 #if defined(FEAT_GUI_TEXTDIALOG)
     /* Use a GUI dialog if the GUI is running and 'c' is not in 'guioptions' */
@@ -14227,9 +13765,7 @@ f_inputdialog(argvars, rettv)
  * "inputlist()" function
  */
     static void
-f_inputlist(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_inputlist(typval_T *argvars, typval_T *rettv)
 {
     listitem_T	*li;
     int		selected;
@@ -14273,9 +13809,7 @@ static garray_T	    ga_userinput = {0, 0
  * "inputrestore()" function
  */
     static void
-f_inputrestore(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_inputrestore(typval_T *argvars UNUSED, typval_T *rettv)
 {
     if (ga_userinput.ga_len > 0)
     {
@@ -14295,9 +13829,7 @@ f_inputrestore(argvars, rettv)
  * "inputsave()" function
  */
     static void
-f_inputsave(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_inputsave(typval_T *argvars UNUSED, typval_T *rettv)
 {
     /* Add an entry to the stack of typeahead storage. */
     if (ga_grow(&ga_userinput, 1) == OK)
@@ -14315,9 +13847,7 @@ f_inputsave(argvars, rettv)
  * "inputsecret()" function
  */
     static void
-f_inputsecret(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_inputsecret(typval_T *argvars, typval_T *rettv)
 {
     ++cmdline_star;
     ++inputsecret_flag;
@@ -14330,9 +13860,7 @@ f_inputsecret(argvars, rettv)
  * "insert()" function
  */
     static void
-f_insert(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_insert(typval_T *argvars, typval_T *rettv)
 {
     long	before = 0;
     listitem_T	*item;
@@ -14372,9 +13900,7 @@ f_insert(argvars, rettv)
  * "invert(expr)" function
  */
     static void
-f_invert(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_invert(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = ~get_tv_number_chk(&argvars[0], NULL);
 }
@@ -14383,9 +13909,7 @@ f_invert(argvars, rettv)
  * "isdirectory()" function
  */
     static void
-f_isdirectory(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_isdirectory(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = mch_isdir(get_tv_string(&argvars[0]));
 }
@@ -14394,9 +13918,7 @@ f_isdirectory(argvars, rettv)
  * "islocked()" function
  */
     static void
-f_islocked(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_islocked(typval_T *argvars, typval_T *rettv)
 {
     lval_T	lv;
     char_u	*end;
@@ -14455,10 +13977,7 @@ static void dict_list(typval_T *argvars,
  * "what" == 2: list of items
  */
     static void
-dict_list(argvars, rettv, what)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		what;
+dict_list(typval_T *argvars, typval_T *rettv, int what)
 {
     list_T	*l2;
     dictitem_T	*di;
@@ -14537,9 +14056,7 @@ dict_list(argvars, rettv, what)
  * "items(dict)" function
  */
     static void
-f_items(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_items(typval_T *argvars, typval_T *rettv)
 {
     dict_list(argvars, rettv, 2);
 }
@@ -14548,9 +14065,7 @@ f_items(argvars, rettv)
  * "join()" function
  */
     static void
-f_join(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_join(typval_T *argvars, typval_T *rettv)
 {
     garray_T	ga;
     char_u	*sep;
@@ -14584,9 +14099,7 @@ f_join(argvars, rettv)
  * "jsondecode()" function
  */
     static void
-f_jsondecode(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_jsondecode(typval_T *argvars, typval_T *rettv)
 {
     js_read_T	reader;
 
@@ -14600,9 +14113,7 @@ f_jsondecode(argvars, rettv)
  * "jsonencode()" function
  */
     static void
-f_jsonencode(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_jsonencode(typval_T *argvars, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = json_encode(&argvars[0]);
@@ -14612,9 +14123,7 @@ f_jsonencode(argvars, rettv)
  * "keys()" function
  */
     static void
-f_keys(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_keys(typval_T *argvars, typval_T *rettv)
 {
     dict_list(argvars, rettv, 0);
 }
@@ -14623,9 +14132,7 @@ f_keys(argvars, rettv)
  * "last_buffer_nr()" function.
  */
     static void
-f_last_buffer_nr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_last_buffer_nr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		n = 0;
     buf_T	*buf;
@@ -14641,9 +14148,7 @@ f_last_buffer_nr(argvars, rettv)
  * "len()" function
  */
     static void
-f_len(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_len(typval_T *argvars, typval_T *rettv)
 {
     switch (argvars[0].v_type)
     {
@@ -14667,10 +14172,7 @@ f_len(argvars, rettv)
 static void libcall_common(typval_T *argvars, typval_T *rettv, int type);
 
     static void
-libcall_common(argvars, rettv, type)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		type;
+libcall_common(typval_T *argvars, typval_T *rettv, int type)
 {
 #ifdef FEAT_LIBCALL
     char_u		*string_in;
@@ -14712,9 +14214,7 @@ libcall_common(argvars, rettv, type)
  * "libcall()" function
  */
     static void
-f_libcall(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_libcall(typval_T *argvars, typval_T *rettv)
 {
     libcall_common(argvars, rettv, VAR_STRING);
 }
@@ -14723,9 +14223,7 @@ f_libcall(argvars, rettv)
  * "libcallnr()" function
  */
     static void
-f_libcallnr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_libcallnr(typval_T *argvars, typval_T *rettv)
 {
     libcall_common(argvars, rettv, VAR_NUMBER);
 }
@@ -14734,9 +14232,7 @@ f_libcallnr(argvars, rettv)
  * "line(string)" function
  */
     static void
-f_line(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_line(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum = 0;
     pos_T	*fp;
@@ -14752,9 +14248,7 @@ f_line(argvars, rettv)
  * "line2byte(lnum)" function
  */
     static void
-f_line2byte(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_line2byte(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifndef FEAT_BYTEOFF
     rettv->vval.v_number = -1;
@@ -14775,9 +14269,7 @@ f_line2byte(argvars, rettv)
  * "lispindent(lnum)" function
  */
     static void
-f_lispindent(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_lispindent(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_LISP
     pos_T	pos;
@@ -14800,9 +14292,7 @@ f_lispindent(argvars, rettv)
  * "localtime()" function
  */
     static void
-f_localtime(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_localtime(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = (varnumber_T)time(NULL);
 }
@@ -14810,10 +14300,7 @@ f_localtime(argvars, rettv)
 static void get_maparg(typval_T *argvars, typval_T *rettv, int exact);
 
     static void
-get_maparg(argvars, rettv, exact)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		exact;
+get_maparg(typval_T *argvars, typval_T *rettv, int exact)
 {
     char_u	*keys;
     char_u	*which;
@@ -14889,9 +14376,7 @@ get_maparg(argvars, rettv, exact)
  * "log()" function
  */
     static void
-f_log(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_log(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -14906,9 +14391,7 @@ f_log(argvars, rettv)
  * "log10()" function
  */
     static void
-f_log10(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_log10(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -14925,9 +14408,7 @@ f_log10(argvars, rettv)
  * "luaeval()" function
  */
     static void
-f_luaeval(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_luaeval(typval_T *argvars, typval_T *rettv)
 {
     char_u	*str;
     char_u	buf[NUMBUFLEN];
@@ -14941,9 +14422,7 @@ f_luaeval(argvars, rettv)
  * "map()" function
  */
     static void
-f_map(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_map(typval_T *argvars, typval_T *rettv)
 {
     filter_map(argvars, rettv, TRUE);
 }
@@ -14952,9 +14431,7 @@ f_map(argvars, rettv)
  * "maparg()" function
  */
     static void
-f_maparg(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_maparg(typval_T *argvars, typval_T *rettv)
 {
     get_maparg(argvars, rettv, TRUE);
 }
@@ -14963,9 +14440,7 @@ f_maparg(argvars, rettv)
  * "mapcheck()" function
  */
     static void
-f_mapcheck(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_mapcheck(typval_T *argvars, typval_T *rettv)
 {
     get_maparg(argvars, rettv, FALSE);
 }
@@ -14973,10 +14448,7 @@ f_mapcheck(argvars, rettv)
 static void find_some_match(typval_T *argvars, typval_T *rettv, int start);
 
     static void
-find_some_match(argvars, rettv, type)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		type;
+find_some_match(typval_T *argvars, typval_T *rettv, int type)
 {
     char_u	*str = NULL;
     long	len = 0;
@@ -15172,9 +14644,7 @@ theend:
  * "match()" function
  */
     static void
-f_match(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_match(typval_T *argvars, typval_T *rettv)
 {
     find_some_match(argvars, rettv, 1);
 }
@@ -15183,9 +14653,7 @@ f_match(argvars, rettv)
  * "matchadd()" function
  */
     static void
-f_matchadd(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_matchadd(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_SEARCH_EXTRA
     char_u	buf[NUMBUFLEN];
@@ -15237,9 +14705,7 @@ f_matchadd(argvars, rettv)
  * "matchaddpos()" function
  */
     static void
-f_matchaddpos(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_matchaddpos(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_SEARCH_EXTRA
     char_u	buf[NUMBUFLEN];
@@ -15304,9 +14770,7 @@ f_matchaddpos(argvars, rettv)
  * "matcharg()" function
  */
     static void
-f_matcharg(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_matcharg(typval_T *argvars UNUSED, typval_T *rettv)
 {
     if (rettv_list_alloc(rettv) == OK)
     {
@@ -15336,9 +14800,7 @@ f_matcharg(argvars, rettv)
  * "matchdelete()" function
  */
     static void
-f_matchdelete(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_matchdelete(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_SEARCH_EXTRA
     rettv->vval.v_number = match_delete(curwin,
@@ -15350,9 +14812,7 @@ f_matchdelete(argvars, rettv)
  * "matchend()" function
  */
     static void
-f_matchend(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_matchend(typval_T *argvars, typval_T *rettv)
 {
     find_some_match(argvars, rettv, 0);
 }
@@ -15361,9 +14821,7 @@ f_matchend(argvars, rettv)
  * "matchlist()" function
  */
     static void
-f_matchlist(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_matchlist(typval_T *argvars, typval_T *rettv)
 {
     find_some_match(argvars, rettv, 3);
 }
@@ -15372,9 +14830,7 @@ f_matchlist(argvars, rettv)
  * "matchstr()" function
  */
     static void
-f_matchstr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_matchstr(typval_T *argvars, typval_T *rettv)
 {
     find_some_match(argvars, rettv, 2);
 }
@@ -15382,10 +14838,7 @@ f_matchstr(argvars, rettv)
 static void max_min(typval_T *argvars, typval_T *rettv, int domax);
 
     static void
-max_min(argvars, rettv, domax)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		domax;
+max_min(typval_T *argvars, typval_T *rettv, int domax)
 {
     long	n = 0;
     long	i;
@@ -15452,9 +14905,7 @@ max_min(argvars, rettv, domax)
  * "max()" function
  */
     static void
-f_max(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_max(typval_T *argvars, typval_T *rettv)
 {
     max_min(argvars, rettv, TRUE);
 }
@@ -15463,9 +14914,7 @@ f_max(argvars, rettv)
  * "min()" function
  */
     static void
-f_min(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_min(typval_T *argvars, typval_T *rettv)
 {
     max_min(argvars, rettv, FALSE);
 }
@@ -15477,9 +14926,7 @@ static int mkdir_recurse(char_u *dir, in
  * needed.
  */
     static int
-mkdir_recurse(dir, prot)
-    char_u	*dir;
-    int		prot;
+mkdir_recurse(char_u *dir, int prot)
 {
     char_u	*p;
     char_u	*updir;
@@ -15508,9 +14955,7 @@ mkdir_recurse(dir, prot)
  * "mkdir()" function
  */
     static void
-f_mkdir(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_mkdir(typval_T *argvars, typval_T *rettv)
 {
     char_u	*dir;
     char_u	buf[NUMBUFLEN];
@@ -15545,9 +14990,7 @@ f_mkdir(argvars, rettv)
  * "mode()" function
  */
     static void
-f_mode(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_mode(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[3];
 
@@ -15619,9 +15062,7 @@ f_mode(argvars, rettv)
  * "mzeval()" function
  */
     static void
-f_mzeval(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_mzeval(typval_T *argvars, typval_T *rettv)
 {
     char_u	*str;
     char_u	buf[NUMBUFLEN];
@@ -15631,10 +15072,7 @@ f_mzeval(argvars, rettv)
 }
 
     void
-mzscheme_call_vim(name, args, rettv)
-    char_u	*name;
-    typval_T	*args;
-    typval_T	*rettv;
+mzscheme_call_vim(char_u *name, typval_T *args, typval_T *rettv)
 {
     typval_T argvars[3];
 
@@ -15651,9 +15089,7 @@ mzscheme_call_vim(name, args, rettv)
  * "nextnonblank()" function
  */
     static void
-f_nextnonblank(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_nextnonblank(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum;
 
@@ -15674,9 +15110,7 @@ f_nextnonblank(argvars, rettv)
  * "nr2char()" function
  */
     static void
-f_nr2char(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_nr2char(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[NUMBUFLEN];
 
@@ -15706,9 +15140,7 @@ f_nr2char(argvars, rettv)
  * "or(expr, expr)" function
  */
     static void
-f_or(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_or(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL)
 					| get_tv_number_chk(&argvars[1], NULL);
@@ -15718,9 +15150,7 @@ f_or(argvars, rettv)
  * "pathshorten()" function
  */
     static void
-f_pathshorten(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_pathshorten(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
 
@@ -15742,9 +15172,7 @@ f_pathshorten(argvars, rettv)
  * "perleval()" function
  */
     static void
-f_perleval(argvars, rettv)
-    typval_T *argvars;
-    typval_T *rettv;
+f_perleval(typval_T *argvars, typval_T *rettv)
 {
     char_u	*str;
     char_u	buf[NUMBUFLEN];
@@ -15759,9 +15187,7 @@ f_perleval(argvars, rettv)
  * "pow()" function
  */
     static void
-f_pow(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_pow(typval_T *argvars, typval_T *rettv)
 {
     float_T	fx, fy;
 
@@ -15778,9 +15204,7 @@ f_pow(argvars, rettv)
  * "prevnonblank()" function
  */
     static void
-f_prevnonblank(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_prevnonblank(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum;
 
@@ -15805,9 +15229,7 @@ static va_list	ap;
  * "printf()" function
  */
     static void
-f_printf(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_printf(typval_T *argvars, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
@@ -15841,9 +15263,7 @@ f_printf(argvars, rettv)
  * "pumvisible()" function
  */
     static void
-f_pumvisible(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_pumvisible(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_INS_EXPAND
     if (pum_visible())
@@ -15856,9 +15276,7 @@ f_pumvisible(argvars, rettv)
  * "py3eval()" function
  */
     static void
-f_py3eval(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_py3eval(typval_T *argvars, typval_T *rettv)
 {
     char_u	*str;
     char_u	buf[NUMBUFLEN];
@@ -15873,9 +15291,7 @@ f_py3eval(argvars, rettv)
  * "pyeval()" function
  */
     static void
-f_pyeval(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_pyeval(typval_T *argvars, typval_T *rettv)
 {
     char_u	*str;
     char_u	buf[NUMBUFLEN];
@@ -15889,9 +15305,7 @@ f_pyeval(argvars, rettv)
  * "range()" function
  */
     static void
-f_range(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_range(typval_T *argvars, typval_T *rettv)
 {
     long	start;
     long	end;
@@ -15932,9 +15346,7 @@ f_range(argvars, rettv)
  * "readfile()" function
  */
     static void
-f_readfile(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_readfile(typval_T *argvars, typval_T *rettv)
 {
     int		binary = FALSE;
     int		failed = FALSE;
@@ -16150,9 +15562,7 @@ static int list2proftime(typval_T *arg, 
  * Return FAIL when there is something wrong.
  */
     static int
-list2proftime(arg, tm)
-    typval_T	*arg;
-    proftime_T  *tm;
+list2proftime(typval_T *arg, proftime_T *tm)
 {
     long	n1, n2;
     int	error = FALSE;
@@ -16177,9 +15587,7 @@ list2proftime(arg, tm)
  * "reltime()" function
  */
     static void
-f_reltime(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_reltime(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_RELTIME
     proftime_T	res;
@@ -16226,9 +15634,7 @@ f_reltime(argvars, rettv)
  * "reltimestr()" function
  */
     static void
-f_reltimestr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_reltimestr(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_RELTIME
     proftime_T	tm;
@@ -16247,7 +15653,7 @@ static void make_connection(void);
 static int check_connection(void);
 
     static void
-make_connection()
+make_connection(void)
 {
     if (X_DISPLAY == NULL
 # ifdef FEAT_GUI
@@ -16262,7 +15668,7 @@ make_connection()
 }
 
     static int
-check_connection()
+check_connection(void)
 {
     make_connection();
     if (X_DISPLAY == NULL)
@@ -16278,10 +15684,7 @@ check_connection()
 static void remote_common(typval_T *argvars, typval_T *rettv, int expr);
 
     static void
-remote_common(argvars, rettv, expr)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		expr;
+remote_common(typval_T *argvars, typval_T *rettv, int expr)
 {
     char_u	*server_name;
     char_u	*keys;
@@ -16342,9 +15745,7 @@ remote_common(argvars, rettv, expr)
  * "remote_expr()" function
  */
     static void
-f_remote_expr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_remote_expr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
@@ -16357,9 +15758,7 @@ f_remote_expr(argvars, rettv)
  * "remote_foreground()" function
  */
     static void
-f_remote_foreground(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_remote_foreground(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_CLIENTSERVER
 # ifdef WIN32
@@ -16382,9 +15781,7 @@ f_remote_foreground(argvars, rettv)
 }
 
     static void
-f_remote_peek(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_remote_peek(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_CLIENTSERVER
     dictitem_T	v;
@@ -16439,9 +15836,7 @@ f_remote_peek(argvars, rettv)
 }
 
     static void
-f_remote_read(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_remote_read(typval_T *argvars UNUSED, typval_T *rettv)
 {
     char_u	*r = NULL;
 
@@ -16473,9 +15868,7 @@ f_remote_read(argvars, rettv)
  * "remote_send()" function
  */
     static void
-f_remote_send(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_remote_send(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
@@ -16488,9 +15881,7 @@ f_remote_send(argvars, rettv)
  * "remove()" function
  */
     static void
-f_remove(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_remove(typval_T *argvars, typval_T *rettv)
 {
     list_T	*l;
     listitem_T	*item, *item2;
@@ -16589,9 +15980,7 @@ f_remove(argvars, rettv)
  * "rename({from}, {to})" function
  */
     static void
-f_rename(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_rename(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[NUMBUFLEN];
 
@@ -16606,9 +15995,7 @@ f_rename(argvars, rettv)
  * "repeat()" function
  */
     static void
-f_repeat(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_repeat(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
     int		n;
@@ -16653,9 +16040,7 @@ f_repeat(argvars, rettv)
  * "resolve()" function
  */
     static void
-f_resolve(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_resolve(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
 #ifdef HAVE_READLINK
@@ -16862,9 +16247,7 @@ fail:
  * "reverse({list})" function
  */
     static void
-f_reverse(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_reverse(typval_T *argvars, typval_T *rettv)
 {
     list_T	*l;
     listitem_T	*li, *ni;
@@ -16908,9 +16291,7 @@ static int get_search_arg(typval_T *varp
  * Returns BACKWARD, FORWARD or zero (for an error).
  */
     static int
-get_search_arg(varp, flagsp)
-    typval_T	*varp;
-    int		*flagsp;
+get_search_arg(typval_T *varp, int *flagsp)
 {
     int		dir = FORWARD;
     char_u	*flags;
@@ -16962,10 +16343,7 @@ get_search_arg(varp, flagsp)
  * Shared by search() and searchpos() functions.
  */
     static int
-search_cmn(argvars, match_pos, flagsp)
-    typval_T	*argvars;
-    pos_T	*match_pos;
-    int		*flagsp;
+search_cmn(typval_T *argvars, pos_T *match_pos, int *flagsp)
 {
     int		flags;
     char_u	*pat;
@@ -17068,8 +16446,7 @@ theend:
  * round() is not in C90, use ceil() or floor() instead.
  */
     float_T
-vim_round(f)
-    float_T f;
+vim_round(float_T f)
 {
     return f > 0 ? floor(f + 0.5) : ceil(f - 0.5);
 }
@@ -17078,9 +16455,7 @@ vim_round(f)
  * "round({float})" function
  */
     static void
-f_round(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_round(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -17096,9 +16471,7 @@ f_round(argvars, rettv)
  * "screenattr()" function
  */
     static void
-f_screenattr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_screenattr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		row;
     int		col;
@@ -17118,9 +16491,7 @@ f_screenattr(argvars, rettv)
  * "screenchar()" function
  */
     static void
-f_screenchar(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_screenchar(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		row;
     int		col;
@@ -17151,9 +16522,7 @@ f_screenchar(argvars, rettv)
  * First column is 1 to be consistent with virtcol().
  */
     static void
-f_screencol(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_screencol(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = screen_screencol() + 1;
 }
@@ -17162,9 +16531,7 @@ f_screencol(argvars, rettv)
  * "screenrow()" function
  */
     static void
-f_screenrow(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_screenrow(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = screen_screenrow() + 1;
 }
@@ -17173,9 +16540,7 @@ f_screenrow(argvars, rettv)
  * "search()" function
  */
     static void
-f_search(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_search(typval_T *argvars, typval_T *rettv)
 {
     int		flags = 0;
 
@@ -17186,9 +16551,7 @@ f_search(argvars, rettv)
  * "searchdecl()" function
  */
     static void
-f_searchdecl(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_searchdecl(typval_T *argvars, typval_T *rettv)
 {
     int		locally = 1;
     int		thisblock = 0;
@@ -17213,9 +16576,7 @@ f_searchdecl(argvars, rettv)
  * Used by searchpair() and searchpairpos()
  */
     static int
-searchpair_cmn(argvars, match_pos)
-    typval_T	*argvars;
-    pos_T	*match_pos;
+searchpair_cmn(typval_T *argvars, pos_T *match_pos)
 {
     char_u	*spat, *mpat, *epat;
     char_u	*skip;
@@ -17293,9 +16654,7 @@ theend:
  * "searchpair()" function
  */
     static void
-f_searchpair(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_searchpair(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = searchpair_cmn(argvars, NULL);
 }
@@ -17304,9 +16663,7 @@ f_searchpair(argvars, rettv)
  * "searchpairpos()" function
  */
     static void
-f_searchpairpos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_searchpairpos(typval_T *argvars, typval_T *rettv)
 {
     pos_T	match_pos;
     int		lnum = 0;
@@ -17331,17 +16688,16 @@ f_searchpairpos(argvars, rettv)
  * Returns 0 or -1 for no match,
  */
     long
-do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
-							lnum_stop, time_limit)
-    char_u	*spat;	    /* start pattern */
-    char_u	*mpat;	    /* middle pattern */
-    char_u	*epat;	    /* end pattern */
-    int		dir;	    /* BACKWARD or FORWARD */
-    char_u	*skip;	    /* skip expression */
-    int		flags;	    /* SP_SETPCMARK and other SP_ values */
-    pos_T	*match_pos;
-    linenr_T	lnum_stop;  /* stop at this line if not zero */
-    long	time_limit UNUSED; /* stop after this many msec */
+do_searchpair(
+    char_u	*spat,	    /* start pattern */
+    char_u	*mpat,	    /* middle pattern */
+    char_u	*epat,	    /* end pattern */
+    int		dir,	    /* BACKWARD or FORWARD */
+    char_u	*skip,	    /* skip expression */
+    int		flags,	    /* SP_SETPCMARK and other SP_ values */
+    pos_T	*match_pos,
+    linenr_T	lnum_stop,  /* stop at this line if not zero */
+    long	time_limit UNUSED) /* stop after this many msec */
 {
     char_u	*save_cpo;
     char_u	*pat, *pat2 = NULL, *pat3 = NULL;
@@ -17488,9 +16844,7 @@ theend:
  * "searchpos()" function
  */
     static void
-f_searchpos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_searchpos(typval_T *argvars, typval_T *rettv)
 {
     pos_T	match_pos;
     int		lnum = 0;
@@ -17552,9 +16906,7 @@ send_common(typval_T *argvars, char_u *t
  * "sendexpr()" function
  */
     static void
-f_sendexpr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sendexpr(typval_T *argvars, typval_T *rettv)
 {
     char_u	*text;
     char_u	*resp;
@@ -17598,9 +16950,7 @@ f_sendexpr(argvars, rettv)
  * "sendraw()" function
  */
     static void
-f_sendraw(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sendraw(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[NUMBUFLEN];
     char_u	*text;
@@ -17619,9 +16969,7 @@ f_sendraw(argvars, rettv)
 
 
     static void
-f_server2client(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_server2client(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_CLIENTSERVER
     char_u	buf[NUMBUFLEN];
@@ -17650,9 +16998,7 @@ f_server2client(argvars, rettv)
 }
 
     static void
-f_serverlist(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_serverlist(typval_T *argvars UNUSED, typval_T *rettv)
 {
     char_u	*r = NULL;
 
@@ -17673,9 +17019,7 @@ f_serverlist(argvars, rettv)
  * "setbufvar()" function
  */
     static void
-f_setbufvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_setbufvar(typval_T *argvars, typval_T *rettv UNUSED)
 {
     buf_T	*buf;
     aco_save_T	aco;
@@ -17725,9 +17069,7 @@ f_setbufvar(argvars, rettv)
 }
 
     static void
-f_setcharsearch(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_setcharsearch(typval_T *argvars, typval_T *rettv UNUSED)
 {
     dict_T	*d;
     dictitem_T	*di;
@@ -17773,9 +17115,7 @@ f_setcharsearch(argvars, rettv)
  * "setcmdpos()" function
  */
     static void
-f_setcmdpos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setcmdpos(typval_T *argvars, typval_T *rettv)
 {
     int		pos = (int)get_tv_number(&argvars[0]) - 1;
 
@@ -17787,9 +17127,7 @@ f_setcmdpos(argvars, rettv)
  * "setline()" function
  */
     static void
-f_setline(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setline(typval_T *argvars, typval_T *rettv)
 {
     linenr_T	lnum;
     char_u	*line = NULL;
@@ -17865,11 +17203,11 @@ static void set_qf_ll_list(win_T *wp, ty
  * Used by "setqflist()" and "setloclist()" functions
  */
     static void
-set_qf_ll_list(wp, list_arg, action_arg, rettv)
-    win_T	*wp UNUSED;
-    typval_T	*list_arg UNUSED;
-    typval_T	*action_arg UNUSED;
-    typval_T	*rettv;
+set_qf_ll_list(
+    win_T	*wp UNUSED,
+    typval_T	*list_arg UNUSED,
+    typval_T	*action_arg UNUSED,
+    typval_T	*rettv)
 {
 #ifdef FEAT_QUICKFIX
     char_u	*act;
@@ -17905,9 +17243,7 @@ set_qf_ll_list(wp, list_arg, action_arg,
  * "setloclist()" function
  */
     static void
-f_setloclist(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setloclist(typval_T *argvars, typval_T *rettv)
 {
     win_T	*win;
 
@@ -17922,9 +17258,7 @@ f_setloclist(argvars, rettv)
  * "setmatches()" function
  */
     static void
-f_setmatches(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_setmatches(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_SEARCH_EXTRA
     list_T	*l;
@@ -18033,9 +17367,7 @@ f_setmatches(argvars, rettv)
  * "setpos()" function
  */
     static void
-f_setpos(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setpos(typval_T *argvars, typval_T *rettv)
 {
     pos_T	pos;
     int		fnum;
@@ -18083,9 +17415,7 @@ f_setpos(argvars, rettv)
  * "setqflist()" function
  */
     static void
-f_setqflist(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setqflist(typval_T *argvars, typval_T *rettv)
 {
     set_qf_ll_list(NULL, &argvars[0], &argvars[1], rettv);
 }
@@ -18094,9 +17424,7 @@ f_setqflist(argvars, rettv)
  * "setreg()" function
  */
     static void
-f_setreg(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setreg(typval_T *argvars, typval_T *rettv)
 {
     int		regname;
     char_u	*strregname;
@@ -18208,9 +17536,7 @@ free_lstval:
  * "settabvar()" function
  */
     static void
-f_settabvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_settabvar(typval_T *argvars, typval_T *rettv)
 {
 #ifdef FEAT_WINDOWS
     tabpage_T	*save_curtab;
@@ -18262,9 +17588,7 @@ f_settabvar(argvars, rettv)
  * "settabwinvar()" function
  */
     static void
-f_settabwinvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_settabwinvar(typval_T *argvars, typval_T *rettv)
 {
     setwinvar(argvars, rettv, 1);
 }
@@ -18273,9 +17597,7 @@ f_settabwinvar(argvars, rettv)
  * "setwinvar()" function
  */
     static void
-f_setwinvar(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_setwinvar(typval_T *argvars, typval_T *rettv)
 {
     setwinvar(argvars, rettv, 0);
 }
@@ -18285,10 +17607,7 @@ f_setwinvar(argvars, rettv)
  */
 
     static void
-setwinvar(argvars, rettv, off)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
-    int		off;
+setwinvar(typval_T *argvars, typval_T *rettv UNUSED, int off)
 {
     win_T	*win;
 #ifdef FEAT_WINDOWS
@@ -18358,9 +17677,7 @@ setwinvar(argvars, rettv, off)
  * "sha256({string})" function
  */
     static void
-f_sha256(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sha256(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
 
@@ -18375,9 +17692,7 @@ f_sha256(argvars, rettv)
  * "shellescape({string})" function
  */
     static void
-f_shellescape(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_shellescape(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_string = vim_strsave_shellescape(
 		get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]), TRUE);
@@ -18388,9 +17703,7 @@ f_shellescape(argvars, rettv)
  * shiftwidth() function
  */
     static void
-f_shiftwidth(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_shiftwidth(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->vval.v_number = get_sw_value(curbuf);
 }
@@ -18399,9 +17712,7 @@ f_shiftwidth(argvars, rettv)
  * "simplify()" function
  */
     static void
-f_simplify(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_simplify(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
 
@@ -18416,9 +17727,7 @@ f_simplify(argvars, rettv)
  * "sin()" function
  */
     static void
-f_sin(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sin(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -18433,9 +17742,7 @@ f_sin(argvars, rettv)
  * "sinh()" function
  */
     static void
-f_sinh(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sinh(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -18485,9 +17792,7 @@ static void	do_sort_uniq(typval_T *argva
 #ifdef __BORLANDC__
 _RTLENTRYF
 #endif
-item_compare(s1, s2)
-    const void	*s1;
-    const void	*s2;
+item_compare(const void *s1, const void *s2)
 {
     sortItem_T  *si1, *si2;
     typval_T	*tv1, *tv2;
@@ -18574,9 +17879,7 @@ item_compare(s1, s2)
 #ifdef __BORLANDC__
 _RTLENTRYF
 #endif
-item_compare2(s1, s2)
-    const void	*s1;
-    const void	*s2;
+item_compare2(const void *s1, const void *s2)
 {
     sortItem_T  *si1, *si2;
     int		res;
@@ -18623,10 +17926,7 @@ item_compare2(s1, s2)
  * "sort({list})" function
  */
     static void
-do_sort_uniq(argvars, rettv, sort)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		sort;
+do_sort_uniq(typval_T *argvars, typval_T *rettv, int sort)
 {
     list_T	*l;
     listitem_T	*li;
@@ -18801,9 +18101,7 @@ do_sort_uniq(argvars, rettv, sort)
  * "sort({list})" function
  */
     static void
-f_sort(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sort(typval_T *argvars, typval_T *rettv)
 {
     do_sort_uniq(argvars, rettv, TRUE);
 }
@@ -18812,9 +18110,7 @@ f_sort(argvars, rettv)
  * "uniq({list})" function
  */
     static void
-f_uniq(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_uniq(typval_T *argvars, typval_T *rettv)
 {
     do_sort_uniq(argvars, rettv, FALSE);
 }
@@ -18823,9 +18119,7 @@ f_uniq(argvars, rettv)
  * "soundfold({word})" function
  */
     static void
-f_soundfold(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_soundfold(typval_T *argvars, typval_T *rettv)
 {
     char_u	*s;
 
@@ -18842,9 +18136,7 @@ f_soundfold(argvars, rettv)
  * "spellbadword()" function
  */
     static void
-f_spellbadword(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_spellbadword(typval_T *argvars UNUSED, typval_T *rettv)
 {
     char_u	*word = (char_u *)"";
     hlf_T	attr = HLF_COUNT;
@@ -18896,9 +18188,7 @@ f_spellbadword(argvars, rettv)
  * "spellsuggest()" function
  */
     static void
-f_spellsuggest(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_spellsuggest(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_SPELL
     char_u	*str;
@@ -18955,9 +18245,7 @@ f_spellsuggest(argvars, rettv)
 }
 
     static void
-f_split(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_split(typval_T *argvars, typval_T *rettv)
 {
     char_u	*str;
     char_u	*end;
@@ -19040,9 +18328,7 @@ f_split(argvars, rettv)
  * "sqrt()" function
  */
     static void
-f_sqrt(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_sqrt(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -19057,9 +18343,7 @@ f_sqrt(argvars, rettv)
  * "str2float()" function
  */
     static void
-f_str2float(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_str2float(typval_T *argvars, typval_T *rettv)
 {
     char_u *p = skipwhite(get_tv_string(&argvars[0]));
 
@@ -19074,9 +18358,7 @@ f_str2float(argvars, rettv)
  * "str2nr()" function
  */
     static void
-f_str2nr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_str2nr(typval_T *argvars, typval_T *rettv)
 {
     int		base = 10;
     char_u	*p;
@@ -19112,9 +18394,7 @@ f_str2nr(argvars, rettv)
  * "strftime({format}[, {time}])" function
  */
     static void
-f_strftime(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strftime(typval_T *argvars, typval_T *rettv)
 {
     char_u	result_buf[256];
     struct tm	*curtime;
@@ -19173,9 +18453,7 @@ f_strftime(argvars, rettv)
  * "stridx()" function
  */
     static void
-f_stridx(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_stridx(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[NUMBUFLEN];
     char_u	*needle;
@@ -19210,9 +18488,7 @@ f_stridx(argvars, rettv)
  * "string()" function
  */
     static void
-f_string(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_string(typval_T *argvars, typval_T *rettv)
 {
     char_u	*tofree;
     char_u	numbuf[NUMBUFLEN];
@@ -19228,9 +18504,7 @@ f_string(argvars, rettv)
  * "strlen()" function
  */
     static void
-f_strlen(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strlen(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = (varnumber_T)(STRLEN(
 					      get_tv_string(&argvars[0])));
@@ -19240,9 +18514,7 @@ f_strlen(argvars, rettv)
  * "strchars()" function
  */
     static void
-f_strchars(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strchars(typval_T *argvars, typval_T *rettv)
 {
     char_u		*s = get_tv_string(&argvars[0]);
     int			skipcc = 0;
@@ -19275,9 +18547,7 @@ f_strchars(argvars, rettv)
  * "strdisplaywidth()" function
  */
     static void
-f_strdisplaywidth(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strdisplaywidth(typval_T *argvars, typval_T *rettv)
 {
     char_u	*s = get_tv_string(&argvars[0]);
     int		col = 0;
@@ -19292,9 +18562,7 @@ f_strdisplaywidth(argvars, rettv)
  * "strwidth()" function
  */
     static void
-f_strwidth(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strwidth(typval_T *argvars, typval_T *rettv)
 {
     char_u	*s = get_tv_string(&argvars[0]);
 
@@ -19311,9 +18579,7 @@ f_strwidth(argvars, rettv)
  * "strpart()" function
  */
     static void
-f_strpart(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strpart(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
     int		n;
@@ -19356,9 +18622,7 @@ f_strpart(argvars, rettv)
  * "strridx()" function
  */
     static void
-f_strridx(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strridx(typval_T *argvars, typval_T *rettv)
 {
     char_u	buf[NUMBUFLEN];
     char_u	*needle;
@@ -19411,9 +18675,7 @@ f_strridx(argvars, rettv)
  * "strtrans()" function
  */
     static void
-f_strtrans(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_strtrans(typval_T *argvars, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = transstr(get_tv_string(&argvars[0]));
@@ -19423,9 +18685,7 @@ f_strtrans(argvars, rettv)
  * "submatch()" function
  */
     static void
-f_submatch(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_submatch(typval_T *argvars, typval_T *rettv)
 {
     int		error = FALSE;
     int		no;
@@ -19456,9 +18716,7 @@ f_submatch(argvars, rettv)
  * "substitute()" function
  */
     static void
-f_substitute(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_substitute(typval_T *argvars, typval_T *rettv)
 {
     char_u	patbuf[NUMBUFLEN];
     char_u	subbuf[NUMBUFLEN];
@@ -19480,9 +18738,7 @@ f_substitute(argvars, rettv)
  * "synID(lnum, col, trans)" function
  */
     static void
-f_synID(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_synID(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		id = 0;
 #ifdef FEAT_SYN_HL
@@ -19507,9 +18763,7 @@ f_synID(argvars, rettv)
  * "synIDattr(id, what [, mode])" function
  */
     static void
-f_synIDattr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_synIDattr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     char_u	*p = NULL;
 #ifdef FEAT_SYN_HL
@@ -19598,9 +18852,7 @@ f_synIDattr(argvars, rettv)
  * "synIDtrans(id)" function
  */
     static void
-f_synIDtrans(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_synIDtrans(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		id;
 
@@ -19620,9 +18872,7 @@ f_synIDtrans(argvars, rettv)
  * "synconcealed(lnum, col)" function
  */
     static void
-f_synconcealed(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_synconcealed(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #if defined(FEAT_SYN_HL) && defined(FEAT_CONCEAL)
     long	lnum;
@@ -19682,9 +18932,7 @@ f_synconcealed(argvars, rettv)
  * "synstack(lnum, col)" function
  */
     static void
-f_synstack(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_synstack(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_SYN_HL
     long	lnum;
@@ -19718,10 +18966,10 @@ f_synstack(argvars, rettv)
 }
 
     static void
-get_cmd_output_as_rettv(argvars, rettv, retlist)
-    typval_T	*argvars;
-    typval_T	*rettv;
-    int		retlist;
+get_cmd_output_as_rettv(
+    typval_T	*argvars,
+    typval_T	*rettv,
+    int		retlist)
 {
     char_u	*res = NULL;
     char_u	*p;
@@ -19890,9 +19138,7 @@ errret:
  * "system()" function
  */
     static void
-f_system(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_system(typval_T *argvars, typval_T *rettv)
 {
     get_cmd_output_as_rettv(argvars, rettv, FALSE);
 }
@@ -19901,9 +19147,7 @@ f_system(argvars, rettv)
  * "systemlist()" function
  */
     static void
-f_systemlist(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_systemlist(typval_T *argvars, typval_T *rettv)
 {
     get_cmd_output_as_rettv(argvars, rettv, TRUE);
 }
@@ -19912,9 +19156,7 @@ f_systemlist(argvars, rettv)
  * "tabpagebuflist()" function
  */
     static void
-f_tabpagebuflist(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_tabpagebuflist(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_WINDOWS
     tabpage_T	*tp;
@@ -19943,9 +19185,7 @@ f_tabpagebuflist(argvars, rettv)
  * "tabpagenr()" function
  */
     static void
-f_tabpagenr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_tabpagenr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		nr = 1;
 #ifdef FEAT_WINDOWS
@@ -19977,9 +19217,7 @@ static int get_winnr(tabpage_T *tp, typv
  * Common code for tabpagewinnr() and winnr().
  */
     static int
-get_winnr(tp, argvar)
-    tabpage_T	*tp;
-    typval_T	*argvar;
+get_winnr(tabpage_T *tp, typval_T *argvar)
 {
     win_T	*twin;
     int		nr = 1;
@@ -20027,9 +19265,7 @@ get_winnr(tp, argvar)
  * "tabpagewinnr()" function
  */
     static void
-f_tabpagewinnr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_tabpagewinnr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		nr = 1;
 #ifdef FEAT_WINDOWS
@@ -20049,9 +19285,7 @@ f_tabpagewinnr(argvars, rettv)
  * "tagfiles()" function
  */
     static void
-f_tagfiles(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_tagfiles(typval_T *argvars UNUSED, typval_T *rettv)
 {
     char_u	*fname;
     tagname_T	tn;
@@ -20075,9 +19309,7 @@ f_tagfiles(argvars, rettv)
  * "taglist()" function
  */
     static void
-f_taglist(argvars, rettv)
-    typval_T  *argvars;
-    typval_T  *rettv;
+f_taglist(typval_T *argvars, typval_T *rettv)
 {
     char_u  *tag_pattern;
 
@@ -20095,9 +19327,7 @@ f_taglist(argvars, rettv)
  * "tempname()" function
  */
     static void
-f_tempname(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_tempname(typval_T *argvars UNUSED, typval_T *rettv)
 {
     static int	x = 'A';
 
@@ -20130,9 +19360,7 @@ f_tempname(argvars, rettv)
  * "test(list)" function: Just checking the walls...
  */
     static void
-f_test(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_test(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
     /* Used for unit testing.  Change the code below to your liking. */
 #if 0
@@ -20162,9 +19390,7 @@ f_test(argvars, rettv)
  * "tan()" function
  */
     static void
-f_tan(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_tan(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -20179,9 +19405,7 @@ f_tan(argvars, rettv)
  * "tanh()" function
  */
     static void
-f_tanh(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_tanh(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -20197,9 +19421,7 @@ f_tanh(argvars, rettv)
  * "tolower(string)" function
  */
     static void
-f_tolower(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_tolower(typval_T *argvars, typval_T *rettv)
 {
     char_u	*p;
 
@@ -20240,9 +19462,7 @@ f_tolower(argvars, rettv)
  * "toupper(string)" function
  */
     static void
-f_toupper(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_toupper(typval_T *argvars, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = strup_save(get_tv_string(&argvars[0]));
@@ -20252,9 +19472,7 @@ f_toupper(argvars, rettv)
  * "tr(string, fromstr, tostr)" function
  */
     static void
-f_tr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_tr(typval_T *argvars, typval_T *rettv)
 {
     char_u	*in_str;
     char_u	*fromstr;
@@ -20376,9 +19594,7 @@ error:
  * "trunc({float})" function
  */
     static void
-f_trunc(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_trunc(typval_T *argvars, typval_T *rettv)
 {
     float_T	f;
 
@@ -20395,9 +19611,7 @@ f_trunc(argvars, rettv)
  * "type(expr)" function
  */
     static void
-f_type(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_type(typval_T *argvars, typval_T *rettv)
 {
     int n;
 
@@ -20427,9 +19641,7 @@ f_type(argvars, rettv)
  * "undofile(name)" function
  */
     static void
-f_undofile(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_undofile(typval_T *argvars UNUSED, typval_T *rettv)
 {
     rettv->v_type = VAR_STRING;
 #ifdef FEAT_PERSISTENT_UNDO
@@ -20459,9 +19671,7 @@ f_undofile(argvars, rettv)
  * "undotree()" function
  */
     static void
-f_undotree(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_undotree(typval_T *argvars UNUSED, typval_T *rettv)
 {
     if (rettv_dict_alloc(rettv) == OK)
     {
@@ -20489,9 +19699,7 @@ f_undotree(argvars, rettv)
  * "values(dict)" function
  */
     static void
-f_values(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_values(typval_T *argvars, typval_T *rettv)
 {
     dict_list(argvars, rettv, 1);
 }
@@ -20500,9 +19708,7 @@ f_values(argvars, rettv)
  * "virtcol(string)" function
  */
     static void
-f_virtcol(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_virtcol(typval_T *argvars, typval_T *rettv)
 {
     colnr_T	vcol = 0;
     pos_T	*fp;
@@ -20523,9 +19729,7 @@ f_virtcol(argvars, rettv)
  * "visualmode()" function
  */
     static void
-f_visualmode(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_visualmode(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
     char_u	str[2];
 
@@ -20543,9 +19747,7 @@ f_visualmode(argvars, rettv)
  * "wildmenumode()" function
  */
     static void
-f_wildmenumode(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv UNUSED;
+f_wildmenumode(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
 #ifdef FEAT_WILDMENU
     if (wild_menu_showing)
@@ -20557,9 +19759,7 @@ f_wildmenumode(argvars, rettv)
  * "winbufnr(nr)" function
  */
     static void
-f_winbufnr(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_winbufnr(typval_T *argvars, typval_T *rettv)
 {
     win_T	*wp;
 
@@ -20574,9 +19774,7 @@ f_winbufnr(argvars, rettv)
  * "wincol()" function
  */
     static void
-f_wincol(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_wincol(typval_T *argvars UNUSED, typval_T *rettv)
 {
     validate_cursor();
     rettv->vval.v_number = curwin->w_wcol + 1;
@@ -20586,9 +19784,7 @@ f_wincol(argvars, rettv)
  * "winheight(nr)" function
  */
     static void
-f_winheight(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_winheight(typval_T *argvars, typval_T *rettv)
 {
     win_T	*wp;
 
@@ -20603,9 +19799,7 @@ f_winheight(argvars, rettv)
  * "winline()" function
  */
     static void
-f_winline(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_winline(typval_T *argvars UNUSED, typval_T *rettv)
 {
     validate_cursor();
     rettv->vval.v_number = curwin->w_wrow + 1;
@@ -20615,9 +19809,7 @@ f_winline(argvars, rettv)
  * "winnr()" function
  */
     static void
-f_winnr(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_winnr(typval_T *argvars UNUSED, typval_T *rettv)
 {
     int		nr = 1;
 
@@ -20631,9 +19823,7 @@ f_winnr(argvars, rettv)
  * "winrestcmd()" function
  */
     static void
-f_winrestcmd(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_winrestcmd(typval_T *argvars UNUSED, typval_T *rettv)
 {
 #ifdef FEAT_WINDOWS
     win_T	*wp;
@@ -20665,9 +19855,7 @@ f_winrestcmd(argvars, rettv)
  * "winrestview()" function
  */
     static void
-f_winrestview(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv UNUSED;
+f_winrestview(typval_T *argvars, typval_T *rettv UNUSED)
 {
     dict_T	*dict;
 
@@ -20722,9 +19910,7 @@ f_winrestview(argvars, rettv)
  * "winsaveview()" function
  */
     static void
-f_winsaveview(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_winsaveview(typval_T *argvars UNUSED, typval_T *rettv)
 {
     dict_T	*dict;
 
@@ -20752,9 +19938,7 @@ f_winsaveview(argvars, rettv)
  * "winwidth(nr)" function
  */
     static void
-f_winwidth(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_winwidth(typval_T *argvars, typval_T *rettv)
 {
     win_T	*wp;
 
@@ -20773,9 +19957,7 @@ f_winwidth(argvars, rettv)
  * "wordcount()" function
  */
     static void
-f_wordcount(argvars, rettv)
-    typval_T	*argvars UNUSED;
-    typval_T	*rettv;
+f_wordcount(typval_T *argvars UNUSED, typval_T *rettv)
 {
     if (rettv_dict_alloc(rettv) == FAIL)
 	return;
@@ -20786,10 +19968,7 @@ f_wordcount(argvars, rettv)
  * Write list of strings to file
  */
     static int
-write_list(fd, list, binary)
-    FILE	*fd;
-    list_T	*list;
-    int		binary;
+write_list(FILE *fd, list_T *list, int binary)
 {
     listitem_T	*li;
     int		c;
@@ -20829,9 +20008,7 @@ write_list(fd, list, binary)
  * "writefile()" function
  */
     static void
-f_writefile(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_writefile(typval_T *argvars, typval_T *rettv)
 {
     int		binary = FALSE;
     int		append = FALSE;
@@ -20881,9 +20058,7 @@ f_writefile(argvars, rettv)
  * "xor(expr, expr)" function
  */
     static void
-f_xor(argvars, rettv)
-    typval_T	*argvars;
-    typval_T	*rettv;
+f_xor(typval_T *argvars, typval_T *rettv)
 {
     rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL)
 					^ get_tv_number_chk(&argvars[1], NULL);
@@ -20895,10 +20070,10 @@ f_xor(argvars, rettv)
  * Returns NULL when there is an error.
  */
     static pos_T *
-var2fpos(varp, dollar_lnum, fnum)
-    typval_T	*varp;
-    int		dollar_lnum;	/* TRUE when $ is last line */
-    int		*fnum;		/* set to fnum for '0, 'A, etc. */
+var2fpos(
+    typval_T	*varp,
+    int		dollar_lnum,	/* TRUE when $ is last line */
+    int		*fnum)		/* set to fnum for '0, 'A, etc. */
 {
     char_u		*name;
     static pos_T	pos;
@@ -21014,11 +20189,11 @@ var2fpos(varp, dollar_lnum, fnum)
  * validity.
  */
     static int
-list2fpos(arg, posp, fnump, curswantp)
-    typval_T	*arg;
-    pos_T	*posp;
-    int		*fnump;
-    colnr_T	*curswantp;
+list2fpos(
+    typval_T	*arg,
+    pos_T	*posp,
+    int		*fnump,
+    colnr_T	*curswantp)
 {
     list_T	*l = arg->vval.v_list;
     long	i = 0;
@@ -21072,8 +20247,7 @@ list2fpos(arg, posp, fnump, curswantp)
  * Return 0 for error.
  */
     static int
-get_env_len(arg)
-    char_u	**arg;
+get_env_len(char_u **arg)
 {
     char_u	*p;
     int		len;
@@ -21094,8 +20268,7 @@ get_env_len(arg)
  * Return 0 if something is wrong.
  */
     static int
-get_id_len(arg)
-    char_u	**arg;
+get_id_len(char_u **arg)
 {
     char_u	*p;
     int		len;
@@ -21132,11 +20305,11 @@ get_id_len(arg)
  * expanded name in an allocated string via 'alias' - caller must free.
  */
     static int
-get_name_len(arg, alias, evaluate, verbose)
-    char_u	**arg;
-    char_u	**alias;
-    int		evaluate;
-    int		verbose;
+get_name_len(
+    char_u	**arg,
+    char_u	**alias,
+    int		evaluate,
+    int		verbose)
 {
     int		len;
     char_u	*p;
@@ -21203,11 +20376,11 @@ get_name_len(arg, alias, evaluate, verbo
  * valid name.
  */
     static char_u *
-find_name_end(arg, expr_start, expr_end, flags)
-    char_u	*arg;
-    char_u	**expr_start;
-    char_u	**expr_end;
-    int		flags;
+find_name_end(
+    char_u	*arg,
+    char_u	**expr_start,
+    char_u	**expr_end,
+    int		flags)
 {
     int		mb_nest = 0;
     int		br_nest = 0;
@@ -21300,11 +20473,11 @@ find_name_end(arg, expr_start, expr_end,
  * Returns NULL for failure.
  */
     static char_u *
-make_expanded_name(in_start, expr_start, expr_end, in_end)
-    char_u	*in_start;
-    char_u	*expr_start;
-    char_u	*expr_end;
-    char_u	*in_end;
+make_expanded_name(
+    char_u	*in_start,
+    char_u	*expr_start,
+    char_u	*expr_end,
+    char_u	*in_end)
 {
     char_u	c1;
     char_u	*retval = NULL;
@@ -21357,8 +20530,7 @@ make_expanded_name(in_start, expr_start,
  * Does not include '{' or '}' for magic braces.
  */
     static int
-eval_isnamec(c)
-    int	    c;
+eval_isnamec(int c)
 {
     return (ASCII_ISALNUM(c) || c == '_' || c == ':' || c == AUTOLOAD_CHAR);
 }
@@ -21368,8 +20540,7 @@ eval_isnamec(c)
  * variable or function name (excluding '{' and '}').
  */
     static int
-eval_isnamec1(c)
-    int	    c;
+eval_isnamec1(int c)
 {
     return (ASCII_ISALPHA(c) || c == '_');
 }
@@ -21378,9 +20549,7 @@ eval_isnamec1(c)
  * Set number v: variable to "val".
  */
     void
-set_vim_var_nr(idx, val)
-    int		idx;
-    long	val;
+set_vim_var_nr(int idx, long val)
 {
     vimvars[idx].vv_nr = val;
 }
@@ -21389,8 +20558,7 @@ set_vim_var_nr(idx, val)
  * Get number v: variable value.
  */
     long
-get_vim_var_nr(idx)
-    int		idx;
+get_vim_var_nr(int idx)
 {
     return vimvars[idx].vv_nr;
 }
@@ -21399,8 +20567,7 @@ get_vim_var_nr(idx)
  * Get string v: variable value.  Uses a static buffer, can only be used once.
  */
     char_u *
-get_vim_var_str(idx)
-    int		idx;
+get_vim_var_str(int idx)
 {
     return get_tv_string(&vimvars[idx].vv_tv);
 }
@@ -21410,8 +20577,7 @@ get_vim_var_str(idx)
  * needed.
  */
     list_T *
-get_vim_var_list(idx)
-    int		idx;
+get_vim_var_list(int idx)
 {
     return vimvars[idx].vv_list;
 }
@@ -21420,8 +20586,7 @@ get_vim_var_list(idx)
  * Set v:char to character "c".
  */
     void
-set_vim_var_char(c)
-    int c;
+set_vim_var_char(int c)
 {
     char_u	buf[MB_MAXBYTES + 1];
 
@@ -21442,10 +20607,10 @@ set_vim_var_char(c)
  * When "set_prevcount" is TRUE first set v:prevcount from v:count.
  */
     void
-set_vcount(count, count1, set_prevcount)
-    long	count;
-    long	count1;
-    int		set_prevcount;
+set_vcount(
+    long	count,
+    long	count1,
+    int		set_prevcount)
 {
     if (set_prevcount)
 	vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr;
@@ -21457,10 +20622,10 @@ set_vcount(count, count1, set_prevcount)
  * Set string v: variable to a copy of "val".
  */
     void
-set_vim_var_string(idx, val, len)
-    int		idx;
-    char_u	*val;
-    int		len;	    /* length of "val" to use or -1 (whole string) */
+set_vim_var_string(
+    int		idx,
+    char_u	*val,
+    int		len)	    /* length of "val" to use or -1 (whole string) */
 {
     /* Need to do this (at least) once, since we can't initialize a union.
      * Will always be invoked when "v:progname" is set. */
@@ -21479,9 +20644,7 @@ set_vim_var_string(idx, val, len)
  * Set List v: variable to "val".
  */
     void
-set_vim_var_list(idx, val)
-    int		idx;
-    list_T	*val;
+set_vim_var_list(int idx, list_T *val)
 {
     list_unref(vimvars[idx].vv_list);
     vimvars[idx].vv_list = val;
@@ -21493,9 +20656,7 @@ set_vim_var_list(idx, val)
  * Set Dictionary v: variable to "val".
  */
     void
-set_vim_var_dict(idx, val)
-    int		idx;
-    dict_T	*val;
+set_vim_var_dict(int idx, dict_T *val)
 {
     int		todo;
     hashitem_T	*hi;
@@ -21522,8 +20683,7 @@ set_vim_var_dict(idx, val)
  * Set v:register if needed.
  */
     void
-set_reg_var(c)
-    int		c;
+set_reg_var(int c)
 {
     char_u	regname;
 
@@ -21543,8 +20703,7 @@ set_reg_var(c)
  * take care of memory allocations.
  */
     char_u *
-v_exception(oldval)
-    char_u	*oldval;
+v_exception(char_u *oldval)
 {
     if (oldval == NULL)
 	return vimvars[VV_EXCEPTION].vv_str;
@@ -21560,8 +20719,7 @@ v_exception(oldval)
  * take care of memory allocations.
  */
     char_u *
-v_throwpoint(oldval)
-    char_u	*oldval;
+v_throwpoint(char_u *oldval)
 {
     if (oldval == NULL)
 	return vimvars[VV_THROWPOINT].vv_str;
@@ -21578,9 +20736,7 @@ v_throwpoint(oldval)
  * Must always be called in pairs!
  */
     char_u *
-set_cmdarg(eap, oldarg)
-    exarg_T	*eap;
-    char_u	*oldarg;
+set_cmdarg(exarg_T *eap, char_u *oldarg)
 {
     char_u	*oldval;
     char_u	*newval;
@@ -21651,13 +20807,13 @@ set_cmdarg(eap, oldarg)
  * Return OK or FAIL.
  */
     static int
-get_var_tv(name, len, rettv, dip, verbose, no_autoload)
-    char_u	*name;
-    int		len;		/* length of "name" */
-    typval_T	*rettv;		/* NULL when only checking existence */
-    dictitem_T	**dip;		/* non-NULL when typval's dict item is needed */
-    int		verbose;	/* may give error message */
-    int		no_autoload;	/* do not use script autoloading */
+get_var_tv(
+    char_u	*name,
+    int		len,		/* length of "name" */
+    typval_T	*rettv,		/* NULL when only checking existence */
+    dictitem_T	**dip,		/* non-NULL when typval's dict item is needed */
+    int		verbose,	/* may give error message */
+    int		no_autoload)	/* do not use script autoloading */
 {
     int		ret = OK;
     typval_T	*tv = NULL;
@@ -21713,11 +20869,11 @@ get_var_tv(name, len, rettv, dip, verbos
  * Can all be combined: dict.func(expr)[idx]['func'](expr)
  */
     static int
-handle_subscript(arg, rettv, evaluate, verbose)
-    char_u	**arg;
-    typval_T	*rettv;
-    int		evaluate;	/* do more than finding the end */
-    int		verbose;	/* give error messages */
+handle_subscript(
+    char_u	**arg,
+    typval_T	*rettv,
+    int		evaluate,	/* do more than finding the end */
+    int		verbose)	/* give error messages */
 {
     int		ret = OK;
     dict_T	*selfdict = NULL;
@@ -21792,7 +20948,7 @@ handle_subscript(arg, rettv, evaluate, v
  * value).
  */
     static typval_T *
-alloc_tv()
+alloc_tv(void)
 {
     return (typval_T *)alloc_clear((unsigned)sizeof(typval_T));
 }
@@ -21803,8 +20959,7 @@ alloc_tv()
  * Return NULL for out of memory, the variable otherwise.
  */
     static typval_T *
-alloc_string_tv(s)
-    char_u	*s;
+alloc_string_tv(char_u *s)
 {
     typval_T	*rettv;
 
@@ -21823,8 +20978,7 @@ alloc_string_tv(s)
  * Free the memory for a variable type-value.
  */
     void
-free_tv(varp)
-    typval_T *varp;
+free_tv(typval_T *varp)
 {
     if (varp != NULL)
     {
@@ -21861,8 +21015,7 @@ free_tv(varp)
  * Free the memory for a variable value and set the value to NULL or 0.
  */
     void
-clear_tv(varp)
-    typval_T *varp;
+clear_tv(typval_T *varp)
 {
     if (varp != NULL)
     {
@@ -21905,8 +21058,7 @@ clear_tv(varp)
  * Set the value of a variable to NULL without freeing items.
  */
     static void
-init_tv(varp)
-    typval_T *varp;
+init_tv(typval_T *varp)
 {
     if (varp != NULL)
 	vim_memset(varp, 0, sizeof(typval_T));
@@ -21921,8 +21073,7 @@ init_tv(varp)
  * is not NULL or returns -1 otherwise.
  */
     static long
-get_tv_number(varp)
-    typval_T	*varp;
+get_tv_number(typval_T *varp)
 {
     int		error = FALSE;
 
@@ -21930,9 +21081,7 @@ get_tv_number(varp)
 }
 
     long
-get_tv_number_chk(varp, denote)
-    typval_T	*varp;
-    int		*denote;
+get_tv_number_chk(typval_T *varp, int *denote)
 {
     long	n = 0L;
 
@@ -21975,8 +21124,7 @@ get_tv_number_chk(varp, denote)
 
 #ifdef FEAT_FLOAT
     static float_T
-get_tv_float(varp)
-    typval_T	*varp;
+get_tv_float(typval_T *varp)
 {
     switch (varp->v_type)
     {
@@ -22013,8 +21161,7 @@ get_tv_float(varp)
  * Returns -1 on error.
  */
     static linenr_T
-get_tv_lnum(argvars)
-    typval_T	*argvars;
+get_tv_lnum(typval_T *argvars)
 {
     typval_T	rettv;
     linenr_T	lnum;
@@ -22036,9 +21183,7 @@ get_tv_lnum(argvars)
  * Returns 0 on error.
  */
     static linenr_T
-get_tv_lnum_buf(argvars, buf)
-    typval_T	*argvars;
-    buf_T	*buf;
+get_tv_lnum_buf(typval_T *argvars, buf_T *buf)
 {
     if (argvars[0].v_type == VAR_STRING
 	    && argvars[0].vval.v_string != NULL
@@ -22059,8 +21204,7 @@ get_tv_lnum_buf(argvars, buf)
  * NULL on error.
  */
     static char_u *
-get_tv_string(varp)
-    typval_T	*varp;
+get_tv_string(typval_T *varp)
 {
     static char_u   mybuf[NUMBUFLEN];
 
@@ -22068,9 +21212,7 @@ get_tv_string(varp)
 }
 
     static char_u *
-get_tv_string_buf(varp, buf)
-    typval_T	*varp;
-    char_u	*buf;
+get_tv_string_buf(typval_T *varp, char_u *buf)
 {
     char_u	*res =  get_tv_string_buf_chk(varp, buf);
 
@@ -22081,8 +21223,7 @@ get_tv_string_buf(varp, buf)
  * Careful: This uses a single, static buffer.  YOU CAN ONLY USE IT ONCE!
  */
     char_u *
-get_tv_string_chk(varp)
-    typval_T	*varp;
+get_tv_string_chk(typval_T *varp)
 {
     static char_u   mybuf[NUMBUFLEN];
 
@@ -22090,9 +21231,7 @@ get_tv_string_chk(varp)
 }
 
     char_u *
-get_tv_string_buf_chk(varp, buf)
-    typval_T	*varp;
-    char_u	*buf;
+get_tv_string_buf_chk(typval_T *varp, char_u *buf)
 {
     switch (varp->v_type)
     {
@@ -22136,10 +21275,7 @@ get_tv_string_buf_chk(varp, buf)
  * hashtab_T used.
  */
     static dictitem_T *
-find_var(name, htp, no_autoload)
-    char_u	*name;
-    hashtab_T	**htp;
-    int		no_autoload;
+find_var(char_u *name, hashtab_T **htp, int no_autoload)
 {
     char_u	*varname;
     hashtab_T	*ht;
@@ -22157,11 +21293,11 @@ find_var(name, htp, no_autoload)
  * Returns NULL if not found.
  */
     static dictitem_T *
-find_var_in_ht(ht, htname, varname, no_autoload)
-    hashtab_T	*ht;
-    int		htname;
-    char_u	*varname;
-    int		no_autoload;
+find_var_in_ht(
+    hashtab_T	*ht,
+    int		htname,
+    char_u	*varname,
+    int		no_autoload)
 {
     hashitem_T	*hi;
 
@@ -22213,9 +21349,7 @@ find_var_in_ht(ht, htname, varname, no_a
  * Set "varname" to the start of name without ':'.
  */
     static hashtab_T *
-find_var_ht(name, varname)
-    char_u  *name;
-    char_u  **varname;
+find_var_ht(char_u *name, char_u **varname)
 {
     hashitem_T	*hi;
 
@@ -22269,7 +21403,7 @@ find_var_ht(name, varname)
  * Get function call environment based on bactrace debug level
  */
     static funccall_T *
-get_funccal()
+get_funccal(void)
 {
     int		i;
     funccall_T	*funccal;
@@ -22297,8 +21431,7 @@ get_funccal()
  * Returns NULL when it doesn't exist.
  */
     char_u *
-get_var_value(name)
-    char_u	*name;
+get_var_value(char_u *name)
 {
     dictitem_T	*v;
 
@@ -22313,8 +21446,7 @@ get_var_value(name)
  * sourcing this script and when executing functions defined in the script.
  */
     void
-new_script_vars(id)
-    scid_T id;
+new_script_vars(scid_T id)
 {
     int		i;
     hashtab_T	*ht;
@@ -22349,10 +21481,7 @@ new_script_vars(id)
  * point to it.
  */
     void
-init_var_dict(dict, dict_var, scope)
-    dict_T	*dict;
-    dictitem_T	*dict_var;
-    int		scope;
+init_var_dict(dict_T *dict, dictitem_T *dict_var, int scope)
 {
     hash_init(&dict->dv_hashtab);
     dict->dv_lock = 0;
@@ -22370,8 +21499,7 @@ init_var_dict(dict, dict_var, scope)
  * Unreference a dictionary initialized by init_var_dict().
  */
     void
-unref_var_dict(dict)
-    dict_T	*dict;
+unref_var_dict(dict_T *dict)
 {
     /* Now the dict needs to be freed if no one else is using it, go back to
      * normal reference counting. */
@@ -22385,8 +21513,7 @@ unref_var_dict(dict)
  * Clears hashtab "ht", does not free it.
  */
     void
-vars_clear(ht)
-    hashtab_T *ht;
+vars_clear(hashtab_T *ht)
 {
     vars_clear_ext(ht, TRUE);
 }
@@ -22395,9 +21522,7 @@ vars_clear(ht)
  * Like vars_clear(), but only free the value if "free_val" is TRUE.
  */
     static void
-vars_clear_ext(ht, free_val)
-    hashtab_T	*ht;
-    int		free_val;
+vars_clear_ext(hashtab_T *ht, int free_val)
 {
     int		todo;
     hashitem_T	*hi;
@@ -22430,9 +21555,7 @@ vars_clear_ext(ht, free_val)
  * Clear the variable value and free the dictitem.
  */
     static void
-delete_var(ht, hi)
-    hashtab_T	*ht;
-    hashitem_T	*hi;
+delete_var(hashtab_T *ht, hashitem_T *hi)
 {
     dictitem_T	*di = HI2DI(hi);
 
@@ -22445,10 +21568,7 @@ delete_var(ht, hi)
  * List the value of one internal variable.
  */
     static void
-list_one_var(v, prefix, first)
-    dictitem_T	*v;
-    char_u	*prefix;
-    int		*first;
+list_one_var(dictitem_T *v, char_u *prefix, int *first)
 {
     char_u	*tofree;
     char_u	*s;
@@ -22461,12 +21581,12 @@ list_one_var(v, prefix, first)
 }
 
     static void
-list_one_var_a(prefix, name, type, string, first)
-    char_u	*prefix;
-    char_u	*name;
-    int		type;
-    char_u	*string;
-    int		*first;  /* when TRUE clear rest of screen and set to FALSE */
+list_one_var_a(
+    char_u	*prefix,
+    char_u	*name,
+    int		type,
+    char_u	*string,
+    int		*first)  /* when TRUE clear rest of screen and set to FALSE */
 {
     /* don't use msg() or msg_attr() to avoid overwriting "v:statusmsg" */
     msg_start();
@@ -22511,10 +21631,10 @@ list_one_var_a(prefix, name, type, strin
  * Otherwise the variable is created.
  */
     static void
-set_var(name, tv, copy)
-    char_u	*name;
-    typval_T	*tv;
-    int		copy;	    /* make copy of value in "tv" */
+set_var(
+    char_u	*name,
+    typval_T	*tv,
+    int		copy)	    /* make copy of value in "tv" */
 {
     dictitem_T	*v;
     char_u	*varname;
@@ -22634,10 +21754,7 @@ set_var(name, tv, copy)
  * Also give an error message.
  */
     static int
-var_check_ro(flags, name, use_gettext)
-    int		flags;
-    char_u	*name;
-    int		use_gettext;
+var_check_ro(int flags, char_u *name, int use_gettext)
 {
     if (flags & DI_FLAGS_RO)
     {
@@ -22657,10 +21774,7 @@ var_check_ro(flags, name, use_gettext)
  * Also give an error message.
  */
     static int
-var_check_fixed(flags, name, use_gettext)
-    int		flags;
-    char_u	*name;
-    int		use_gettext;
+var_check_fixed(int flags, char_u *name, int use_gettext)
 {
     if (flags & DI_FLAGS_FIX)
     {
@@ -22676,9 +21790,9 @@ var_check_fixed(flags, name, use_gettext
  * Return TRUE and give an error if not.
  */
     static int
-var_check_func_name(name, new_var)
-    char_u *name;    /* points to start of variable name */
-    int    new_var;  /* TRUE when creating the variable */
+var_check_func_name(
+    char_u *name,    /* points to start of variable name */
+    int    new_var)  /* TRUE when creating the variable */
 {
     /* Allow for w: b: s: and t:. */
     if (!(vim_strchr((char_u *)"wbst", name[0]) != NULL && name[1] == ':')
@@ -22706,8 +21820,7 @@ var_check_func_name(name, new_var)
  * Return FALSE and give an error if not.
  */
     static int
-valid_varname(varname)
-    char_u *varname;
+valid_varname(char_u *varname)
 {
     char_u *p;
 
@@ -22727,10 +21840,7 @@ valid_varname(varname)
  * TRUE.
  */
     static int
-tv_check_lock(lock, name, use_gettext)
-    int		lock;
-    char_u	*name;
-    int		use_gettext;
+tv_check_lock(int lock, char_u *name, int use_gettext)
 {
     if (lock & VAR_LOCKED)
     {
@@ -22759,9 +21869,7 @@ tv_check_lock(lock, name, use_gettext)
  * make a copy later.
  */
     void
-copy_tv(from, to)
-    typval_T *from;
-    typval_T *to;
+copy_tv(typval_T *from, typval_T *to)
 {
     to->v_type = from->v_type;
     to->v_lock = 0;
@@ -22819,11 +21927,11 @@ copy_tv(from, to)
  * Returns FAIL or OK.
  */
     static int
-item_copy(from, to, deep, copyID)
-    typval_T	*from;
-    typval_T	*to;
-    int		deep;
-    int		copyID;
+item_copy(
+    typval_T	*from,
+    typval_T	*to,
+    int		deep,
+    int		copyID)
 {
     static int	recurse = 0;
     int		ret = OK;
@@ -22891,8 +21999,7 @@ item_copy(from, to, deep, copyID)
  * ":echon expr1 ..."	print each argument plain.
  */
     void
-ex_echo(eap)
-    exarg_T	*eap;
+ex_echo(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     typval_T	rettv;
@@ -22995,8 +22102,7 @@ ex_echo(eap)
  * ":echohl {name}".
  */
     void
-ex_echohl(eap)
-    exarg_T	*eap;
+ex_echohl(exarg_T *eap)
 {
     int		id;
 
@@ -23015,8 +22121,7 @@ ex_echohl(eap)
  * echo commands
  */
     void
-ex_execute(eap)
-    exarg_T	*eap;
+ex_execute(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     typval_T	rettv;
@@ -23101,9 +22206,7 @@ ex_execute(eap)
  * after the option name.
  */
     static char_u *
-find_option_end(arg, opt_flags)
-    char_u	**arg;
-    int		*opt_flags;
+find_option_end(char_u **arg, int *opt_flags)
 {
     char_u	*p = *arg;
 
@@ -23137,8 +22240,7 @@ find_option_end(arg, opt_flags)
  * ":function"
  */
     void
-ex_function(eap)
-    exarg_T	*eap;
+ex_function(exarg_T *eap)
 {
     char_u	*theline;
     int		i;
@@ -23811,11 +22913,11 @@ ret_free:
  * Advances "pp" to just after the function name (if no error).
  */
     static char_u *
-trans_function_name(pp, skip, flags, fdp)
-    char_u	**pp;
-    int		skip;		/* only find the end, don't evaluate */
-    int		flags;
-    funcdict_T	*fdp;		/* return: info about dictionary used */
+trans_function_name(
+    char_u	**pp,
+    int		skip,		/* only find the end, don't evaluate */
+    int		flags,
+    funcdict_T	*fdp)		/* return: info about dictionary used */
 {
     char_u	*name = NULL;
     char_u	*start;
@@ -24022,8 +23124,7 @@ theend:
  * Return 0 otherwise.
  */
     static int
-eval_fname_script(p)
-    char_u	*p;
+eval_fname_script(char_u *p)
 {
     /* Use MB_STRICMP() because in Turkish comparing the "I" may not work with
      * the standard library function. */
@@ -24040,8 +23141,7 @@ eval_fname_script(p)
  * Only works if eval_fname_script() returned non-zero for "p"!
  */
     static int
-eval_fname_sid(p)
-    char_u	*p;
+eval_fname_sid(char_u *p)
 {
     return (*p == 's' || TOUPPER_ASC(p[2]) == 'I');
 }
@@ -24050,9 +23150,7 @@ eval_fname_sid(p)
  * List the head of the function: "name(arg1, arg2)".
  */
     static void
-list_func_head(fp, indent)
-    ufunc_T	*fp;
-    int		indent;
+list_func_head(ufunc_T *fp, int indent)
 {
     int		j;
 
@@ -24097,8 +23195,7 @@ list_func_head(fp, indent)
  * Return NULL for unknown function.
  */
     static ufunc_T *
-find_func(name)
-    char_u	*name;
+find_func(char_u *name)
 {
     hashitem_T	*hi;
 
@@ -24110,7 +23207,7 @@ find_func(name)
 
 #if defined(EXITFREE) || defined(PROTO)
     void
-free_all_functions()
+free_all_functions(void)
 {
     hashitem_T	*hi;
 
@@ -24127,8 +23224,7 @@ free_all_functions()
 #endif
 
     int
-translated_function_exists(name)
-    char_u	*name;
+translated_function_exists(char_u *name)
 {
     if (builtin_function(name, -1))
 	return find_internal_func(name) >= 0;
@@ -24139,8 +23235,7 @@ translated_function_exists(name)
  * Return TRUE if a function "name" exists.
  */
     static int
-function_exists(name)
-    char_u *name;
+function_exists(char_u *name)
 {
     char_u  *nm = name;
     char_u  *p;
@@ -24159,9 +23254,7 @@ function_exists(name)
 }
 
     char_u *
-get_expanded_name(name, check)
-    char_u	*name;
-    int		check;
+get_expanded_name(char_u *name, int check)
 {
     char_u	*nm = name;
     char_u	*p;
@@ -24182,9 +23275,7 @@ get_expanded_name(name, check)
  * "len" is the length of "name", or -1 for NUL terminated.
  */
     static int
-builtin_function(name, len)
-    char_u *name;
-    int len;
+builtin_function(char_u *name, int len)
 {
     char_u *p;
 
@@ -24199,8 +23290,7 @@ builtin_function(name, len)
  * Start profiling function "fp".
  */
     static void
-func_do_profile(fp)
-    ufunc_T	*fp;
+func_do_profile(ufunc_T *fp)
 {
     int		len = fp->uf_lines.ga_len;
 
@@ -24229,8 +23319,7 @@ func_do_profile(fp)
  * Dump the profiling results for all functions in file "fd".
  */
     void
-func_dump_profile(fd)
-    FILE    *fd;
+func_dump_profile(FILE *fd)
 {
     hashitem_T	*hi;
     int		todo;
@@ -24296,12 +23385,12 @@ func_dump_profile(fd)
 }
 
     static void
-prof_sort_list(fd, sorttab, st_len, title, prefer_self)
-    FILE	*fd;
-    ufunc_T	**sorttab;
-    int		st_len;
-    char	*title;
-    int		prefer_self;	/* when equal print only self time */
+prof_sort_list(
+    FILE	*fd,
+    ufunc_T	**sorttab,
+    int		st_len,
+    char	*title,
+    int		prefer_self)	/* when equal print only self time */
 {
     int		i;
     ufunc_T	*fp;
@@ -24325,12 +23414,12 @@ prof_sort_list(fd, sorttab, st_len, titl
  * Print the count and times for one function or function line.
  */
     static void
-prof_func_line(fd, count, total, self, prefer_self)
-    FILE	*fd;
-    int		count;
-    proftime_T	*total;
-    proftime_T	*self;
-    int		prefer_self;	/* when equal print only self time */
+prof_func_line(
+    FILE	*fd,
+    int		count,
+    proftime_T	*total,
+    proftime_T	*self,
+    int		prefer_self)	/* when equal print only self time */
 {
     if (count > 0)
     {
@@ -24355,9 +23444,7 @@ prof_func_line(fd, count, total, self, p
 #ifdef __BORLANDC__
 _RTLENTRYF
 #endif
-prof_total_cmp(s1, s2)
-    const void	*s1;
-    const void	*s2;
+prof_total_cmp(const void *s1, const void *s2)
 {
     ufunc_T	*p1, *p2;
 
@@ -24373,9 +23460,7 @@ prof_total_cmp(s1, s2)
 #ifdef __BORLANDC__
 _RTLENTRYF
 #endif
-prof_self_cmp(s1, s2)
-    const void	*s1;
-    const void	*s2;
+prof_self_cmp(const void *s1, const void *s2)
 {
     ufunc_T	*p1, *p2;
 
@@ -24391,9 +23476,9 @@ prof_self_cmp(s1, s2)
  * Return TRUE if a package was loaded.
  */
     static int
-script_autoload(name, reload)
-    char_u	*name;
-    int		reload;	    /* load script again when already loaded */
+script_autoload(
+    char_u	*name,
+    int		reload)	    /* load script again when already loaded */
 {
     char_u	*p;
     char_u	*scriptname, *tofree;
@@ -24437,8 +23522,7 @@ script_autoload(name, reload)
  * Returns NULL when out of memory.
  */
     static char_u *
-autoload_name(name)
-    char_u	*name;
+autoload_name(char_u *name)
 {
     char_u	*p;
     char_u	*scriptname;
@@ -24463,9 +23547,7 @@ autoload_name(name)
  * function names.
  */
     char_u *
-get_user_func_name(xp, idx)
-    expand_T	*xp;
-    int		idx;
+get_user_func_name(expand_T *xp, int idx)
 {
     static long_u	done;
     static hashitem_T	*hi;
@@ -24510,9 +23592,7 @@ get_user_func_name(xp, idx)
  * Takes care of script-local function names.
  */
     static void
-cat_func_name(buf, fp)
-    char_u	*buf;
-    ufunc_T	*fp;
+cat_func_name(char_u *buf, ufunc_T *fp)
 {
     if (fp->uf_name[0] == K_SPECIAL)
     {
@@ -24527,8 +23607,7 @@ cat_func_name(buf, fp)
  * ":delfunction {name}"
  */
     void
-ex_delfunction(eap)
-    exarg_T	*eap;
+ex_delfunction(exarg_T *eap)
 {
     ufunc_T	*fp = NULL;
     char_u	*p;
@@ -24586,8 +23665,7 @@ ex_delfunction(eap)
  * Free a function and remove it from the list of functions.
  */
     static void
-func_free(fp)
-    ufunc_T *fp;
+func_free(ufunc_T *fp)
 {
     hashitem_T	*hi;
 
@@ -24615,8 +23693,7 @@ func_free(fp)
  * becomes zero.  Only for numbered functions.
  */
     void
-func_unref(name)
-    char_u	*name;
+func_unref(char_u *name)
 {
     ufunc_T *fp;
 
@@ -24639,8 +23716,7 @@ func_unref(name)
  * Count a reference to a Function.
  */
     void
-func_ref(name)
-    char_u	*name;
+func_ref(char_u *name)
 {
     ufunc_T *fp;
 
@@ -24658,14 +23734,14 @@ func_ref(name)
  * Call a user function.
  */
     static void
-call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
-    ufunc_T	*fp;		/* pointer to function */
-    int		argcount;	/* nr of args */
-    typval_T	*argvars;	/* arguments */
-    typval_T	*rettv;		/* return value */
-    linenr_T	firstline;	/* first line of range */
-    linenr_T	lastline;	/* last line of range */
-    dict_T	*selfdict;	/* Dictionary for "self" */
+call_user_func(
+    ufunc_T	*fp,		/* pointer to function */
+    int		argcount,	/* nr of args */
+    typval_T	*argvars,	/* arguments */
+    typval_T	*rettv,		/* return value */
+    linenr_T	firstline,	/* first line of range */
+    linenr_T	lastline,	/* last line of range */
+    dict_T	*selfdict)	/* Dictionary for "self" */
 {
     char_u	*save_sourcing_name;
     linenr_T	save_sourcing_lnum;
@@ -25031,9 +24107,7 @@ call_user_func(fp, argcount, argvars, re
  * referenced from anywhere that is in use.
  */
     static int
-can_free_funccal(fc, copyID)
-    funccall_T	*fc;
-    int		copyID;
+can_free_funccal(funccall_T *fc, int copyID)
 {
     return (fc->l_varlist.lv_copyID != copyID
 	    && fc->l_vars.dv_copyID != copyID
@@ -25044,9 +24118,9 @@ can_free_funccal(fc, copyID)
  * Free "fc" and what it contains.
  */
    static void
-free_funccal(fc, free_val)
-    funccall_T	*fc;
-    int		free_val;  /* a: vars were allocated */
+free_funccal(
+    funccall_T	*fc,
+    int		free_val)  /* a: vars were allocated */
 {
     listitem_T	*li;
 
@@ -25069,11 +24143,11 @@ free_funccal(fc, free_val)
  * Add a number variable "name" to dict "dp" with value "nr".
  */
     static void
-add_nr_var(dp, v, name, nr)
-    dict_T	*dp;
-    dictitem_T	*v;
-    char	*name;
-    varnumber_T nr;
+add_nr_var(
+    dict_T	*dp,
+    dictitem_T	*v,
+    char	*name,
+    varnumber_T nr)
 {
     STRCPY(v->di_key, name);
     v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX;
@@ -25087,8 +24161,7 @@ add_nr_var(dp, v, name, nr)
  * ":return [expr]"
  */
     void
-ex_return(eap)
-    exarg_T	*eap;
+ex_return(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     typval_T	rettv;
@@ -25144,11 +24217,11 @@ ex_return(eap)
  * FALSE when the return gets pending.
  */
     int
-do_return(eap, reanimate, is_cmd, rettv)
-    exarg_T	*eap;
-    int		reanimate;
-    int		is_cmd;
-    void	*rettv;
+do_return(
+    exarg_T	*eap,
+    int		reanimate,
+    int		is_cmd,
+    void	*rettv)
 {
     int		idx;
     struct condstack *cstack = eap->cstack;
@@ -25225,8 +24298,7 @@ do_return(eap, reanimate, is_cmd, rettv)
  * Free the variable with a pending return value.
  */
     void
-discard_pending_return(rettv)
-    void	*rettv;
+discard_pending_return(void *rettv)
 {
     free_tv((typval_T *)rettv);
 }
@@ -25236,8 +24308,7 @@ discard_pending_return(rettv)
  * is an allocated string.  Used by report_pending() for verbose messages.
  */
     char_u *
-get_return_cmd(rettv)
-    void	*rettv;
+get_return_cmd(void *rettv)
 {
     char_u	*s = NULL;
     char_u	*tofree = NULL;
@@ -25262,10 +24333,10 @@ get_return_cmd(rettv)
  * Returns allocated string, or NULL for end of function.
  */
     char_u *
-get_func_line(c, cookie, indent)
-    int	    c UNUSED;
-    void    *cookie;
-    int	    indent UNUSED;
+get_func_line(
+    int	    c UNUSED,
+    void    *cookie,
+    int	    indent UNUSED)
 {
     funccall_T	*fcp = (funccall_T *)cookie;
     ufunc_T	*fp = fcp->func;
@@ -25328,8 +24399,7 @@ get_func_line(c, cookie, indent)
  * until later and we need to store the time now.
  */
     void
-func_line_start(cookie)
-    void    *cookie;
+func_line_start(void *cookie)
 {
     funccall_T	*fcp = (funccall_T *)cookie;
     ufunc_T	*fp = fcp->func;
@@ -25352,8 +24422,7 @@ func_line_start(cookie)
  * Called when actually executing a function line.
  */
     void
-func_line_exec(cookie)
-    void    *cookie;
+func_line_exec(void *cookie)
 {
     funccall_T	*fcp = (funccall_T *)cookie;
     ufunc_T	*fp = fcp->func;
@@ -25366,8 +24435,7 @@ func_line_exec(cookie)
  * Called when done with a function line.
  */
     void
-func_line_end(cookie)
-    void    *cookie;
+func_line_end(void *cookie)
 {
     funccall_T	*fcp = (funccall_T *)cookie;
     ufunc_T	*fp = fcp->func;
@@ -25393,8 +24461,7 @@ func_line_end(cookie)
  * return was encountered or an error occurred.  Used inside a ":while".
  */
     int
-func_has_ended(cookie)
-    void    *cookie;
+func_has_ended(void *cookie)
 {
     funccall_T  *fcp = (funccall_T *)cookie;
 
@@ -25408,8 +24475,8 @@ func_has_ended(cookie)
  * return TRUE if cookie indicates a function which "abort"s on errors.
  */
     int
-func_has_abort(cookie)
-    void    *cookie;
+func_has_abort(
+    void    *cookie)
 {
     return ((funccall_T *)cookie)->func->uf_flags & FC_ABORT;
 }
@@ -25425,8 +24492,7 @@ typedef enum
 static var_flavour_T var_flavour(char_u *varname);
 
     static var_flavour_T
-var_flavour(varname)
-    char_u *varname;
+var_flavour(char_u *varname)
 {
     char_u *p = varname;
 
@@ -25447,9 +24513,7 @@ var_flavour(varname)
  * Restore global vars that start with a capital from the viminfo file
  */
     int
-read_viminfo_varlist(virp, writing)
-    vir_T	*virp;
-    int		writing;
+read_viminfo_varlist(vir_T *virp, int writing)
 {
     char_u	*tab;
     int		type = VAR_NUMBER;
@@ -25522,8 +24586,7 @@ read_viminfo_varlist(virp, writing)
  * Write global vars that start with a capital to the viminfo file
  */
     void
-write_viminfo_varlist(fp)
-    FILE    *fp;
+write_viminfo_varlist(FILE *fp)
 {
     hashitem_T	*hi;
     dictitem_T	*this_var;
@@ -25571,8 +24634,7 @@ write_viminfo_varlist(fp)
 
 #if defined(FEAT_SESSION) || defined(PROTO)
     int
-store_session_globals(fd)
-    FILE	*fd;
+store_session_globals(FILE *fd)
 {
     hashitem_T	*hi;
     dictitem_T	*this_var;
@@ -25644,8 +24706,7 @@ store_session_globals(fd)
  * Should only be invoked when 'verbose' is non-zero.
  */
     void
-last_set_msg(scriptID)
-    scid_T scriptID;
+last_set_msg(scid_T scriptID)
 {
     char_u *p;
 
@@ -25667,8 +24728,7 @@ last_set_msg(scriptID)
  * List v:oldfiles in a nice way.
  */
     void
-ex_oldfiles(eap)
-    exarg_T	*eap UNUSED;
+ex_oldfiles(exarg_T *eap UNUSED)
 {
     list_T	*l = vimvars[VV_OLDFILES].vv_list;
     listitem_T	*li;
@@ -25720,7 +24780,7 @@ ex_oldfiles(eap)
 
 /* reset v:option_new, v:option_old and v:option_type */
     void
-reset_v_option_vars()
+reset_v_option_vars(void)
 {
     set_vim_var_string(VV_OPTION_NEW,  NULL, -1);
     set_vim_var_string(VV_OPTION_OLD,  NULL, -1);
@@ -25750,10 +24810,7 @@ static int shortpath_for_partial(char_u 
  * Returns OK on success, FAIL on failure.
  */
     static int
-get_short_pathname(fnamep, bufp, fnamelen)
-    char_u	**fnamep;
-    char_u	**bufp;
-    int		*fnamelen;
+get_short_pathname(char_u **fnamep, char_u **bufp, int *fnamelen)
 {
     int		l, len;
     char_u	*newbuf;
@@ -25795,10 +24852,10 @@ get_short_pathname(fnamep, bufp, fnamele
  * Returns OK on success (or nothing done) and FAIL on failure (out of memory).
  */
     static int
-shortpath_for_invalid_fname(fname, bufp, fnamelen)
-    char_u	**fname;
-    char_u	**bufp;
-    int		*fnamelen;
+shortpath_for_invalid_fname(
+    char_u	**fname,
+    char_u	**bufp,
+    int		*fnamelen)
 {
     char_u	*short_fname, *save_fname, *pbuf_unused;
     char_u	*endp, *save_endp;
@@ -25902,10 +24959,10 @@ theend:
  * Returns OK for success, FAIL for failure.
  */
     static int
-shortpath_for_partial(fnamep, bufp, fnamelen)
-    char_u	**fnamep;
-    char_u	**bufp;
-    int		*fnamelen;
+shortpath_for_partial(
+    char_u	**fnamep,
+    char_u	**bufp,
+    int		*fnamelen)
 {
     int		sepcount, len, tflen;
     char_u	*p;
@@ -25986,12 +25043,12 @@ shortpath_for_partial(fnamep, bufp, fnam
  * When there is an error, *fnamep is set to NULL.
  */
     int
-modify_fname(src, usedlen, fnamep, bufp, fnamelen)
-    char_u	*src;		/* string with modifiers */
-    int		*usedlen;	/* characters after src that are used */
-    char_u	**fnamep;	/* file name so far */
-    char_u	**bufp;		/* buffer for allocated file name or NULL */
-    int		*fnamelen;	/* length of fnamep */
+modify_fname(
+    char_u	*src,		/* string with modifiers */
+    int		*usedlen,	/* characters after src that are used */
+    char_u	**fnamep,	/* file name so far */
+    char_u	**bufp,		/* buffer for allocated file name or NULL */
+    int		*fnamelen)	/* length of fnamep */
 {
     int		valid = 0;
     char_u	*tail;
@@ -26375,11 +25432,11 @@ repeat:
  * Returns an allocated string, NULL for error.
  */
     char_u *
-do_string_sub(str, pat, sub, flags)
-    char_u	*str;
-    char_u	*pat;
-    char_u	*sub;
-    char_u	*flags;
+do_string_sub(
+    char_u	*str,
+    char_u	*pat,
+    char_u	*sub,
+    char_u	*flags)
 {
     int		sublen;
     regmatch_T	regmatch;
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1205,
+/**/
     1204,
 /**/
     1203,