Skip to content

Commit

Permalink
patch 8.1.1614: 'numberwidth' can only go up to 10
Browse files Browse the repository at this point in the history
Problem:    'numberwidth' can only go up to 10.
Solution:   Allow up to 20. (Charlie Stanton, closes #4584)
  • Loading branch information
brammool committed Jul 1, 2019
1 parent a83e700 commit f8a0712
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 32 deletions.
6 changes: 3 additions & 3 deletions runtime/doc/options.txt
@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.1. Last change: 2019 Jun 22
*options.txt* For Vim version 8.1. Last change: 2019 Jun 27


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -5385,7 +5385,7 @@ A jump table for the options with a short description can be found at |Q_op|.
rows in the window, depending on whether 'number' or 'relativenumber'
is set. Thus with the Vim default of 4 there is room for a line number
up to 999. When the buffer has 1000 lines five columns will be used.
The minimum value is 1, the maximum value is 10.
The minimum value is 1, the maximum value is 20.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.

Expand Down Expand Up @@ -8070,7 +8070,7 @@ A jump table for the options with a short description can be found at |Q_op|.
already.
Additionally, if vim is compiled with the |+termresponse| feature and
|t_RV| is set to the escape sequence to request the xterm version
number, more intelligent detection process runs.
number, more intelligent detection is done.
The "xterm2" value will be set if the xterm version is reported to be
from 95 to 276. The "sgr" value will be set if Vim detects Mac
Terminal.app, iTerm2 or mintty, and when the xterm version is 277 or
Expand Down
4 changes: 2 additions & 2 deletions src/option.c
Expand Up @@ -9493,10 +9493,10 @@ set_num_option(
errmsg = e_positive;
curwin->w_p_nuw = 1;
}
if (curwin->w_p_nuw > 10)
if (curwin->w_p_nuw > 20)
{
errmsg = e_invarg;
curwin->w_p_nuw = 10;
curwin->w_p_nuw = 20;
}
curwin->w_nrwidth_line_count = 0; /* trigger a redraw */
}
Expand Down
50 changes: 25 additions & 25 deletions src/screen.c
Expand Up @@ -3149,32 +3149,32 @@ win_line(
int nochange UNUSED, // not updating for changed text
int number_only) // only update the number column
{
int col = 0; /* visual column on screen */
unsigned off; /* offset in ScreenLines/ScreenAttrs */
int c = 0; /* init for GCC */
long vcol = 0; /* virtual column (for tabs) */
int col = 0; // visual column on screen
unsigned off; // offset in ScreenLines/ScreenAttrs
int c = 0; // init for GCC
long vcol = 0; // virtual column (for tabs)
#ifdef FEAT_LINEBREAK
long vcol_sbr = -1; /* virtual column after showbreak */
#endif
long vcol_prev = -1; /* "vcol" of previous character */
char_u *line; /* current line */
char_u *ptr; /* current position in "line" */
int row; /* row in the window, excl w_winrow */
int screen_row; /* row on the screen, incl w_winrow */

char_u extra[20]; /* "%ld" and 'fdc' must fit in here */
int n_extra = 0; /* number of extra chars */
char_u *p_extra = NULL; /* string of extra chars, plus NUL */
char_u *p_extra_free = NULL; /* p_extra needs to be freed */
int c_extra = NUL; /* extra chars, all the same */
int c_final = NUL; /* final char, mandatory if set */
int extra_attr = 0; /* attributes when n_extra != 0 */
static char_u *at_end_str = (char_u *)""; /* used for p_extra when
displaying lcs_eol at end-of-line */
int lcs_eol_one = lcs_eol; /* lcs_eol until it's been used */
int lcs_prec_todo = lcs_prec; /* lcs_prec until it's been used */

/* saved "extra" items for when draw_state becomes WL_LINE (again) */
long vcol_sbr = -1; // virtual column after showbreak
#endif
long vcol_prev = -1; // "vcol" of previous character
char_u *line; // current line
char_u *ptr; // current position in "line"
int row; // row in the window, excl w_winrow
int screen_row; // row on the screen, incl w_winrow

char_u extra[21]; // "%ld " and 'fdc' must fit in here
int n_extra = 0; // number of extra chars
char_u *p_extra = NULL; // string of extra chars, plus NUL
char_u *p_extra_free = NULL; // p_extra needs to be freed
int c_extra = NUL; // extra chars, all the same
int c_final = NUL; // final char, mandatory if set
int extra_attr = 0; // attributes when n_extra != 0
static char_u *at_end_str = (char_u *)""; // used for p_extra when
// displaying lcs_eol at end-of-line
int lcs_eol_one = lcs_eol; // lcs_eol until it's been used
int lcs_prec_todo = lcs_prec; // lcs_prec until it's been used

// saved "extra" items for when draw_state becomes WL_LINE (again)
int saved_n_extra = 0;
char_u *saved_p_extra = NULL;
int saved_c_extra = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/testdir/gen_opt_test.vim
Expand Up @@ -37,7 +37,7 @@ let test_values = {
\ 'imstyle': [[0, 1], [-1, 2, 999]],
\ 'lines': [[2, 24], [-1, 0, 1]],
\ 'linespace': [[0, 2, 4], ['']],
\ 'numberwidth': [[1, 4, 8, 10], [-1, 0, 11]],
\ 'numberwidth': [[1, 4, 8, 10, 11, 20], [-1, 0, 21]],
\ 'regexpengine': [[0, 1, 2], [-1, 3, 999]],
\ 'report': [[0, 1, 2, 9999], [-1]],
\ 'scroll': [[0, 1, 2, 20], [-1]],
Expand Down
2 changes: 1 addition & 1 deletion src/testdir/test_options.vim
Expand Up @@ -245,7 +245,7 @@ func Test_set_errors()
call assert_fails('set backupcopy=', 'E474:')
call assert_fails('set regexpengine=3', 'E474:')
call assert_fails('set history=10001', 'E474:')
call assert_fails('set numberwidth=11', 'E474:')
call assert_fails('set numberwidth=21', 'E474:')
call assert_fails('set colorcolumn=-a')
call assert_fails('set colorcolumn=a')
call assert_fails('set colorcolumn=1,')
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -777,6 +777,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1614,
/**/
1613,
/**/
Expand Down

0 comments on commit f8a0712

Please sign in to comment.