aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2023-04-26 18:08:55 +0200
committerLuuk van Baal <luukvbaal@gmail.com>2023-05-02 13:11:46 +0200
commit7dc2c087e7c2071166772dc6b167c802612112fe (patch)
tree18905ba6aa6a5b49d4731cb1b86b367896f2c269
parentd95697d6d4533e84bbb9d262b355ee9f71bd7452 (diff)
downloadrneovim-7dc2c087e7c2071166772dc6b167c802612112fe.tar.gz
rneovim-7dc2c087e7c2071166772dc6b167c802612112fe.tar.bz2
rneovim-7dc2c087e7c2071166772dc6b167c802612112fe.zip
vim-patch:9.0.0677: breakindent test accepts wrong result
Problem: Breakindent test accepts wrong result. Solution: Fix the number column and adjust the expected text. https://github.com/vim/vim/commit/06618f94f1c9ed73a84ad5d6a8e1933b0b8da846 Co-authored-by: Bram Moolenaar <Bram@vim.org>
-rw-r--r--src/nvim/drawline.c6
-rw-r--r--test/old/testdir/test_breakindent.vim28
2 files changed, 16 insertions, 18 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c
index 35038f4717..c9cd08fedd 100644
--- a/src/nvim/drawline.c
+++ b/src/nvim/drawline.c
@@ -596,8 +596,7 @@ static void handle_lnum_col(win_T *wp, winlinevars_T *wlv, int num_signs, int si
int sign_num_attr, int sign_cul_attr)
{
if ((wp->w_p_nu || wp->w_p_rnu)
- && ((wlv->row == wlv->startrow + wlv->filler_lines
- && (wp->w_skipcol == 0 || wlv->row > wp->w_winrow))
+ && (wlv->row == wlv->startrow + wlv->filler_lines
|| vim_strchr(p_cpo, CPO_NUMCOL) == NULL)) {
// If 'signcolumn' is set to 'number' and a sign is present
// in "lnum", then display the sign instead of the line
@@ -606,7 +605,8 @@ static void handle_lnum_col(win_T *wp, winlinevars_T *wlv, int num_signs, int si
get_sign_display_info(true, wp, wlv, sign_idx, sign_cul_attr);
} else {
// Draw the line number (empty space after wrapping).
- if (wlv->row == wlv->startrow + wlv->filler_lines) {
+ if (wlv->row == wlv->startrow + wlv->filler_lines
+ && (wp->w_skipcol == 0 || wlv->row > wp->w_winrow)) {
get_line_number_str(wp, wlv->lnum, wlv->extra, sizeof(wlv->extra));
if (wp->w_skipcol > 0 && wlv->startrow == 0) {
for (wlv->p_extra = wlv->extra; *wlv->p_extra == ' '; wlv->p_extra++) {
diff --git a/test/old/testdir/test_breakindent.vim b/test/old/testdir/test_breakindent.vim
index de25f9b787..9cc398f64a 100644
--- a/test/old/testdir/test_breakindent.vim
+++ b/test/old/testdir/test_breakindent.vim
@@ -711,14 +711,14 @@ endfunc
func Test_breakindent20_cpo_n_nextpage()
let s:input = ""
call s:test_windows('setl breakindent briopt=min:14 cpo+=n number')
- call setline(1, repeat('a', 200))
+ call setline(1, repeat('abcdefghijklmnopqrst', 10))
norm! 1gg
redraw!
let lines = s:screen_lines(1, 20)
let expect = [
- \ " 1 aaaaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaaaa",
+ \ " 1 abcdefghijklmnop",
+ \ " qrstabcdefghijkl",
+ \ " mnopqrstabcdefgh",
\ ]
call s:compare_lines(expect, lines)
" Scroll down one screen line
@@ -726,11 +726,10 @@ func Test_breakindent20_cpo_n_nextpage()
norm! 5gj
redraw!
let lines = s:screen_lines(1, 20)
- " FIXME: this is not the right result
let expect = [
- \ "<<<aaaaaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaaaa",
+ \ "<<< qrstabcdefghijkl",
+ \ " mnopqrstabcdefgh",
+ \ " ijklmnopqrstabcd",
\ ]
call s:compare_lines(expect, lines)
@@ -738,19 +737,18 @@ func Test_breakindent20_cpo_n_nextpage()
norm! 1gg
let lines = s:screen_lines(1, 20)
let expect = [
- \ " 1 aaaaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaa",
+ \ " 1 abcdefghijklmnop",
+ \ " qrstabcdefghij",
+ \ " klmnopqrstabcd",
\ ]
call s:compare_lines(expect, lines)
" Scroll down one screen line
norm! 5gj
let lines = s:screen_lines(1, 20)
-+ " FIXME: this is not the right result
let expect = [
- \ "<<<aaaaaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaa",
- \ " aaaaaaaaaaaaaa",
+ \ "<<< qrstabcdefghij",
+ \ " klmnopqrstabcd",
+ \ " efghijklmnopqr",
\ ]
call s:compare_lines(expect, lines)