Lines Matching refs:wp
27 static int frame_has_win(frame_T *frp, win_T *wp);
35 static void frame_fix_width(win_T *wp);
37 static void new_frame(win_T *wp);
41 static void frame_fix_height(win_T *wp);
44 static int win_enter_ext(win_T *wp, int flags);
45 static void win_free(win_T *wp, tabpage_T *tp);
46 static int win_unlisted(win_T *wp);
47 static void win_append(win_T *after, win_T *wp);
123 win_T *wp; in do_window() local
259 FOR_ALL_WINDOWS(wp) in do_window()
260 if (wp->w_p_pvw) in do_window()
262 if (wp == NULL) in do_window()
265 win_goto(wp); in do_window()
290 for (wp = firstwin; --Prenum > 0; ) in do_window()
292 if (wp->w_next == NULL) in do_window()
295 wp = wp->w_next; in do_window()
302 wp = curwin->w_prev; in do_window()
303 if (wp == NULL) in do_window()
304 wp = lastwin; // wrap around in do_window()
308 wp = curwin->w_next; in do_window()
309 if (wp == NULL) in do_window()
310 wp = firstwin; // wrap around in do_window()
313 win_goto(wp); in do_window()
362 wp = curwin; in do_window()
368 if (curwin == wp) in do_window()
847 win_T *wp = new_wp; in win_split_ins() local
1085 wp = win_alloc(oldwin, FALSE); in win_split_ins()
1087 win_append(oldwin, wp); in win_split_ins()
1092 wp = win_alloc(oldwin->w_prev, FALSE); in win_split_ins()
1094 win_append(oldwin->w_prev, wp); in win_split_ins()
1099 if (wp == NULL) in win_split_ins()
1102 new_frame(wp); in win_split_ins()
1103 if (wp->w_frame == NULL) in win_split_ins()
1105 win_free(wp, NULL); in win_split_ins()
1110 win_init(wp, curwin, flags); in win_split_ins()
1162 frp = wp->w_frame; in win_split_ins()
1177 wp->w_fraction = oldwin->w_fraction; in win_split_ins()
1181 wp->w_p_scr = curwin->w_p_scr; in win_split_ins()
1191 wp->w_winrow = tabline_height(); in win_split_ins()
1192 win_new_height(wp, curfrp->fr_height - (p_ls > 0) in win_split_ins()
1193 - WINBAR_HEIGHT(wp)); in win_split_ins()
1194 wp->w_status_height = (p_ls > 0); in win_split_ins()
1199 wp->w_winrow = oldwin->w_winrow; in win_split_ins()
1200 win_new_height(wp, VISIBLE_HEIGHT(oldwin)); in win_split_ins()
1201 wp->w_status_height = oldwin->w_status_height; in win_split_ins()
1207 win_new_width(wp, new_size); in win_split_ins()
1209 wp->w_vsep_width = 1; in win_split_ins()
1212 wp->w_vsep_width = oldwin->w_vsep_width; in win_split_ins()
1228 wp->w_wincol = oldwin->w_wincol; in win_split_ins()
1232 wp->w_wincol = oldwin->w_wincol + oldwin->w_width + 1; in win_split_ins()
1234 frame_fix_width(wp); in win_split_ins()
1241 wp->w_wincol = 0; in win_split_ins()
1242 win_new_width(wp, Columns); in win_split_ins()
1243 wp->w_vsep_width = 0; in win_split_ins()
1247 wp->w_wincol = oldwin->w_wincol; in win_split_ins()
1248 win_new_width(wp, oldwin->w_width); in win_split_ins()
1249 wp->w_vsep_width = oldwin->w_vsep_width; in win_split_ins()
1255 win_new_height(wp, new_size); in win_split_ins()
1259 + WINBAR_HEIGHT(wp) ; in win_split_ins()
1269 wp->w_winrow = oldwin->w_winrow; in win_split_ins()
1270 wp->w_status_height = STATUS_HEIGHT; in win_split_ins()
1271 oldwin->w_winrow += wp->w_height + STATUS_HEIGHT; in win_split_ins()
1275 wp->w_winrow = oldwin->w_winrow + VISIBLE_HEIGHT(oldwin) in win_split_ins()
1277 wp->w_status_height = oldwin->w_status_height; in win_split_ins()
1283 frame_fix_height(wp); in win_split_ins()
1292 redraw_win_later(wp, NOT_VALID); in win_split_ins()
1310 win_equal(wp, TRUE, in win_split_ins()
1337 wp->w_changelistidx = oldwin->w_changelistidx; in win_split_ins()
1343 (void)win_enter_ext(wp, WEE_TRIGGER_NEW_AUTOCMDS in win_split_ins()
1453 win_T *wp; in win_valid_popup() local
1455 FOR_ALL_POPUPWINS(wp) in win_valid_popup()
1456 if (wp == win) in win_valid_popup()
1458 FOR_ALL_POPUPWINS_IN_TAB(curtab, wp) in win_valid_popup()
1459 if (wp == win) in win_valid_popup()
1471 win_T *wp; in win_valid() local
1475 FOR_ALL_WINDOWS(wp) in win_valid()
1476 if (wp == win) in win_valid()
1489 win_T *wp; in win_find_by_id() local
1491 FOR_ALL_WINDOWS(wp) in win_find_by_id()
1492 if (wp->w_id == id) in win_find_by_id()
1493 return wp; in win_find_by_id()
1495 FOR_ALL_POPUPWINS(wp) in win_find_by_id()
1496 if (wp->w_id == id) in win_find_by_id()
1497 return wp; in win_find_by_id()
1498 FOR_ALL_POPUPWINS_IN_TAB(curtab, wp) in win_find_by_id()
1499 if (wp->w_id == id) in win_find_by_id()
1500 return wp; in win_find_by_id()
1511 win_T *wp; in win_valid_any_tab() local
1518 FOR_ALL_WINDOWS_IN_TAB(tp, wp) in win_valid_any_tab()
1520 if (wp == win) in win_valid_any_tab()
1524 FOR_ALL_POPUPWINS_IN_TAB(tp, wp) in win_valid_any_tab()
1525 if (wp == win) in win_valid_any_tab()
1538 win_T *wp; in win_count() local
1541 FOR_ALL_WINDOWS(wp) in win_count()
1621 win_T *wp; in win_exchange() local
1655 wp = frp->fr_win; in win_exchange()
1667 if (wp->w_prev != curwin) in win_exchange()
1671 win_append(wp->w_prev, curwin); in win_exchange()
1674 if (wp != wp2) in win_exchange()
1676 win_remove(wp, NULL); in win_exchange()
1677 frame_remove(wp->w_frame); in win_exchange()
1678 win_append(wp2, wp); in win_exchange()
1680 frame_insert(wp->w_frame->fr_parent->fr_child, wp->w_frame); in win_exchange()
1682 frame_append(frp2, wp->w_frame); in win_exchange()
1685 curwin->w_status_height = wp->w_status_height; in win_exchange()
1686 wp->w_status_height = temp; in win_exchange()
1688 curwin->w_vsep_width = wp->w_vsep_width; in win_exchange()
1689 wp->w_vsep_width = temp; in win_exchange()
1692 frame_fix_height(wp); in win_exchange()
1694 frame_fix_width(wp); in win_exchange()
1698 win_enter(wp, TRUE); in win_exchange()
2284 win_T *wp; in close_windows() local
2291 for (wp = firstwin; wp != NULL && !ONE_WINDOW; ) in close_windows()
2293 if (wp->w_buffer == buf && (!keep_curwin || wp != curwin) in close_windows()
2294 && !(wp->w_closing || wp->w_buffer->b_locked > 0)) in close_windows()
2296 if (win_close(wp, FALSE) == FAIL) in close_windows()
2302 wp = firstwin; in close_windows()
2305 wp = wp->w_next; in close_windows()
2313 FOR_ALL_WINDOWS_IN_TAB(tp, wp) in close_windows()
2314 if (wp->w_buffer == buf in close_windows()
2315 && !(wp->w_closing || wp->w_buffer->b_locked > 0)) in close_windows()
2317 win_close_othertab(wp, FALSE, tp); in close_windows()
2354 win_T *wp; in one_window() local
2357 FOR_ALL_WINDOWS(wp) in one_window()
2359 if (wp != aucmd_win) in one_window()
2467 win_T *wp; in win_close() local
2531 wp = frame2win(win_altframe(win, NULL)); in win_close()
2537 if (wp->w_buffer != curbuf) in win_close()
2619 wp = win_free_mem(win, &dir, NULL); in win_close()
2626 curwin = wp; in win_close()
2628 if (wp->w_p_pvw || bt_quickfix(wp->w_buffer)) in win_close()
2636 if (wp->w_next == NULL) in win_close()
2637 wp = firstwin; in win_close()
2639 wp = wp->w_next; in win_close()
2640 if (wp == curwin) in win_close()
2642 if (!wp->w_p_pvw && !bt_quickfix(wp->w_buffer)) in win_close()
2644 curwin = wp; in win_close()
2672 win_enter_ext(wp, in win_close()
2748 win_T *wp; in win_close_othertab() local
2778 for (wp = tp->tp_firstwin; wp != NULL && wp != win; wp = wp->w_next) in win_close_othertab()
2780 if (wp == NULL) in win_close_othertab()
2821 win_T *wp; in win_free_mem() local
2826 wp = winframe_remove(win, dirp, tp); in win_free_mem()
2833 win_tp->tp_curwin = wp; in win_free_mem()
2835 return wp; in win_free_mem()
2874 win_T *wp; in winframe_remove() local
2886 wp = frame2win(frp2); in winframe_remove()
2907 wp = frame2win(frp2); in winframe_remove()
2917 wp = frp3->fr_win; in winframe_remove()
2944 wp = frame2win(frp2); in winframe_remove()
2954 wp = frp3->fr_win; in winframe_remove()
3019 return wp; in winframe_remove()
3120 frame_has_win(frame_T *frp, win_T *wp) in frame_has_win() argument
3125 return frp->fr_win == wp; in frame_has_win()
3128 if (frame_has_win(p, wp)) in frame_has_win()
3308 win_T *wp; in frame_add_statusline() local
3312 wp = frp->fr_win; in frame_add_statusline()
3313 if (wp->w_status_height == 0) in frame_add_statusline()
3315 if (wp->w_height > 0) // don't make it negative in frame_add_statusline()
3316 --wp->w_height; in frame_add_statusline()
3317 wp->w_status_height = STATUS_HEIGHT; in frame_add_statusline()
3350 win_T *wp; in frame_new_width() local
3355 wp = topfrp->fr_win; in frame_new_width()
3361 wp->w_vsep_width = 0; in frame_new_width()
3362 win_new_width(wp, width - wp->w_vsep_width); in frame_new_width()
3457 win_T *wp; in frame_add_vsep() local
3461 wp = frp->fr_win; in frame_add_vsep()
3462 if (wp->w_vsep_width == 0) in frame_add_vsep()
3464 if (wp->w_width > 0) // don't make it negative in frame_add_vsep()
3465 --wp->w_width; in frame_add_vsep()
3466 wp->w_vsep_width = 1; in frame_add_vsep()
3489 frame_fix_width(win_T *wp) in frame_fix_width() argument
3491 wp->w_frame->fr_width = wp->w_width + wp->w_vsep_width; in frame_fix_width()
3498 frame_fix_height(win_T *wp) in frame_fix_height() argument
3500 wp->w_frame->fr_height = VISIBLE_HEIGHT(wp) + wp->w_status_height; in frame_fix_height()
3619 win_T *wp; in close_others() local
3631 for (wp = firstwin; win_valid(wp); wp = nextwp) in close_others()
3633 nextwp = wp->w_next; in close_others()
3634 if (wp != curwin) // don't close current window in close_others()
3638 r = can_abandon(wp->w_buffer, forceit); in close_others()
3639 if (!win_valid(wp)) // autocommands messed wp up in close_others()
3650 dialog_changed(wp->w_buffer, FALSE); in close_others()
3651 if (!win_valid(wp)) // autocommands messed wp up in close_others()
3657 if (bufIsChanged(wp->w_buffer)) in close_others()
3661 win_close(wp, !buf_hide(wp->w_buffer) in close_others()
3662 && !bufIsChanged(wp->w_buffer)); in close_others()
3671 win_init_empty(win_T *wp) in win_init_empty() argument
3673 redraw_win_later(wp, NOT_VALID); in win_init_empty()
3674 wp->w_lines_valid = 0; in win_init_empty()
3675 wp->w_cursor.lnum = 1; in win_init_empty()
3676 wp->w_curswant = wp->w_cursor.col = 0; in win_init_empty()
3677 wp->w_cursor.coladd = 0; in win_init_empty()
3678 wp->w_pcmark.lnum = 1; // pcmark not cleared but set to line 1 in win_init_empty()
3679 wp->w_pcmark.col = 0; in win_init_empty()
3680 wp->w_prev_pcmark.lnum = 0; in win_init_empty()
3681 wp->w_prev_pcmark.col = 0; in win_init_empty()
3682 wp->w_topline = 1; in win_init_empty()
3684 wp->w_topfill = 0; in win_init_empty()
3686 wp->w_botline = 2; in win_init_empty()
3688 wp->w_s = &wp->w_buffer->b_s; in win_init_empty()
3691 term_reset_wincolor(wp); in win_init_empty()
3736 win_T *wp; in win_alloc_popup_win() local
3738 wp = win_alloc(NULL, TRUE); in win_alloc_popup_win()
3739 if (wp != NULL) in win_alloc_popup_win()
3743 win_init_some(wp, curwin); in win_alloc_popup_win()
3745 RESET_BINDING(wp); in win_alloc_popup_win()
3746 new_frame(wp); in win_alloc_popup_win()
3748 return wp; in win_alloc_popup_win()
3755 win_init_popup_win(win_T *wp, buf_T *buf) in win_init_popup_win() argument
3757 wp->w_buffer = buf; in win_init_popup_win()
3759 win_init_empty(wp); // set cursor and topline to safe values in win_init_popup_win()
3763 VIM_CLEAR(wp->w_localdir); in win_init_popup_win()
3814 new_frame(win_T *wp) in new_frame() argument
3818 wp->w_frame = frp; in new_frame()
3822 frp->fr_win = wp; in new_frame()
4072 win_T *wp; in valid_tabpage_win() local
4078 FOR_ALL_WINDOWS_IN_TAB(tp, wp) in valid_tabpage_win()
4080 if (win_valid_any_tab(wp)) in valid_tabpage_win()
4397 goto_tabpage_win(tabpage_T *tp, win_T *wp) in goto_tabpage_win() argument
4400 if (curtab == tp && win_valid(wp)) in goto_tabpage_win()
4402 win_enter(wp, TRUE); in goto_tabpage_win()
4469 win_goto(win_T *wp) in win_goto() argument
4478 if (popup_is_popup(wp)) in win_goto()
4493 if (wp->w_buffer != curbuf) in win_goto()
4496 wp->w_cursor = curwin->w_cursor; in win_goto()
4501 win_enter(wp, TRUE); in win_goto()
4519 win_T *wp; in win_find_nr() local
4521 FOR_ALL_WINDOWS(wp) in win_find_nr()
4524 return wp; in win_find_nr()
4535 win_T *wp; in win_find_tabpage() local
4538 FOR_ALL_TAB_WINDOWS(tp, wp) in win_find_tabpage()
4539 if (wp == win) in win_find_tabpage()
4552 win_vert_neighbor(tabpage_T *tp, win_T *wp, int up, long count) in win_vert_neighbor() argument
4559 if (popup_is_popup(wp)) in win_vert_neighbor()
4563 foundfr = wp->w_frame; in win_vert_neighbor()
4600 <= wp->w_wincol + wp->w_wcol) in win_vert_neighbor()
4639 win_horz_neighbor(tabpage_T *tp, win_T *wp, int left, long count) in win_horz_neighbor() argument
4646 if (popup_is_popup(wp)) in win_horz_neighbor()
4650 foundfr = wp->w_frame; in win_horz_neighbor()
4687 <= wp->w_winrow + wp->w_wrow) in win_horz_neighbor()
4723 win_enter(win_T *wp, int undo_sync) in win_enter() argument
4725 (void)win_enter_ext(wp, (undo_sync ? WEE_UNDO_SYNC : 0) in win_enter()
4736 win_enter_ext(win_T *wp, int flags) in win_enter_ext() argument
4742 if (wp == curwin && !curwin_invalid) // nothing to do in win_enter_ext()
4755 if (wp->w_buffer != curbuf) in win_enter_ext()
4759 if (!win_valid(wp)) in win_enter_ext()
4763 if (!win_valid(wp)) in win_enter_ext()
4773 if ((flags & WEE_UNDO_SYNC) && curbuf != wp->w_buffer) in win_enter_ext()
4781 if (wp->w_buffer != curbuf) in win_enter_ext()
4782 buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP); in win_enter_ext()
4788 curwin = wp; in win_enter_ext()
4789 curbuf = wp->w_buffer; in win_enter_ext()
4905 win_T *wp = NULL; in buf_jump_open_win() local
4908 wp = curwin; in buf_jump_open_win()
4910 FOR_ALL_WINDOWS(wp) in buf_jump_open_win()
4911 if (wp->w_buffer == buf) in buf_jump_open_win()
4913 if (wp != NULL) in buf_jump_open_win()
4914 win_enter(wp, FALSE); in buf_jump_open_win()
4915 return wp; in buf_jump_open_win()
4926 win_T *wp = buf_jump_open_win(buf); in buf_jump_open_tab() local
4929 if (wp != NULL) in buf_jump_open_tab()
4930 return wp; in buf_jump_open_tab()
4935 FOR_ALL_WINDOWS_IN_TAB(tp, wp) in buf_jump_open_tab()
4936 if (wp->w_buffer == buf) in buf_jump_open_tab()
4938 if (wp != NULL) in buf_jump_open_tab()
4940 goto_tabpage_win(tp, wp); in buf_jump_open_tab()
4941 if (curwin != wp) in buf_jump_open_tab()
4942 wp = NULL; // something went wrong in buf_jump_open_tab()
4946 return wp; in buf_jump_open_tab()
5042 win_T *wp, in win_free() argument
5050 clearFolding(wp); in win_free()
5054 alist_unlink(wp->w_alist); in win_free()
5061 lua_window_free(wp); in win_free()
5065 mzscheme_window_free(wp); in win_free()
5069 perl_win_free(wp); in win_free()
5073 python_window_free(wp); in win_free()
5077 python3_window_free(wp); in win_free()
5081 tcl_window_free(wp); in win_free()
5085 ruby_window_free(wp); in win_free()
5088 clear_winopt(&wp->w_onebuf_opt); in win_free()
5089 clear_winopt(&wp->w_allbuf_opt); in win_free()
5091 vim_free(wp->w_lcs_chars.multispace); in win_free()
5094 vars_clear(&wp->w_vars->dv_hashtab); // free all w: variables in win_free()
5095 hash_init(&wp->w_vars->dv_hashtab); in win_free()
5096 unref_var_dict(wp->w_vars); in win_free()
5102 if (prevwin == wp) in win_free()
5105 if (ttp->tp_prevwin == wp) in win_free()
5108 win_free_lsize(wp); in win_free()
5110 for (i = 0; i < wp->w_tagstacklen; ++i) in win_free()
5112 vim_free(wp->w_tagstack[i].tagname); in win_free()
5113 vim_free(wp->w_tagstack[i].user_data); in win_free()
5115 vim_free(wp->w_localdir); in win_free()
5116 vim_free(wp->w_prevdir); in win_free()
5122 if (wip->wi_win == wp) in win_free()
5146 clear_matches(wp); in win_free()
5150 free_jumplist(wp); in win_free()
5154 qf_free_all(wp); in win_free()
5160 gui_mch_destroy_scrollbar(&wp->w_scrollbars[SBAR_LEFT]); in win_free()
5161 gui_mch_destroy_scrollbar(&wp->w_scrollbars[SBAR_RIGHT]); in win_free()
5166 remove_winbar(wp); in win_free()
5169 free_callback(&wp->w_close_cb); in win_free()
5170 free_callback(&wp->w_filter_cb); in win_free()
5172 VIM_CLEAR(wp->w_border_highlight[i]); in win_free()
5173 vim_free(wp->w_scrollbar_highlight); in win_free()
5174 vim_free(wp->w_thumb_highlight); in win_free()
5175 vim_free(wp->w_popup_title); in win_free()
5176 list_unref(wp->w_popup_mask); in win_free()
5177 vim_free(wp->w_popup_mask_cells); in win_free()
5181 vim_free(wp->w_p_cc_cols); in win_free()
5184 if (win_valid_any_tab(wp)) in win_free()
5185 win_remove(wp, tp); in win_free()
5188 wp->w_next = au_pending_free_win; in win_free()
5189 au_pending_free_win = wp; in win_free()
5192 vim_free(wp); in win_free()
5202 win_unlisted(win_T *wp) in win_unlisted() argument
5204 return wp == aucmd_win || WIN_IS_POPUP(wp); in win_unlisted()
5232 win_append(win_T *after, win_T *wp) in win_append() argument
5241 wp->w_next = before; in win_append()
5242 wp->w_prev = after; in win_append()
5244 firstwin = wp; in win_append()
5246 after->w_next = wp; in win_append()
5248 lastwin = wp; in win_append()
5250 before->w_prev = wp; in win_append()
5258 win_T *wp, in win_remove() argument
5261 if (wp->w_prev != NULL) in win_remove()
5262 wp->w_prev->w_next = wp->w_next; in win_remove()
5264 firstwin = curtab->tp_firstwin = wp->w_next; in win_remove()
5266 tp->tp_firstwin = wp->w_next; in win_remove()
5268 if (wp->w_next != NULL) in win_remove()
5269 wp->w_next->w_prev = wp->w_prev; in win_remove()
5271 lastwin = curtab->tp_lastwin = wp->w_prev; in win_remove()
5273 tp->tp_lastwin = wp->w_prev; in win_remove()
5323 win_alloc_lines(win_T *wp) in win_alloc_lines() argument
5325 wp->w_lines_valid = 0; in win_alloc_lines()
5326 wp->w_lines = ALLOC_CLEAR_MULT(wline_T, Rows ); in win_alloc_lines()
5327 if (wp->w_lines == NULL) in win_alloc_lines()
5336 win_free_lsize(win_T *wp) in win_free_lsize() argument
5339 if (wp != NULL) in win_free_lsize()
5340 VIM_CLEAR(wp->w_lines); in win_free_lsize()
5405 win_T *wp; in win_size_save() local
5413 FOR_ALL_WINDOWS(wp) in win_size_save()
5416 wp->w_width + wp->w_vsep_width; in win_size_save()
5417 ((int *)gap->ga_data)[gap->ga_len++] = wp->w_height; in win_size_save()
5430 win_T *wp; in win_size_restore() local
5441 FOR_ALL_WINDOWS(wp) in win_size_restore()
5443 frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]); in win_size_restore()
5444 win_setheight_win(((int *)gap->ga_data)[i++], wp); in win_size_restore()
5477 win_T *wp; in frame_comp_pos() local
5483 wp = topfrp->fr_win; in frame_comp_pos()
5484 if (wp != NULL) in frame_comp_pos()
5486 if (wp->w_winrow != *row || wp->w_wincol != *col) in frame_comp_pos()
5489 wp->w_winrow = *row; in frame_comp_pos()
5490 wp->w_wincol = *col; in frame_comp_pos()
5491 redraw_win_later(wp, NOT_VALID); in frame_comp_pos()
5492 wp->w_redr_status = TRUE; in frame_comp_pos()
5495 h = VISIBLE_HEIGHT(wp) + wp->w_status_height; in frame_comp_pos()
5497 *col += wp->w_width + wp->w_vsep_width; in frame_comp_pos()
5748 win_setwidth_win(int width, win_T *wp) in win_setwidth_win() argument
5752 if (wp == curwin) in win_setwidth_win()
5762 frame_setwidth(wp->w_frame, width + wp->w_vsep_width); in win_setwidth_win()
6204 set_fraction(win_T *wp) in set_fraction() argument
6206 if (wp->w_height > 1) in set_fraction()
6210 wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT in set_fraction()
6211 + FRACTION_MULT / 2) / (long)wp->w_height; in set_fraction()
6221 win_new_height(win_T *wp, int height) in win_new_height() argument
6223 int prev_height = wp->w_height; in win_new_height()
6229 if (wp->w_height == height) in win_new_height()
6232 if (wp->w_height > 0) in win_new_height()
6234 if (wp == curwin) in win_new_height()
6238 if (wp->w_height != prev_height) in win_new_height()
6241 if (wp->w_wrow != wp->w_prev_fraction_row) in win_new_height()
6242 set_fraction(wp); in win_new_height()
6245 wp->w_height = height; in win_new_height()
6246 wp->w_skipcol = 0; in win_new_height()
6251 scroll_to_fraction(wp, prev_height); in win_new_height()
6255 scroll_to_fraction(win_T *wp, int prev_height) in scroll_to_fraction() argument
6259 int height = wp->w_height; in scroll_to_fraction()
6267 && (!wp->w_p_scb || wp == curwin) in scroll_to_fraction()
6268 && (height < wp->w_buffer->b_ml.ml_line_count || wp->w_topline > 1)) in scroll_to_fraction()
6274 lnum = wp->w_cursor.lnum; in scroll_to_fraction()
6277 wp->w_wrow = ((long)wp->w_fraction * (long)height - 1L) in scroll_to_fraction()
6279 line_size = plines_win_col(wp, lnum, (long)(wp->w_cursor.col)) - 1; in scroll_to_fraction()
6280 sline = wp->w_wrow - line_size; in scroll_to_fraction()
6285 int rows = plines_win(wp, lnum, FALSE); in scroll_to_fraction()
6287 if (sline > wp->w_height - rows) in scroll_to_fraction()
6289 sline = wp->w_height - rows; in scroll_to_fraction()
6290 wp->w_wrow -= rows - line_size; in scroll_to_fraction()
6301 wp->w_wrow = line_size; in scroll_to_fraction()
6302 if (wp->w_wrow >= wp->w_height in scroll_to_fraction()
6303 && (wp->w_width - win_col_off(wp)) > 0) in scroll_to_fraction()
6305 wp->w_skipcol += wp->w_width - win_col_off(wp); in scroll_to_fraction()
6306 --wp->w_wrow; in scroll_to_fraction()
6307 while (wp->w_wrow >= wp->w_height) in scroll_to_fraction()
6309 wp->w_skipcol += wp->w_width - win_col_off(wp) in scroll_to_fraction()
6310 + win_col_off2(wp); in scroll_to_fraction()
6311 --wp->w_wrow; in scroll_to_fraction()
6320 hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL); in scroll_to_fraction()
6331 if (lnum == wp->w_topline) in scroll_to_fraction()
6332 line_size = plines_win_nofill(wp, lnum, TRUE) in scroll_to_fraction()
6333 + wp->w_topfill; in scroll_to_fraction()
6336 line_size = plines_win(wp, lnum, TRUE); in scroll_to_fraction()
6347 hasFoldingWin(wp, lnum, NULL, &lnum, TRUE, NULL); in scroll_to_fraction()
6350 wp->w_wrow -= line_size + sline; in scroll_to_fraction()
6356 wp->w_wrow -= sline; in scroll_to_fraction()
6359 set_topline(wp, lnum); in scroll_to_fraction()
6362 if (wp == curwin) in scroll_to_fraction()
6369 wp->w_prev_fraction_row = wp->w_wrow; in scroll_to_fraction()
6371 win_comp_scroll(wp); in scroll_to_fraction()
6372 redraw_win_later(wp, SOME_VALID); in scroll_to_fraction()
6373 wp->w_redr_status = TRUE; in scroll_to_fraction()
6374 invalidate_botline_win(wp); in scroll_to_fraction()
6381 win_new_width(win_T *wp, int width) in win_new_width() argument
6383 wp->w_width = width; in win_new_width()
6384 wp->w_lines_valid = 0; in win_new_width()
6385 changed_line_abv_curs_win(wp); in win_new_width()
6386 invalidate_botline_win(wp); in win_new_width()
6387 if (wp == curwin) in win_new_width()
6392 redraw_win_later(wp, NOT_VALID); in win_new_width()
6393 wp->w_redr_status = TRUE; in win_new_width()
6397 win_comp_scroll(win_T *wp) in win_comp_scroll() argument
6400 int old_w_p_scr = wp->w_p_scr; in win_comp_scroll()
6403 wp->w_p_scr = ((unsigned)wp->w_height >> 1); in win_comp_scroll()
6404 if (wp->w_p_scr == 0) in win_comp_scroll()
6405 wp->w_p_scr = 1; in win_comp_scroll()
6407 if (wp->w_p_scr != old_w_p_scr) in win_comp_scroll()
6410 wp->w_p_script_ctx[WV_SCROLL].sc_sid = SID_WINLAYOUT; in win_comp_scroll()
6411 wp->w_p_script_ctx[WV_SCROLL].sc_lnum = 0; in win_comp_scroll()
6522 win_T *wp; in last_status_rec() local
6526 wp = fr->fr_win; in last_status_rec()
6527 if (wp->w_status_height != 0 && !statusline) in last_status_rec()
6530 win_new_height(wp, wp->w_height + 1); in last_status_rec()
6531 wp->w_status_height = 0; in last_status_rec()
6534 else if (wp->w_status_height == 0 && statusline) in last_status_rec()
6552 wp->w_status_height = 1; in last_status_rec()
6556 frame_fix_height(wp); in last_status_rec()
6560 win_new_height(wp, wp->w_height - 1); in last_status_rec()
6634 win_T *wp; in only_one_window() local
6646 FOR_ALL_WINDOWS(wp) in only_one_window()
6647 if (wp->w_buffer != NULL in only_one_window()
6648 && (!((bt_help(wp->w_buffer) && !bt_help(curbuf)) in only_one_window()
6650 || wp->w_p_pvw in only_one_window()
6652 ) || wp == curwin) && wp != aucmd_win) in only_one_window()
6665 win_T *wp; in check_lnums() local
6668 FOR_ALL_TAB_WINDOWS(tp, wp) in check_lnums()
6669 if ((do_curwin || wp != curwin) && wp->w_buffer == curbuf) in check_lnums()
6672 wp->w_save_cursor.w_cursor_save = wp->w_cursor; in check_lnums()
6673 wp->w_save_cursor.w_topline_save = wp->w_topline; in check_lnums()
6675 if (wp->w_cursor.lnum > curbuf->b_ml.ml_line_count) in check_lnums()
6676 wp->w_cursor.lnum = curbuf->b_ml.ml_line_count; in check_lnums()
6677 if (wp->w_topline > curbuf->b_ml.ml_line_count) in check_lnums()
6678 wp->w_topline = curbuf->b_ml.ml_line_count; in check_lnums()
6681 wp->w_save_cursor.w_cursor_corr = wp->w_cursor; in check_lnums()
6682 wp->w_save_cursor.w_topline_corr = wp->w_topline; in check_lnums()
6693 win_T *wp; in reset_lnums() local
6696 FOR_ALL_TAB_WINDOWS(tp, wp) in reset_lnums()
6697 if (wp->w_buffer == curbuf) in reset_lnums()
6700 if (EQUAL_POS(wp->w_save_cursor.w_cursor_corr, wp->w_cursor)) in reset_lnums()
6701 wp->w_cursor = wp->w_save_cursor.w_cursor_save; in reset_lnums()
6702 if (wp->w_save_cursor.w_topline_corr == wp->w_topline) in reset_lnums()
6703 wp->w_topline = wp->w_save_cursor.w_topline_save; in reset_lnums()
6777 win_T *wp; in restore_snapshot() local
6784 wp = restore_snapshot_rec(curtab->tp_snapshot[idx], topframe); in restore_snapshot()
6786 if (wp != NULL && close_curwin) in restore_snapshot()
6787 win_goto(wp); in restore_snapshot()
6820 win_T *wp = NULL; in restore_snapshot_rec() local
6829 wp = sn->fr_win; in restore_snapshot_rec()
6835 wp = wp2; in restore_snapshot_rec()
6841 wp = wp2; in restore_snapshot_rec()
6843 return wp; in restore_snapshot_rec()
6869 get_win_number(win_T *wp, win_T *first_win) in get_win_number() argument
6874 for (w = first_win; w != NULL && w != wp; w = W_NEXT(w)) in get_win_number()
6952 check_colorcolumn(win_T *wp) in check_colorcolumn() argument
6961 if (wp->w_buffer == NULL) in check_colorcolumn()
6964 for (s = wp->w_p_cc; *s != NUL && count < 255;) in check_colorcolumn()
6974 if (wp->w_buffer->b_p_tw == 0) in check_colorcolumn()
6976 col += wp->w_buffer->b_p_tw; in check_colorcolumn()
6994 vim_free(wp->w_p_cc_cols); in check_colorcolumn()
6996 wp->w_p_cc_cols = NULL; in check_colorcolumn()
6999 wp->w_p_cc_cols = ALLOC_MULT(int, count + 1); in check_colorcolumn()
7000 if (wp->w_p_cc_cols != NULL) in check_colorcolumn()
7008 if (j == 0 || wp->w_p_cc_cols[j - 1] != color_cols[i]) in check_colorcolumn()
7009 wp->w_p_cc_cols[j++] = color_cols[i]; in check_colorcolumn()
7010 wp->w_p_cc_cols[j] = -1; // end marker in check_colorcolumn()