diff --git a/src/message.c b/src/message.c index 715c7beb5a1db..ec128bd42518d 100644 --- a/src/message.c +++ b/src/message.c @@ -531,6 +531,7 @@ msg_source(int attr) return; recursive = TRUE; + msg_scroll = TRUE; // this will take more than one line ++no_wait_return; p = get_emsg_source(); if (p != NULL) @@ -746,7 +747,6 @@ emsg_core(char_u *s) } emsg_on_display = TRUE; // remember there is an error message - ++msg_scroll; // don't overwrite a previous message attr = HL_ATTR(HLF_E); // set highlight mode for error messages if (msg_scrolled != 0) need_wait_return = TRUE; // needed in case emsg() is called after @@ -759,6 +759,7 @@ emsg_core(char_u *s) #endif /* * Display name and line number for the source of the error. + * Sets "msg_scroll". */ msg_source(attr); diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim index ba08dd7968c32..e303212793795 100644 --- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -934,11 +934,16 @@ func Test_rightleftcmd() set rightleft& endfunc -" Test for the "debug" option +" Test for the 'debug' option func Test_debug_option() + " redraw to avoid matching previous messages + redraw set debug=beep exe "normal \" call assert_equal('Beep!', Screenline(&lines)) + call assert_equal('line 4:', Screenline(&lines - 1)) + " only match the final colon in the line that shows the source + call assert_match(':$', Screenline(&lines - 2)) set debug& endfunc diff --git a/src/version.c b/src/version.c index e13374f9aa10f..1ef5b39e97b5f 100644 --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 207, /**/ 206, /**/