'scrollback': Allow :setlocal -1 on normal buffers

Avoids a spurious :loadview error.
This commit is contained in:
Justin M. Keyes 2017-04-20 12:32:14 +02:00
parent a6f50c1120
commit 17052946c7
2 changed files with 8 additions and 1 deletions

View File

@ -4223,7 +4223,7 @@ static char *set_num_option(int opt_idx, char_u *varp, long value,
} else if (pp == &curbuf->b_p_scbk || pp == &p_scbk) {
// 'scrollback'
if (*pp < -1 || *pp > SB_MAX
|| (opt_flags == OPT_LOCAL && !curbuf->terminal)) {
|| (*pp != -1 && opt_flags == OPT_LOCAL && !curbuf->terminal)) {
errmsg = e_invarg;
*pp = old_value;
} else if (curbuf->terminal) {

View File

@ -451,6 +451,13 @@ describe("'scrollback' option", function()
it(':setlocal in a normal buffer is an error', function()
command('new')
-- :setlocal to -1 is NOT an error.
feed_command('setlocal scrollback=-1')
eq(nil, string.match(eval("v:errmsg"), "E%d*:"))
feed('<CR>')
-- :setlocal to anything except -1 is an error.
feed_command('setlocal scrollback=42')
feed('<CR>')
eq('E474:', string.match(eval("v:errmsg"), "E%d*:"))