# HG changeset patch # User Christian Brabandt # Date 1506084306 -7200 # Node ID 3ca08bf993968994e4382cc54baa925d2221a02b # Parent 018c1e1dc521ff8321818e07aabbf2292f9b7fdb patch 8.0.1135: W_WINCOL() is always the same commit https://github.com/vim/vim/commit/53f8174eaeb93b381cf74c58863f8fe82748a22a Author: Bram Moolenaar Date: Fri Sep 22 14:35:51 2017 +0200 patch 8.0.1135: W_WINCOL() is always the same Problem: W_WINCOL() is always the same. Solution: Expand the macro. diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -1776,7 +1776,7 @@ edit_putchar(int c, int highlight) else attr = 0; pc_row = W_WINROW(curwin) + curwin->w_wrow; - pc_col = W_WINCOL(curwin); + pc_col = curwin->w_wincol; #if defined(FEAT_RIGHTLEFT) || defined(FEAT_MBYTE) pc_status = PC_STATUS_UNSET; #endif diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -9111,7 +9111,7 @@ ex_sleep(exarg_T *eap) { n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled; if (n >= 0) - windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol); + windgoto((int)n, curwin->w_wincol + curwin->w_wcol); } len = eap->line2; diff --git a/src/gui_gtk.c b/src/gui_gtk.c --- a/src/gui_gtk.c +++ b/src/gui_gtk.c @@ -1954,7 +1954,7 @@ popup_menu_position_func(GtkMenu *menu U # endif { /* Find the cursor position in the current window */ - *x += FILL_X(W_WINCOL(curwin) + curwin->w_wcol + 1) + 1; + *x += FILL_X(curwin->w_wincol + curwin->w_wcol + 1) + 1; *y += FILL_Y(W_WINROW(curwin) + curwin->w_wrow + 1) + 1; } } diff --git a/src/gui_w32.c b/src/gui_w32.c --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -6608,7 +6608,7 @@ gui_make_popup(char_u *path_name, int mo } else if (curwin != NULL) { - p.x += TEXT_X(W_WINCOL(curwin) + curwin->w_wcol + 1); + p.x += TEXT_X(curwin->w_wincol + curwin->w_wcol + 1); p.y += TEXT_Y(W_WINROW(curwin) + curwin->w_wrow + 1); } msg_scroll = FALSE; diff --git a/src/if_py_both.h b/src/if_py_both.h --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -3877,7 +3877,7 @@ WindowAttr(WindowObject *self, char *nam else if (strcmp(name, "width") == 0) return PyLong_FromLong((long)(W_WIDTH(self->win))); else if (strcmp(name, "col") == 0) - return PyLong_FromLong((long)(W_WINCOL(self->win))); + return PyLong_FromLong((long)(self->win->w_wincol)); else if (strcmp(name, "vars") == 0) return NEW_DICTIONARY(self->win->w_vars); else if (strcmp(name, "options") == 0) diff --git a/src/netbeans.c b/src/netbeans.c --- a/src/netbeans.c +++ b/src/netbeans.c @@ -2872,7 +2872,7 @@ netbeans_button_release(int button) if (bufno >= 0 && curwin != NULL && curwin->w_buffer == curbuf) { - int col = mouse_col - W_WINCOL(curwin) + int col = mouse_col - curwin->w_wincol - ((curwin->w_p_nu || curwin->w_p_rnu) ? 9 : 1); long off = pos2off(curbuf, &curwin->w_cursor); diff --git a/src/popupmnu.c b/src/popupmnu.c --- a/src/popupmnu.c +++ b/src/popupmnu.c @@ -190,10 +190,10 @@ redo: /* Calculate column */ #ifdef FEAT_RIGHTLEFT if (curwin->w_p_rl) - col = W_WINCOL(curwin) + W_WIDTH(curwin) - curwin->w_wcol - 1; + col = curwin->w_wincol + W_WIDTH(curwin) - curwin->w_wcol - 1; else #endif - col = W_WINCOL(curwin) + curwin->w_wcol; + col = curwin->w_wincol + curwin->w_wcol; /* if there are more items than room we need a scrollbar */ if (pum_height < size) @@ -312,7 +312,7 @@ pum_redraw(void) #ifdef FEAT_RIGHTLEFT if (curwin->w_p_rl) { - if (pum_col < W_WINCOL(curwin) + W_WIDTH(curwin) - 1) + if (pum_col < curwin->w_wincol + W_WIDTH(curwin) - 1) screen_putchar(' ', row, pum_col + 1, attr); } else diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -2211,10 +2211,10 @@ win_update(win_T *wp) /* * Last line isn't finished: Display "@@@" in the last screen line. */ - screen_puts_len((char_u *)"@@", 2, scr_row, W_WINCOL(wp), + screen_puts_len((char_u *)"@@", 2, scr_row, wp->w_wincol, HL_ATTR(HLF_AT)); screen_fill(scr_row, scr_row + 1, - (int)W_WINCOL(wp) + 2, (int)W_ENDCOL(wp), + (int)wp->w_wincol + 2, (int)W_ENDCOL(wp), '@', ' ', HL_ATTR(HLF_AT)); set_empty_rows(wp, srow); wp->w_botline = lnum; @@ -2375,7 +2375,7 @@ win_draw_end( } # endif screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow, - W_WINCOL(wp), W_ENDCOL(wp) - 1 - FDC_OFF, + wp->w_wincol, W_ENDCOL(wp) - 1 - FDC_OFF, c2, c2, HL_ATTR(hl)); screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow, W_ENDCOL(wp) - 1 - FDC_OFF, W_ENDCOL(wp) - FDC_OFF, @@ -2392,7 +2392,7 @@ win_draw_end( if (n > wp->w_width) n = wp->w_width; screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow, - W_WINCOL(wp), (int)W_WINCOL(wp) + n, + wp->w_wincol, (int)wp->w_wincol + n, cmdwin_type, ' ', HL_ATTR(HLF_AT)); } #endif @@ -2405,7 +2405,7 @@ win_draw_end( if (nn > W_WIDTH(wp)) nn = W_WIDTH(wp); screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow, - W_WINCOL(wp) + n, (int)W_WINCOL(wp) + nn, + wp->w_wincol + n, (int)wp->w_wincol + nn, ' ', ' ', HL_ATTR(HLF_FC)); n = nn; } @@ -2419,13 +2419,13 @@ win_draw_end( if (nn > W_WIDTH(wp)) nn = W_WIDTH(wp); screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow, - W_WINCOL(wp) + n, (int)W_WINCOL(wp) + nn, + wp->w_wincol + n, (int)wp->w_wincol + nn, ' ', ' ', HL_ATTR(HLF_SC)); n = nn; } #endif screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow, - W_WINCOL(wp) + FDC_OFF, (int)W_ENDCOL(wp), + wp->w_wincol + FDC_OFF, (int)W_ENDCOL(wp), c1, c2, HL_ATTR(hl)); } set_empty_rows(wp, row); @@ -2894,7 +2894,7 @@ fold_line( } #endif - screen_line(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp), + screen_line(row + W_WINROW(wp), wp->w_wincol, (int)W_WIDTH(wp), (int)W_WIDTH(wp), FALSE); /* @@ -4016,7 +4016,7 @@ win_line( #endif ) { - screen_line(screen_row, W_WINCOL(wp), col, -(int)W_WIDTH(wp), + screen_line(screen_row, wp->w_wincol, col, -(int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl)); /* Pretend we have finished updating the window. Except when * 'cursorcolumn' is set. */ @@ -5488,7 +5488,7 @@ win_line( } #endif - screen_line(screen_row, W_WINCOL(wp), col, + screen_line(screen_row, wp->w_wincol, col, (int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl)); row++; @@ -5794,11 +5794,11 @@ win_line( ) { #ifdef FEAT_CONCEAL - screen_line(screen_row, W_WINCOL(wp), col - boguscols, + screen_line(screen_row, wp->w_wincol, col - boguscols, (int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl)); boguscols = 0; #else - screen_line(screen_row, W_WINCOL(wp), col, + screen_line(screen_row, wp->w_wincol, col, (int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl)); #endif ++row; @@ -6931,14 +6931,14 @@ win_redr_status(win_T *wp) } row = W_WINROW(wp) + wp->w_height; - screen_puts(p, row, W_WINCOL(wp), attr); - screen_fill(row, row + 1, len + W_WINCOL(wp), - this_ru_col + W_WINCOL(wp), fillchar, fillchar, attr); + screen_puts(p, row, wp->w_wincol, attr); + screen_fill(row, row + 1, len + wp->w_wincol, + this_ru_col + wp->w_wincol, fillchar, fillchar, attr); if (get_keymap_str(wp, (char_u *)"<%s>", NameBuff, MAXPATHL) && (int)(this_ru_col - len) > (int)(STRLEN(NameBuff) + 1)) screen_puts(NameBuff, row, (int)(this_ru_col - STRLEN(NameBuff) - - 1 + W_WINCOL(wp)), attr); + - 1 + wp->w_wincol), attr); #ifdef FEAT_CMDL_INFO win_redr_ruler(wp, TRUE); @@ -7167,7 +7167,7 @@ win_redr_custom( # endif } - col += W_WINCOL(wp); + col += wp->w_wincol; } if (maxwidth <= 0) @@ -9418,7 +9418,7 @@ setcursor(void) { validate_cursor(); windgoto(W_WINROW(curwin) + curwin->w_wrow, - W_WINCOL(curwin) + ( + curwin->w_wincol + ( #ifdef FEAT_RIGHTLEFT /* With 'rightleft' set and the cursor on a double-wide * character, position it on the leftmost column. */ @@ -9495,7 +9495,7 @@ win_ins_lines( if (lastrow > Rows) lastrow = Rows; screen_fill(nextrow - line_count, lastrow - line_count, - W_WINCOL(wp), (int)W_ENDCOL(wp), + wp->w_wincol, (int)W_ENDCOL(wp), ' ', ' ', 0); } @@ -9606,7 +9606,7 @@ win_do_lines( if (row + line_count >= wp->w_height) { screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + wp->w_height, - W_WINCOL(wp), (int)W_ENDCOL(wp), + wp->w_wincol, (int)W_ENDCOL(wp), ' ', ' ', 0); return OK; } @@ -10768,7 +10768,7 @@ redraw_win_toolbar(win_T *wp) } wp->w_winbar_items[item_idx].wb_menu = NULL; /* end marker */ - screen_line(wp->w_winrow, W_WINCOL(wp), (int)W_WIDTH(wp), + screen_line(wp->w_winrow, wp->w_wincol, (int)W_WIDTH(wp), (int)W_WIDTH(wp), FALSE); } #endif @@ -10900,7 +10900,7 @@ win_redr_ruler(win_T *wp, int always) { row = W_WINROW(wp) + wp->w_height; fillchar = fillchar_status(&attr, wp); - off = W_WINCOL(wp); + off = wp->w_wincol; width = W_WIDTH(wp); } else diff --git a/src/structs.h b/src/structs.h --- a/src/structs.h +++ b/src/structs.h @@ -2700,8 +2700,7 @@ struct window_S int w_height; /* number of rows in window, excluding status/command/winbar line(s) */ int w_status_height; /* number of status lines (0 or 1) */ - int w_wincol; /* Leftmost column of window in screen. - use W_WINCOL() */ + int w_wincol; /* Leftmost column of window in screen. */ int w_width; /* Width of window, excluding separation. use W_WIDTH() */ int w_vsep_width; /* Number of separator columns (0 or 1). diff --git a/src/term.c b/src/term.c --- a/src/term.c +++ b/src/term.c @@ -3816,8 +3816,8 @@ scroll_region_set(win_T *wp, int off) OUT_STR(tgoto((char *)T_CS, W_WINROW(wp) + wp->w_height - 1, W_WINROW(wp) + off)); if (*T_CSV != NUL && wp->w_width != Columns) - OUT_STR(tgoto((char *)T_CSV, W_WINCOL(wp) + wp->w_width - 1, - W_WINCOL(wp))); + OUT_STR(tgoto((char *)T_CSV, wp->w_wincol + wp->w_width - 1, + wp->w_wincol)); screen_start(); /* don't know where cursor is now */ } diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -730,7 +730,7 @@ term_send_mouse(VTerm *vterm, int button VTermModifier mod = VTERM_MOD_NONE; vterm_mouse_move(vterm, mouse_row - W_WINROW(curwin), - mouse_col - W_WINCOL(curwin), mod); + mouse_col - curwin->w_wincol, mod); vterm_mouse_button(vterm, button, pressed, mod); return TRUE; } @@ -1308,7 +1308,7 @@ send_keys_to_term(term_T *term, int c, i case K_MOUSERIGHT: if (mouse_row < W_WINROW(curwin) || mouse_row >= (W_WINROW(curwin) + curwin->w_height) - || mouse_col < W_WINCOL(curwin) + || mouse_col < curwin->w_wincol || mouse_col >= W_ENDCOL(curwin) || dragging_outside) { diff --git a/src/ui.c b/src/ui.c --- a/src/ui.c +++ b/src/ui.c @@ -2845,7 +2845,7 @@ retnomove: #endif row -= W_WINROW(curwin); - col -= W_WINCOL(curwin); + col -= curwin->w_wincol; /* * When clicking beyond the end of the window, scroll the screen. diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -762,6 +762,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1135, +/**/ 1134, /**/ 1133, diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -859,7 +859,6 @@ extern int (*dyn_libintl_putenv)(const c #define FINDFILE_DIR 1 /* only directories */ #define FINDFILE_BOTH 2 /* files and directories */ -#define W_WINCOL(wp) (wp->w_wincol) #define W_WIDTH(wp) (wp->w_width) #define W_ENDCOL(wp) (wp->w_wincol + wp->w_width) #define W_VSEP_WIDTH(wp) (wp->w_vsep_width) diff --git a/src/window.c b/src/window.c --- a/src/window.c +++ b/src/window.c @@ -2724,7 +2724,7 @@ winframe_remove( if (frp2 == frp_close->fr_next) { int row = win->w_winrow; - int col = W_WINCOL(win); + int col = win->w_wincol; frame_comp_pos(frp2, &row, &col); }