aboutsummaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c618
1 files changed, 271 insertions, 347 deletions
diff --git a/src/window.c b/src/window.c
index 336f9dbcca..fb95ec1239 100644
--- a/src/window.c
+++ b/src/window.c
@@ -8,6 +8,39 @@
*/
#include "vim.h"
+#include "window.h"
+#include "buffer.h"
+#include "charset.h"
+#include "diff.h"
+#include "edit.h"
+#include "eval.h"
+#include "ex_cmds.h"
+#include "ex_cmds2.h"
+#include "ex_docmd.h"
+#include "ex_eval.h"
+#include "ex_getln.h"
+#include "fileio.h"
+#include "fold.h"
+#include "getchar.h"
+#include "hashtab.h"
+#include "main.h"
+#include "mark.h"
+#include "memline.h"
+#include "message.h"
+#include "misc1.h"
+#include "misc2.h"
+#include "move.h"
+#include "normal.h"
+#include "option.h"
+#include "os_unix.h"
+#include "quickfix.h"
+#include "regexp.h"
+#include "screen.h"
+#include "search.h"
+#include "syntax.h"
+#include "term.h"
+#include "undo.h"
+#include "os/os.h"
static int path_is_url __ARGS((char_u *p));
static void win_init __ARGS((win_T *newp, win_T *oldp, int flags));
@@ -86,10 +119,12 @@ static char *m_onlyone = N_("Already only one window");
/*
* all CTRL-W window commands are handled here, called from normal_cmd().
*/
-void do_window(nchar, Prenum, xchar)
-int nchar;
-long Prenum;
-int xchar; /* extra char from ":wincmd gx" or NUL */
+void
+do_window (
+ int nchar,
+ long Prenum,
+ int xchar /* extra char from ":wincmd gx" or NUL */
+)
{
long Prenum1;
win_T *wp;
@@ -510,9 +545,7 @@ wingotofile:
*
* return FAIL for failure, OK otherwise
*/
-int win_split(size, flags)
-int size;
-int flags;
+int win_split(int size, int flags)
{
/* When the ":tab" modifier was used open a new tab page instead. */
if (may_open_tabpage() == OK)
@@ -541,11 +574,7 @@ int flags;
* top/left/right/bottom.
* return FAIL for failure, OK otherwise
*/
-int win_split_ins(size, flags, new_wp, dir)
-int size;
-int flags;
-win_T *new_wp;
-int dir;
+int win_split_ins(int size, int flags, win_T *new_wp, int dir)
{
win_T *wp = new_wp;
win_T *oldwin;
@@ -936,10 +965,7 @@ int dir;
* WSP_NEWLOC may be specified in flags to prevent the location list from
* being copied.
*/
-static void win_init(newp, oldp, flags)
-win_T *newp;
-win_T *oldp;
-int flags UNUSED;
+static void win_init(win_T *newp, win_T *oldp, int flags)
{
int i;
@@ -989,9 +1015,7 @@ int flags UNUSED;
* Initialize window "newp" from window"old".
* Only the essential things are copied.
*/
-static void win_init_some(newp, oldp)
-win_T *newp;
-win_T *oldp;
+static void win_init_some(win_T *newp, win_T *oldp)
{
/* Use the same argument list. */
newp->w_alist = oldp->w_alist;
@@ -1006,8 +1030,7 @@ win_T *oldp;
/*
* Check if "win" is a pointer to an existing window.
*/
-int win_valid(win)
-win_T *win;
+int win_valid(win_T *win)
{
win_T *wp;
@@ -1022,7 +1045,7 @@ win_T *win;
/*
* Return the number of windows.
*/
-int win_count() {
+int win_count(void) {
win_T *wp;
int count = 0;
@@ -1037,9 +1060,11 @@ int win_count() {
* Must be called when there is just one window, filling the whole screen
* (excluding the command line).
*/
-int make_windows(count, vertical)
-int count;
-int vertical UNUSED; /* split windows vertically if TRUE */
+int
+make_windows (
+ int count,
+ int vertical /* split windows vertically if TRUE */
+)
{
int maxcount;
int todo;
@@ -1094,8 +1119,7 @@ int vertical UNUSED; /* split windows vertically if TRUE */
/*
* Exchange current and next window
*/
-static void win_exchange(Prenum)
-long Prenum;
+static void win_exchange(long Prenum)
{
frame_T *frp;
frame_T *frp2;
@@ -1185,9 +1209,7 @@ long Prenum;
* rotate windows: if upwards TRUE the second window becomes the first one
* if upwards FALSE the first window becomes the second one
*/
-static void win_rotate(upwards, count)
-int upwards;
-int count;
+static void win_rotate(int upwards, int count)
{
win_T *wp1;
win_T *wp2;
@@ -1260,9 +1282,7 @@ int count;
/*
* Move the current window to the very top/bottom/left/right of the screen.
*/
-static void win_totop(size, flags)
-int size;
-int flags;
+static void win_totop(int size, int flags)
{
int dir;
int height = curwin->w_height;
@@ -1292,8 +1312,7 @@ int flags;
* Move window "win1" to below/right of "win2" and make "win1" the current
* window. Only works within the same frame!
*/
-void win_move_after(win1, win2)
-win_T *win1, *win2;
+void win_move_after(win_T *win1, win_T *win2)
{
int height;
@@ -1346,11 +1365,13 @@ win_T *win1, *win2;
* 'next_curwin' will soon be the current window, make sure it has enough
* rows.
*/
-void win_equal(next_curwin, current, dir)
-win_T *next_curwin; /* pointer to current window to be or NULL */
-int current; /* do only frame with current window */
-int dir; /* 'v' for vertically, 'h' for horizontally,
+void
+win_equal (
+ win_T *next_curwin, /* pointer to current window to be or NULL */
+ int current, /* do only frame with current window */
+ int dir /* 'v' for vertically, 'h' for horizontally,
'b' for both, 0 for using p_ead */
+)
{
if (dir == 0)
dir = *p_ead;
@@ -1365,16 +1386,17 @@ int dir; /* 'v' for vertically, 'h' for horizontally,
* The window "next_curwin" (if not NULL) should at least get the size from
* 'winheight' and 'winwidth' if possible.
*/
-static void win_equal_rec(next_curwin, current, topfr, dir, col, row, width,
- height)
-win_T *next_curwin; /* pointer to current window to be or NULL */
-int current; /* do only frame with current window */
-frame_T *topfr; /* frame to set size off */
-int dir; /* 'v', 'h' or 'b', see win_equal() */
-int col; /* horizontal position for frame */
-int row; /* vertical position for frame */
-int width; /* new width of frame */
-int height; /* new height of frame */
+static void
+win_equal_rec (
+ win_T *next_curwin, /* pointer to current window to be or NULL */
+ int current, /* do only frame with current window */
+ frame_T *topfr, /* frame to set size off */
+ int dir, /* 'v', 'h' or 'b', see win_equal() */
+ int col, /* horizontal position for frame */
+ int row, /* vertical position for frame */
+ int width, /* new width of frame */
+ int height /* new height of frame */
+)
{
int n, m;
int extra_sep = 0;
@@ -1646,9 +1668,11 @@ int height; /* new height of frame */
/*
* close all windows for buffer 'buf'
*/
-void close_windows(buf, keep_curwin)
-buf_T *buf;
-int keep_curwin; /* don't close "curwin" */
+void
+close_windows (
+ buf_T *buf,
+ int keep_curwin /* don't close "curwin" */
+)
{
win_T *wp;
tabpage_T *tp, *nexttp;
@@ -1697,7 +1721,7 @@ int keep_curwin; /* don't close "curwin" */
* "aucmd_win").
* Returns FALSE if there is a window, possibly in another tab page.
*/
-static int last_window() {
+static int last_window(void) {
return one_window() && first_tabpage->tp_next == NULL;
}
@@ -1705,7 +1729,7 @@ static int last_window() {
* Return TRUE if there is only one window other than "aucmd_win" in the
* current tab page.
*/
-int one_window() {
+int one_window(void) {
win_T *wp;
int seen_one = FALSE;
@@ -1724,10 +1748,7 @@ int one_window() {
* Close the possibly last window in a tab page.
* Returns TRUE when the window was closed already.
*/
-static int close_last_window_tabpage(win, free_buf, prev_curtab)
-win_T *win;
-int free_buf;
-tabpage_T *prev_curtab;
+static int close_last_window_tabpage(win_T *win, int free_buf, tabpage_T *prev_curtab)
{
if (firstwin == lastwin) {
buf_T *old_curbuf = curbuf;
@@ -1770,9 +1791,7 @@ tabpage_T *prev_curtab;
* Called by :quit, :close, :xit, :wq and findtag().
* Returns FAIL when the window was not closed.
*/
-int win_close(win, free_buf)
-win_T *win;
-int free_buf;
+int win_close(win_T *win, int free_buf)
{
win_T *wp;
int other_buffer = FALSE;
@@ -1941,10 +1960,7 @@ int free_buf;
* Caller must check if buffer is hidden and whether the tabline needs to be
* updated.
*/
-void win_close_othertab(win, free_buf, tp)
-win_T *win;
-int free_buf;
-tabpage_T *tp;
+void win_close_othertab(win_T *win, int free_buf, tabpage_T *tp)
{
win_T *wp;
int dir;
@@ -1998,10 +2014,12 @@ tabpage_T *tp;
* Free the memory used for a window.
* Returns a pointer to the window that got the freed up space.
*/
-static win_T * win_free_mem(win, dirp, tp)
-win_T *win;
-int *dirp; /* set to 'v' or 'h' for direction if 'ea' */
-tabpage_T *tp; /* tab page "win" is in, NULL for current */
+static win_T *
+win_free_mem (
+ win_T *win,
+ int *dirp, /* set to 'v' or 'h' for direction if 'ea' */
+ tabpage_T *tp /* tab page "win" is in, NULL for current */
+)
{
frame_T *frp;
win_T *wp;
@@ -2021,7 +2039,7 @@ tabpage_T *tp; /* tab page "win" is in, NULL for current */
}
#if defined(EXITFREE) || defined(PROTO)
-void win_free_all() {
+void win_free_all(void) {
int dummy;
while (first_tabpage->tp_next != NULL)
@@ -2042,10 +2060,12 @@ void win_free_all() {
* Remove a window and its frame from the tree of frames.
* Returns a pointer to the window that got the freed up space.
*/
-win_T * winframe_remove(win, dirp, tp)
-win_T *win;
-int *dirp UNUSED; /* set to 'v' or 'h' for direction if 'ea' */
-tabpage_T *tp; /* tab page "win" is in, NULL for current */
+win_T *
+winframe_remove (
+ win_T *win,
+ int *dirp, /* set to 'v' or 'h' for direction if 'ea' */
+ tabpage_T *tp /* tab page "win" is in, NULL for current */
+)
{
frame_T *frp, *frp2, *frp3;
frame_T *frp_close = win->w_frame;
@@ -2181,9 +2201,11 @@ tabpage_T *tp; /* tab page "win" is in, NULL for current */
* This makes opening a window and closing it immediately keep the same window
* layout.
*/
-static frame_T * win_altframe(win, tp)
-win_T *win;
-tabpage_T *tp; /* tab page "win" is in, NULL for current */
+static frame_T *
+win_altframe (
+ win_T *win,
+ tabpage_T *tp /* tab page "win" is in, NULL for current */
+)
{
frame_T *frp;
int b;
@@ -2205,7 +2227,7 @@ tabpage_T *tp; /* tab page "win" is in, NULL for current */
/*
* Return the tabpage that will be used if the current one is closed.
*/
-static tabpage_T * alt_tabpage() {
+static tabpage_T *alt_tabpage(void) {
tabpage_T *tp;
/* Use the next tab page if possible. */
@@ -2221,8 +2243,7 @@ static tabpage_T * alt_tabpage() {
/*
* Find the left-upper window in frame "frp".
*/
-static win_T * frame2win(frp)
-frame_T *frp;
+static win_T *frame2win(frame_T *frp)
{
while (frp->fr_win == NULL)
frp = frp->fr_child;
@@ -2232,9 +2253,7 @@ frame_T *frp;
/*
* Return TRUE if frame "frp" contains window "wp".
*/
-static int frame_has_win(frp, wp)
-frame_T *frp;
-win_T *wp;
+static int frame_has_win(frame_T *frp, win_T *wp)
{
frame_T *p;
@@ -2251,12 +2270,14 @@ win_T *wp;
* Set a new height for a frame. Recursively sets the height for contained
* frames and windows. Caller must take care of positions.
*/
-static void frame_new_height(topfrp, height, topfirst, wfh)
-frame_T *topfrp;
-int height;
-int topfirst; /* resize topmost contained frame first */
-int wfh; /* obey 'winfixheight' when there is a choice;
+static void
+frame_new_height (
+ frame_T *topfrp,
+ int height,
+ int topfirst, /* resize topmost contained frame first */
+ int wfh /* obey 'winfixheight' when there is a choice;
may cause the height not to be set */
+)
{
frame_T *frp;
int extra_lines;
@@ -2338,8 +2359,7 @@ int wfh; /* obey 'winfixheight' when there is a choice;
* Return TRUE if height of frame "frp" should not be changed because of
* the 'winfixheight' option.
*/
-static int frame_fixed_height(frp)
-frame_T *frp;
+static int frame_fixed_height(frame_T *frp)
{
/* frame with one window: fixed height if 'winfixheight' set. */
if (frp->fr_win != NULL)
@@ -2366,8 +2386,7 @@ frame_T *frp;
* Return TRUE if width of frame "frp" should not be changed because of
* the 'winfixwidth' option.
*/
-static int frame_fixed_width(frp)
-frame_T *frp;
+static int frame_fixed_width(frame_T *frp)
{
/* frame with one window: fixed width if 'winfixwidth' set. */
if (frp->fr_win != NULL)
@@ -2394,8 +2413,7 @@ frame_T *frp;
* Add a status line to windows at the bottom of "frp".
* Note: Does not check if there is room!
*/
-static void frame_add_statusline(frp)
-frame_T *frp;
+static void frame_add_statusline(frame_T *frp)
{
win_T *wp;
@@ -2422,12 +2440,14 @@ frame_T *frp;
* Set width of a frame. Handles recursively going through contained frames.
* May remove separator line for windows at the right side (for win_close()).
*/
-static void frame_new_width(topfrp, width, leftfirst, wfw)
-frame_T *topfrp;
-int width;
-int leftfirst; /* resize leftmost contained frame first */
-int wfw; /* obey 'winfixwidth' when there is a choice;
+static void
+frame_new_width (
+ frame_T *topfrp,
+ int width,
+ int leftfirst, /* resize leftmost contained frame first */
+ int wfw /* obey 'winfixwidth' when there is a choice;
may cause the width not to be set */
+)
{
frame_T *frp;
int extra_cols;
@@ -2516,8 +2536,7 @@ int wfw; /* obey 'winfixwidth' when there is a choice;
* Add the vertical separator to windows at the right side of "frp".
* Note: Does not check if there is room!
*/
-static void frame_add_vsep(frp)
-frame_T *frp;
+static void frame_add_vsep(frame_T *frp)
{
win_T *wp;
@@ -2544,8 +2563,7 @@ frame_T *frp;
/*
* Set frame width from the window it contains.
*/
-static void frame_fix_width(wp)
-win_T *wp;
+static void frame_fix_width(win_T *wp)
{
wp->w_frame->fr_width = wp->w_width + wp->w_vsep_width;
}
@@ -2553,8 +2571,7 @@ win_T *wp;
/*
* Set frame height from the window it contains.
*/
-static void frame_fix_height(wp)
-win_T *wp;
+static void frame_fix_height(win_T *wp)
{
wp->w_frame->fr_height = wp->w_height + wp->w_status_height;
}
@@ -2566,9 +2583,7 @@ win_T *wp;
* When "next_curwin" is NOWIN, don't use at least one line for the current
* window.
*/
-static int frame_minheight(topfrp, next_curwin)
-frame_T *topfrp;
-win_T *next_curwin;
+static int frame_minheight(frame_T *topfrp, win_T *next_curwin)
{
frame_T *frp;
int m;
@@ -2608,9 +2623,11 @@ win_T *next_curwin;
* When "next_curwin" is NOWIN, don't use at least one column for the current
* window.
*/
-static int frame_minwidth(topfrp, next_curwin)
-frame_T *topfrp;
-win_T *next_curwin; /* use p_wh and p_wiw for next_curwin */
+static int
+frame_minwidth (
+ frame_T *topfrp,
+ win_T *next_curwin /* use p_wh and p_wiw for next_curwin */
+)
{
frame_T *frp;
int m, n;
@@ -2651,9 +2668,11 @@ win_T *next_curwin; /* use p_wh and p_wiw for next_curwin */
*
* Used by ":bdel" and ":only".
*/
-void close_others(message, forceit)
-int message;
-int forceit; /* always hide all other windows */
+void
+close_others (
+ int message,
+ int forceit /* always hide all other windows */
+)
{
win_T *wp;
win_T *nextwp;
@@ -2702,12 +2721,11 @@ int forceit; /* always hide all other windows */
* Init the current window "curwin".
* Called when a new file is being edited.
*/
-void curwin_init() {
+void curwin_init(void) {
win_init_empty(curwin);
}
-void win_init_empty(wp)
-win_T *wp;
+void win_init_empty(win_T *wp)
{
redraw_win_later(wp, NOT_VALID);
wp->w_lines_valid = 0;
@@ -2733,7 +2751,7 @@ win_T *wp;
* Called from main().
* Return FAIL when something goes wrong (out of memory).
*/
-int win_alloc_first() {
+int win_alloc_first(void) {
if (win_alloc_firstwin(NULL) == FAIL)
return FAIL;
@@ -2750,7 +2768,7 @@ int win_alloc_first() {
* Init "aucmd_win". This can only be done after the first
* window is fully initialized, thus it can't be in win_alloc_first().
*/
-void win_alloc_aucmd_win() {
+void win_alloc_aucmd_win(void) {
aucmd_win = win_alloc(NULL, TRUE);
if (aucmd_win != NULL) {
win_init_some(aucmd_win, curwin);
@@ -2766,8 +2784,7 @@ void win_alloc_aucmd_win() {
* FEAT_WINDOWS).
* Return FAIL when something goes wrong (out of memory).
*/
-static int win_alloc_firstwin(oldwin)
-win_T *oldwin;
+static int win_alloc_firstwin(win_T *oldwin)
{
curwin = win_alloc(NULL, FALSE);
if (oldwin == NULL) {
@@ -2816,7 +2833,7 @@ static void new_frame(win_T *wp) {
/*
* Initialize the window and frame size to the maximum.
*/
-void win_init_size() {
+void win_init_size(void) {
firstwin->w_height = ROWS_AVAIL;
topframe->fr_height = ROWS_AVAIL;
firstwin->w_width = Columns;
@@ -2827,7 +2844,7 @@ void win_init_size() {
* Allocate a new tabpage_T and init the values.
* Returns NULL when out of memory.
*/
-static tabpage_T * alloc_tabpage() {
+static tabpage_T *alloc_tabpage(void) {
tabpage_T *tp;
@@ -2849,8 +2866,7 @@ static tabpage_T * alloc_tabpage() {
return tp;
}
-void free_tabpage(tp)
-tabpage_T *tp;
+void free_tabpage(tabpage_T *tp)
{
int idx;
@@ -2873,8 +2889,7 @@ tabpage_T *tp;
* Otherwise put it just before tab page "after".
* Return FAIL or OK.
*/
-int win_new_tabpage(after)
-int after;
+int win_new_tabpage(int after)
{
tabpage_T *tp = curtab;
tabpage_T *newtp;
@@ -2933,7 +2948,7 @@ int after;
* like with ":split".
* Returns OK if a new tab page was created, FAIL otherwise.
*/
-int may_open_tabpage() {
+int may_open_tabpage(void) {
int n = (cmdmod.tab == 0) ? postponed_split_tab : cmdmod.tab;
if (n != 0) {
@@ -2948,8 +2963,7 @@ int may_open_tabpage() {
* Create up to "maxcount" tabpages with empty windows.
* Returns the number of resulting tab pages.
*/
-int make_tabpages(maxcount)
-int maxcount;
+int make_tabpages(int maxcount)
{
int count = maxcount;
int todo;
@@ -2977,8 +2991,7 @@ int maxcount;
/*
* Return TRUE when "tpc" points to a valid tab page.
*/
-int valid_tabpage(tpc)
-tabpage_T *tpc;
+int valid_tabpage(tabpage_T *tpc)
{
tabpage_T *tp;
@@ -2991,8 +3004,7 @@ tabpage_T *tpc;
/*
* Find tab page "n" (first one is 1). Returns NULL when not found.
*/
-tabpage_T * find_tabpage(n)
-int n;
+tabpage_T *find_tabpage(int n)
{
tabpage_T *tp;
int i = 1;
@@ -3006,8 +3018,7 @@ int n;
* Get index of tab page "tp". First one has index 1.
* When not found returns number of tab pages plus one.
*/
-int tabpage_index(ftp)
-tabpage_T *ftp;
+int tabpage_index(tabpage_T *ftp)
{
int i = 1;
tabpage_T *tp;
@@ -3023,10 +3034,12 @@ tabpage_T *ftp;
* FAIL.
* Careful: When OK is returned need to get a new tab page very very soon!
*/
-static int leave_tabpage(new_curbuf, trigger_leave_autocmds)
-buf_T *new_curbuf UNUSED; /* what is going to be the new curbuf,
+static int
+leave_tabpage (
+ buf_T *new_curbuf, /* what is going to be the new curbuf,
NULL if unknown */
-int trigger_leave_autocmds UNUSED;
+ int trigger_leave_autocmds
+)
{
tabpage_T *tp = curtab;
@@ -3061,12 +3074,7 @@ int trigger_leave_autocmds UNUSED;
* Only trigger *Enter autocommands when trigger_enter_autocmds is TRUE.
* Only trigger *Leave autocommands when trigger_leave_autocmds is TRUE.
*/
-static void enter_tabpage(tp, old_curbuf, trigger_enter_autocmds,
- trigger_leave_autocmds)
-tabpage_T *tp;
-buf_T *old_curbuf UNUSED;
-int trigger_enter_autocmds UNUSED;
-int trigger_leave_autocmds UNUSED;
+static void enter_tabpage(tabpage_T *tp, buf_T *old_curbuf, int trigger_enter_autocmds, int trigger_leave_autocmds)
{
int old_off = tp->tp_firstwin->w_winrow;
win_T *next_prevwin = tp->tp_prevwin;
@@ -3115,8 +3123,7 @@ int trigger_leave_autocmds UNUSED;
* Go to tab page "n". For ":tab N" and "Ngt".
* When "n" is 9999 go to the last tab page.
*/
-void goto_tabpage(n)
-int n;
+void goto_tabpage(int n)
{
tabpage_T *tp;
tabpage_T *ttp;
@@ -3177,10 +3184,7 @@ int n;
* Only trigger *Leave autocommands when trigger_leave_autocmds is TRUE.
* Note: doesn't update the GUI tab.
*/
-void goto_tabpage_tp(tp, trigger_enter_autocmds, trigger_leave_autocmds)
-tabpage_T *tp;
-int trigger_enter_autocmds;
-int trigger_leave_autocmds;
+void goto_tabpage_tp(tabpage_T *tp, int trigger_enter_autocmds, int trigger_leave_autocmds)
{
/* Don't repeat a message in another tab page. */
set_keep_msg(NULL, 0);
@@ -3200,9 +3204,7 @@ int trigger_leave_autocmds;
* Enter window "wp" in tab page "tp".
* Also updates the GUI tab.
*/
-void goto_tabpage_win(tp, wp)
-tabpage_T *tp;
-win_T *wp;
+void goto_tabpage_win(tabpage_T *tp, win_T *wp)
{
goto_tabpage_tp(tp, TRUE, TRUE);
if (curtab == tp && win_valid(wp)) {
@@ -3213,8 +3215,7 @@ win_T *wp;
/*
* Move the current tab page to before tab page "nr".
*/
-void tabpage_move(nr)
-int nr;
+void tabpage_move(int nr)
{
int n = nr;
tabpage_T *tp;
@@ -3257,8 +3258,7 @@ int nr;
* When jumping to another window on the same buffer, adjust its cursor
* position to keep the same Visual area.
*/
-void win_goto(wp)
-win_T *wp;
+void win_goto(win_T *wp)
{
win_T *owp = curwin;
@@ -3290,8 +3290,7 @@ win_T *wp;
/*
* Find the tabpage for window "win".
*/
-tabpage_T * win_find_tabpage(win)
-win_T *win;
+tabpage_T *win_find_tabpage(win_T *win)
{
win_T *wp;
tabpage_T *tp;
@@ -3308,9 +3307,11 @@ win_T *win;
/*
* Move to window above or below "count" times.
*/
-static void win_goto_ver(up, count)
-int up; /* TRUE to go to win above */
-long count;
+static void
+win_goto_ver (
+ int up, /* TRUE to go to win above */
+ long count
+)
{
frame_T *fr;
frame_T *nfr;
@@ -3365,9 +3366,11 @@ end:
/*
* Move to left or right window.
*/
-static void win_goto_hor(left, count)
-int left; /* TRUE to go to left win */
-long count;
+static void
+win_goto_hor (
+ int left, /* TRUE to go to left win */
+ long count
+)
{
frame_T *fr;
frame_T *nfr;
@@ -3422,9 +3425,7 @@ end:
/*
* Make window "wp" the current window.
*/
-void win_enter(wp, undo_sync)
-win_T *wp;
-int undo_sync;
+void win_enter(win_T *wp, int undo_sync)
{
win_enter_ext(wp, undo_sync, FALSE, TRUE, TRUE);
}
@@ -3434,13 +3435,7 @@ int undo_sync;
* Can be called with "curwin_invalid" TRUE, which means that curwin has just
* been closed and isn't valid.
*/
-static void win_enter_ext(wp, undo_sync, curwin_invalid, trigger_enter_autocmds,
- trigger_leave_autocmds)
-win_T *wp;
-int undo_sync;
-int curwin_invalid;
-int trigger_enter_autocmds UNUSED;
-int trigger_leave_autocmds UNUSED;
+static void win_enter_ext(win_T *wp, int undo_sync, int curwin_invalid, int trigger_enter_autocmds, int trigger_leave_autocmds)
{
int other_buffer = FALSE;
@@ -3536,8 +3531,7 @@ int trigger_leave_autocmds UNUSED;
* Jump to the first open window that contains buffer "buf", if one exists.
* Returns a pointer to the window found, otherwise NULL.
*/
-win_T * buf_jump_open_win(buf)
-buf_T *buf;
+win_T *buf_jump_open_win(buf_T *buf)
{
win_T *wp;
@@ -3554,8 +3548,7 @@ buf_T *buf;
* if one exists.
* Returns a pointer to the window found, otherwise NULL.
*/
-win_T * buf_jump_open_tab(buf)
-buf_T *buf;
+win_T *buf_jump_open_tab(buf_T *buf)
{
win_T *wp;
tabpage_T *tp;
@@ -3585,9 +3578,7 @@ buf_T *buf;
* Allocate a window structure and link it in the window list when "hidden" is
* FALSE.
*/
-static win_T * win_alloc(after, hidden)
-win_T *after UNUSED;
-int hidden UNUSED;
+static win_T *win_alloc(win_T *after, int hidden)
{
win_T *new_wp;
@@ -3646,9 +3637,11 @@ int hidden UNUSED;
/*
* Remove window 'wp' from the window list and free the structure.
*/
-static void win_free(wp, tp)
-win_T *wp;
-tabpage_T *tp; /* tab page "win" is in, NULL for current */
+static void
+win_free (
+ win_T *wp,
+ tabpage_T *tp /* tab page "win" is in, NULL for current */
+)
{
int i;
buf_T *buf;
@@ -3712,8 +3705,7 @@ tabpage_T *tp; /* tab page "win" is in, NULL for current */
/*
* Append window "wp" in the window list after window "after".
*/
-void win_append(after, wp)
-win_T *after, *wp;
+void win_append(win_T *after, win_T *wp)
{
win_T *before;
@@ -3737,9 +3729,11 @@ win_T *after, *wp;
/*
* Remove a window from the window list.
*/
-void win_remove(wp, tp)
-win_T *wp;
-tabpage_T *tp; /* tab page "win" is in, NULL for current */
+void
+win_remove (
+ win_T *wp,
+ tabpage_T *tp /* tab page "win" is in, NULL for current */
+)
{
if (wp->w_prev != NULL)
wp->w_prev->w_next = wp->w_next;
@@ -3758,8 +3752,7 @@ tabpage_T *tp; /* tab page "win" is in, NULL for current */
/*
* Append frame "frp" in a frame list after frame "after".
*/
-static void frame_append(after, frp)
-frame_T *after, *frp;
+static void frame_append(frame_T *after, frame_T *frp)
{
frp->fr_next = after->fr_next;
after->fr_next = frp;
@@ -3771,8 +3764,7 @@ frame_T *after, *frp;
/*
* Insert frame "frp" in a frame list before frame "before".
*/
-static void frame_insert(before, frp)
-frame_T *before, *frp;
+static void frame_insert(frame_T *before, frame_T *frp)
{
frp->fr_next = before;
frp->fr_prev = before->fr_prev;
@@ -3786,8 +3778,7 @@ frame_T *before, *frp;
/*
* Remove a frame from a frame list.
*/
-static void frame_remove(frp)
-frame_T *frp;
+static void frame_remove(frame_T *frp)
{
if (frp->fr_prev != NULL)
frp->fr_prev->fr_next = frp->fr_next;
@@ -3802,8 +3793,7 @@ frame_T *frp;
* Allocate w_lines[] for window "wp".
* Return FAIL for failure, OK for success.
*/
-int win_alloc_lines(wp)
-win_T *wp;
+int win_alloc_lines(win_T *wp)
{
wp->w_lines_valid = 0;
wp->w_lines = (wline_T *)alloc_clear((unsigned)(Rows * sizeof(wline_T)));
@@ -3815,8 +3805,7 @@ win_T *wp;
/*
* free lsize arrays for a window
*/
-void win_free_lsize(wp)
-win_T *wp;
+void win_free_lsize(win_T *wp)
{
vim_free(wp->w_lines);
wp->w_lines = NULL;
@@ -3826,7 +3815,7 @@ win_T *wp;
* Called from win_new_shellsize() after Rows changed.
* This only does the current tab page, others must be done when made active.
*/
-void shell_new_rows() {
+void shell_new_rows(void) {
int h = (int)ROWS_AVAIL;
if (firstwin == NULL) /* not initialized yet */
@@ -3849,7 +3838,7 @@ void shell_new_rows() {
/*
* Called from win_new_shellsize() after Columns changed.
*/
-void shell_new_columns() {
+void shell_new_columns(void) {
if (firstwin == NULL) /* not initialized yet */
return;
@@ -3865,8 +3854,7 @@ void shell_new_columns() {
/*
* Save the size of all windows in "gap".
*/
-void win_size_save(gap)
-garray_T *gap;
+void win_size_save(garray_T *gap)
{
win_T *wp;
@@ -3884,8 +3872,7 @@ garray_T *gap;
* Restore window sizes, but only if the number of windows is still the same.
* Does not free the growarray.
*/
-void win_size_restore(gap)
-garray_T *gap;
+void win_size_restore(garray_T *gap)
{
win_T *wp;
int i;
@@ -3906,7 +3893,7 @@ garray_T *gap;
* frames.
* Returns the row just after the last window.
*/
-int win_comp_pos() {
+int win_comp_pos(void) {
int row = tabline_height();
int col = 0;
@@ -3920,10 +3907,7 @@ int win_comp_pos() {
* "*row" and "*col" are the top-left position of the frame. They are updated
* to the bottom-right position plus one.
*/
-static void frame_comp_pos(topfrp, row, col)
-frame_T *topfrp;
-int *row;
-int *col;
+static void frame_comp_pos(frame_T *topfrp, int *row, int *col)
{
win_T *wp;
frame_T *frp;
@@ -3961,8 +3945,7 @@ int *col;
* Set current window height and take care of repositioning other windows to
* fit around it.
*/
-void win_setheight(height)
-int height;
+void win_setheight(int height)
{
win_setheight_win(height, curwin);
}
@@ -3971,9 +3954,7 @@ int height;
* Set the window height of window "win" and take care of repositioning other
* windows to fit around it.
*/
-void win_setheight_win(height, win)
-int height;
-win_T *win;
+void win_setheight_win(int height, win_T *win)
{
int row;
@@ -4018,9 +3999,7 @@ win_T *win;
* Check for the minimal height of the FR_ROW frame.
* At the top level we can also use change the command line height.
*/
-static void frame_setheight(curfrp, height)
-frame_T *curfrp;
-int height;
+static void frame_setheight(frame_T *curfrp, int height)
{
int room; /* total number of lines available */
int take; /* number of lines taken from other windows */
@@ -4168,15 +4147,12 @@ int height;
* Set current window width and take care of repositioning other windows to
* fit around it.
*/
-void win_setwidth(width)
-int width;
+void win_setwidth(int width)
{
win_setwidth_win(width, curwin);
}
-void win_setwidth_win(width, wp)
-int width;
-win_T *wp;
+void win_setwidth_win(int width, win_T *wp)
{
/* Always keep current window at least one column wide, even when
* 'winminwidth' is zero. */
@@ -4202,9 +4178,7 @@ win_T *wp;
*
* Strategy is similar to frame_setheight().
*/
-static void frame_setwidth(curfrp, width)
-frame_T *curfrp;
-int width;
+static void frame_setwidth(frame_T *curfrp, int width)
{
int room; /* total number of lines available */
int take; /* number of lines taken from other windows */
@@ -4328,7 +4302,7 @@ int width;
/*
* Check 'winminheight' for a valid value.
*/
-void win_setminheight() {
+void win_setminheight(void) {
int room;
int first = TRUE;
win_T *wp;
@@ -4352,9 +4326,7 @@ void win_setminheight() {
/*
* Status line of dragwin is dragged "offset" lines down (negative is up).
*/
-void win_drag_status_line(dragwin, offset)
-win_T *dragwin;
-int offset;
+void win_drag_status_line(win_T *dragwin, int offset)
{
frame_T *curfr;
frame_T *fr;
@@ -4468,9 +4440,7 @@ int offset;
/*
* Separator line of dragwin is dragged "offset" lines right (negative is left).
*/
-void win_drag_vsep_line(dragwin, offset)
-win_T *dragwin;
-int offset;
+void win_drag_vsep_line(win_T *dragwin, int offset)
{
frame_T *curfr;
frame_T *fr;
@@ -4562,8 +4532,7 @@ int offset;
/*
* Set wp->w_fraction for the current w_wrow and w_height.
*/
-static void set_fraction(wp)
-win_T *wp;
+static void set_fraction(win_T *wp)
{
wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
+ FRACTION_MULT / 2) / (long)wp->w_height;
@@ -4574,9 +4543,7 @@ win_T *wp;
* This takes care of the things inside the window, not what happens to the
* window position, the frame or to other windows.
*/
-void win_new_height(wp, height)
-win_T *wp;
-int height;
+void win_new_height(win_T *wp, int height)
{
linenr_T lnum;
int sline, line_size;
@@ -4688,9 +4655,7 @@ int height;
/*
* Set the width of a window.
*/
-void win_new_width(wp, width)
-win_T *wp;
-int width;
+void win_new_width(win_T *wp, int width)
{
wp->w_width = width;
wp->w_lines_valid = 0;
@@ -4704,8 +4669,7 @@ int width;
wp->w_redr_status = TRUE;
}
-void win_comp_scroll(wp)
-win_T *wp;
+void win_comp_scroll(win_T *wp)
{
wp->w_p_scr = ((unsigned)wp->w_height >> 1);
if (wp->w_p_scr == 0)
@@ -4715,7 +4679,7 @@ win_T *wp;
/*
* command_height: called whenever p_ch has been changed
*/
-void command_height() {
+void command_height(void) {
int h;
frame_T *frp;
int old_p_ch = curtab->tp_ch_used;
@@ -4782,9 +4746,7 @@ void command_height() {
* Resize frame "frp" to be "n" lines higher (negative for less high).
* Also resize the frames it is contained in.
*/
-static void frame_add_height(frp, n)
-frame_T *frp;
-int n;
+static void frame_add_height(frame_T *frp, int n)
{
frame_new_height(frp, frp->fr_height + n, FALSE, FALSE);
for (;; ) {
@@ -4799,17 +4761,17 @@ int n;
* Add or remove a status line for the bottom window(s), according to the
* value of 'laststatus'.
*/
-void last_status(morewin)
-int morewin; /* pretend there are two or more windows */
+void
+last_status (
+ int morewin /* pretend there are two or more windows */
+)
{
/* Don't make a difference between horizontal or vertical split. */
last_status_rec(topframe, (p_ls == 2
|| (p_ls == 1 && (morewin || lastwin != firstwin))));
}
-static void last_status_rec(fr, statusline)
-frame_T *fr;
-int statusline;
+static void last_status_rec(frame_T *fr, int statusline)
{
frame_T *fp;
win_T *wp;
@@ -4861,7 +4823,7 @@ int statusline;
/*
* Return the number of lines used by the tab page line.
*/
-int tabline_height() {
+int tabline_height(void) {
switch (p_stal) {
case 0: return 0;
case 1: return (first_tabpage->tp_next == NULL) ? 0 : 1;
@@ -4874,9 +4836,7 @@ int tabline_height() {
* If Visual mode is active, use the selected text if it's in one line.
* Returns the name in allocated memory, NULL for failure.
*/
-char_u * grab_file_name(count, file_lnum)
-long count;
-linenr_T *file_lnum;
+char_u *grab_file_name(long count, linenr_T *file_lnum)
{
if (VIsual_active) {
int len;
@@ -4905,10 +4865,7 @@ linenr_T *file_lnum;
* FNAME_HYP check for hypertext link
* FNAME_INCL apply "includeexpr"
*/
-char_u * file_name_at_cursor(options, count, file_lnum)
-int options;
-long count;
-linenr_T *file_lnum;
+char_u *file_name_at_cursor(int options, long count, linenr_T *file_lnum)
{
return file_name_in_line(ml_get_curline(),
curwin->w_cursor.col, options, count, curbuf->b_ffname,
@@ -4919,13 +4876,15 @@ linenr_T *file_lnum;
* Return the name of the file under or after ptr[col].
* Otherwise like file_name_at_cursor().
*/
-char_u * file_name_in_line(line, col, options, count, rel_fname, file_lnum)
-char_u *line;
-int col;
-int options;
-long count;
-char_u *rel_fname; /* file we are searching relative to */
-linenr_T *file_lnum; /* line number after the file name */
+char_u *
+file_name_in_line (
+ char_u *line,
+ int col,
+ int options,
+ long count,
+ char_u *rel_fname, /* file we are searching relative to */
+ linenr_T *file_lnum /* line number after the file name */
+)
{
char_u *ptr;
int len;
@@ -4996,9 +4955,7 @@ linenr_T *file_lnum; /* line number after the file name */
static char_u *eval_includeexpr __ARGS((char_u *ptr, int len));
-static char_u * eval_includeexpr(ptr, len)
-char_u *ptr;
-int len;
+static char_u *eval_includeexpr(char_u *ptr, int len)
{
char_u *res;
@@ -5013,12 +4970,14 @@ int len;
* Return the name of the file ptr[len] in 'path'.
* Otherwise like file_name_at_cursor().
*/
-char_u * find_file_name_in_path(ptr, len, options, count, rel_fname)
-char_u *ptr;
-int len;
-int options;
-long count;
-char_u *rel_fname; /* file we are searching relative to */
+char_u *
+find_file_name_in_path (
+ char_u *ptr,
+ int len,
+ int options,
+ long count,
+ char_u *rel_fname /* file we are searching relative to */
+)
{
char_u *file_name;
int c;
@@ -5076,8 +5035,7 @@ char_u *rel_fname; /* file we are searching relative to */
* Also check for ":\\", which MS Internet Explorer accepts, return
* URL_BACKSLASH.
*/
-static int path_is_url(p)
-char_u *p;
+static int path_is_url(char_u *p)
{
if (STRNCMP(p, "://", (size_t)3) == 0)
return URL_SLASH;
@@ -5091,8 +5049,7 @@ char_u *p;
* Return URL_BACKSLASH for "name:\\".
* Return zero otherwise.
*/
-int path_with_url(fname)
-char_u *fname;
+int path_with_url(char_u *fname)
{
char_u *p;
@@ -5104,8 +5061,7 @@ char_u *fname;
/*
* Return TRUE if "name" is a full (absolute) path name or URL.
*/
-int vim_isAbsName(name)
-char_u *name;
+int vim_isAbsName(char_u *name)
{
return path_with_url(name) != 0 || mch_isFullName(name);
}
@@ -5115,10 +5071,13 @@ char_u *name;
*
* return FAIL for failure, OK otherwise
*/
-int vim_FullName(fname, buf, len, force)
-char_u *fname, *buf;
-int len;
-int force; /* force expansion even when already absolute */
+int
+vim_FullName (
+ char_u *fname,
+ char_u *buf,
+ int len,
+ int force /* force expansion even when already absolute */
+)
{
int retval = OK;
int url;
@@ -5141,7 +5100,7 @@ int force; /* force expansion even when already absolute */
* Return the minimal number of rows that is needed on the screen to display
* the current number of windows.
*/
-int min_rows() {
+int min_rows(void) {
int total;
tabpage_T *tp;
int n;
@@ -5165,7 +5124,7 @@ int min_rows() {
* counting a help or preview window, unless it is the current window.
* Does not count "aucmd_win".
*/
-int only_one_window() {
+int only_one_window(void) {
int count = 0;
win_T *wp;
@@ -5189,8 +5148,7 @@ int only_one_window() {
* current buffer, and before applying autocommands.
* When "do_curwin" is TRUE, also check current window.
*/
-void check_lnums(do_curwin)
-int do_curwin;
+void check_lnums(int do_curwin)
{
win_T *wp;
@@ -5221,16 +5179,13 @@ int do_curwin;
/*
* Create a snapshot of the current frame sizes.
*/
-void make_snapshot(idx)
-int idx;
+void make_snapshot(int idx)
{
clear_snapshot(curtab, idx);
make_snapshot_rec(topframe, &curtab->tp_snapshot[idx]);
}
-static void make_snapshot_rec(fr, frp)
-frame_T *fr;
-frame_T **frp;
+static void make_snapshot_rec(frame_T *fr, frame_T **frp)
{
*frp = (frame_T *)alloc_clear((unsigned)sizeof(frame_T));
if (*frp == NULL)
@@ -5249,16 +5204,13 @@ frame_T **frp;
/*
* Remove any existing snapshot.
*/
-static void clear_snapshot(tp, idx)
-tabpage_T *tp;
-int idx;
+static void clear_snapshot(tabpage_T *tp, int idx)
{
clear_snapshot_rec(tp->tp_snapshot[idx]);
tp->tp_snapshot[idx] = NULL;
}
-static void clear_snapshot_rec(fr)
-frame_T *fr;
+static void clear_snapshot_rec(frame_T *fr)
{
if (fr != NULL) {
clear_snapshot_rec(fr->fr_next);
@@ -5272,9 +5224,11 @@ frame_T *fr;
* This is only done if the screen size didn't change and the window layout is
* still the same.
*/
-void restore_snapshot(idx, close_curwin)
-int idx;
-int close_curwin; /* closing current window */
+void
+restore_snapshot (
+ int idx,
+ int close_curwin /* closing current window */
+)
{
win_T *wp;
@@ -5295,9 +5249,7 @@ int close_curwin; /* closing current window */
* Check if frames "sn" and "fr" have the same layout, same following frames
* and same children.
*/
-static int check_snapshot_rec(sn, fr)
-frame_T *sn;
-frame_T *fr;
+static int check_snapshot_rec(frame_T *sn, frame_T *fr)
{
if (sn->fr_layout != fr->fr_layout
|| (sn->fr_next == NULL) != (fr->fr_next == NULL)
@@ -5315,9 +5267,7 @@ frame_T *fr;
* following frames and children.
* Returns a pointer to the old current window, or NULL.
*/
-static win_T * restore_snapshot_rec(sn, fr)
-frame_T *sn;
-frame_T *fr;
+static win_T *restore_snapshot_rec(frame_T *sn, frame_T *fr)
{
win_T *wp = NULL;
win_T *wp2;
@@ -5353,12 +5303,7 @@ frame_T *fr;
* triggered, another tabpage access is limited.
* Returns FAIL if switching to "win" failed.
*/
-int switch_win(save_curwin, save_curtab, win, tp, no_display)
-win_T **save_curwin UNUSED;
-tabpage_T **save_curtab UNUSED;
-win_T *win UNUSED;
-tabpage_T *tp UNUSED;
-int no_display UNUSED;
+int switch_win(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display)
{
block_autocmds();
*save_curwin = curwin;
@@ -5387,10 +5332,7 @@ int no_display UNUSED;
* When "no_display" is TRUE the display won't be affected, no redraw is
* triggered.
*/
-void restore_win(save_curwin, save_curtab, no_display)
-win_T *save_curwin UNUSED;
-tabpage_T *save_curtab UNUSED;
-int no_display UNUSED;
+void restore_win(win_T *save_curwin, tabpage_T *save_curtab, int no_display)
{
if (save_curtab != NULL && valid_tabpage(save_curtab)) {
if (no_display) {
@@ -5413,9 +5355,7 @@ int no_display UNUSED;
* Make "buf" the current buffer. restore_buffer() MUST be called to undo.
* No autocommands will be executed. Use aucmd_prepbuf() if there are any.
*/
-void switch_buffer(save_curbuf, buf)
-buf_T *buf;
-buf_T **save_curbuf;
+void switch_buffer(buf_T **save_curbuf, buf_T *buf)
{
block_autocmds();
*save_curbuf = curbuf;
@@ -5428,8 +5368,7 @@ buf_T **save_curbuf;
/*
* Restore the current buffer after using switch_buffer().
*/
-void restore_buffer(save_curbuf)
-buf_T *save_curbuf;
+void restore_buffer(buf_T *save_curbuf)
{
unblock_autocmds();
/* Check for valid buffer, just in case. */
@@ -5450,12 +5389,7 @@ buf_T *save_curbuf;
* If no particular ID is desired, -1 must be specified for 'id'.
* Return ID of added match, -1 on failure.
*/
-int match_add(wp, grp, pat, prio, id)
-win_T *wp;
-char_u *grp;
-char_u *pat;
-int prio;
-int id;
+int match_add(win_T *wp, char_u *grp, char_u *pat, int prio, int id)
{
matchitem_T *cur;
matchitem_T *prev;
@@ -5530,10 +5464,7 @@ int id;
* Delete match with ID 'id' in the match list of window 'wp'.
* Print error messages if 'perr' is TRUE.
*/
-int match_delete(wp, id, perr)
-win_T *wp;
-int id;
-int perr;
+int match_delete(win_T *wp, int id, int perr)
{
matchitem_T *cur = wp->w_match_head;
matchitem_T *prev = cur;
@@ -5567,8 +5498,7 @@ int perr;
/*
* Delete all matches in the match list of window 'wp'.
*/
-void clear_matches(wp)
-win_T *wp;
+void clear_matches(win_T *wp)
{
matchitem_T *m;
@@ -5586,9 +5516,7 @@ win_T *wp;
* Get match from ID 'id' in window 'wp'.
* Return NULL if match not found.
*/
-matchitem_T * get_match(wp, id)
-win_T *wp;
-int id;
+matchitem_T *get_match(win_T *wp, int id)
{
matchitem_T *cur = wp->w_match_head;
@@ -5601,9 +5529,7 @@ int id;
/*
* Return TRUE if "topfrp" and its children are at the right height.
*/
-static int frame_check_height(topfrp, height)
-frame_T *topfrp;
-int height;
+static int frame_check_height(frame_T *topfrp, int height)
{
frame_T *frp;
@@ -5621,9 +5547,7 @@ int height;
/*
* Return TRUE if "topfrp" and its children are at the right width.
*/
-static int frame_check_width(topfrp, width)
-frame_T *topfrp;
-int width;
+static int frame_check_width(frame_T *topfrp, int width)
{
frame_T *frp;