Mercurial > vim
changeset 29629:2f5610696bcd v9.0.0155
patch 9.0.0155 Problem: No test for what patch 9.0.0155 fixes. Solution: Add a test. Fix typos. (closes #10822)
Commit: https://github.com/vim/vim/commit/db9b96d84491131460e5876fe21b9bbc58c73ed7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 6 17:38:53 2022 +0100
patch 9.0.0155
Problem: No test for what patch 9.0.0155 fixes.
Solution: Add a test. Fix typos. (closes https://github.com/vim/vim/issues/10822)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 Aug 2022 18:45:03 +0200 |
parents | 0a8cb672c34c |
children | 2f9626fcda23 |
files | src/drawline.c src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump src/testdir/test_textprop.vim src/version.c |
diffstat | 5 files changed, 24 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/drawline.c +++ b/src/drawline.c @@ -293,16 +293,6 @@ text_prop_compare(const void *s1, const idx2 = *(int *)s2; tp1 = ¤t_text_props[idx1]; tp2 = ¤t_text_props[idx2]; - pt1 = text_prop_type_by_id(current_buf, tp1->tp_type); - pt2 = text_prop_type_by_id(current_buf, tp2->tp_type); - if (pt1 == pt2) - return 0; - if (pt1 == NULL) - return -1; - if (pt2 == NULL) - return 1; - if (pt1->pt_priority != pt2->pt_priority) - return pt1->pt_priority > pt2->pt_priority ? 1 : -1; col1 = tp1->tp_col; col2 = tp2->tp_col; if (col1 == MAXCOL && col2 == MAXCOL) @@ -322,6 +312,16 @@ text_prop_compare(const void *s1, const if (flags1 != flags2) return flags1 < flags2 ? 1 : -1; } + pt1 = text_prop_type_by_id(current_buf, tp1->tp_type); + pt2 = text_prop_type_by_id(current_buf, tp2->tp_type); + if (pt1 == pt2) + return 0; + if (pt1 == NULL) + return -1; + if (pt2 == NULL) + return 1; + if (pt1->pt_priority != pt2->pt_priority) + return pt1->pt_priority > pt2->pt_priority ? 1 : -1; return col1 == col2 ? 0 : col1 > col2 ? 1 : -1; } #endif @@ -1785,7 +1785,8 @@ win_line( // When 'wrap' is off then for "below" we need // to start a new line explictly. - if (!wp->w_p_wrap) + if (below && wlv.col > win_col_off(wp) + && !wp->w_p_wrap) { draw_screen_line(wp, &wlv);
--- a/src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump +++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump @@ -1,8 +1,10 @@ -|o+0&#ffffff0|n|e| @56 +|o+0&#ffffff0|n|e| +0&#ffd7ff255|A|f|t|e|r| |t|h|e| |t|e|x|t| +0&#ffffff0@31|r+0&#ffd7ff255|i|g|h|t| |h|e|r|e | +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43 |t|w|o| @56 |a+0&#ffff4012|n|o|t|h|e|r| +0&#ffffff0@52 |O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@46 |t|h|r|e>e| @54 |~+0#4040ff13&| @58 +|~| @58 +|~| @58 | +0#0000000&@41|3|,|5| @10|A|l@1|
--- a/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump +++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump @@ -1,8 +1,10 @@ -| +0#0000e05#a8a8a8255@4|o+0#0000000#ffffff0|n|e| @51 +| +0#0000e05#a8a8a8255@4|o+0#0000000#ffffff0|n|e| +0&#ffd7ff255|A|f|t|e|r| |t|h|e| |t|e|x|t| +0&#ffffff0@26|r+0&#ffd7ff255|i|g|h|t| |h|e|r|e | +0#0000e05#a8a8a8255@4| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@38 | +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|w|o| @51 | +0#0000e05#a8a8a8255@4|a+0#0000000#ffff4012|n|o|t|h|e|r| +0&#ffffff0@47 | +0#0000e05#a8a8a8255@4|O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@41 | +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|h|r|e>e| @49 |~+0#4040ff13&| @58 +|~| @58 +|~| @58 | +0#0000000&@41|3|,|5| @10|A|l@1|
--- a/src/testdir/test_textprop.vim +++ b/src/testdir/test_textprop.vim @@ -2434,13 +2434,16 @@ func Test_props_with_text_after_nowrap() call setline(1, ['one', 'two', 'three']) call prop_type_add('belowprop', #{highlight: 'ErrorMsg'}) call prop_type_add('anotherprop', #{highlight: 'Search'}) + call prop_type_add('someprop', #{highlight: 'DiffChange'}) call prop_add(1, 0, #{type: 'belowprop', text: ' Below the line ', text_align: 'below'}) call prop_add(2, 0, #{type: 'anotherprop', text: 'another', text_align: 'below'}) call prop_add(2, 0, #{type: 'belowprop', text: 'One More Here', text_align: 'below'}) + call prop_add(1, 0, #{type: 'someprop', text: 'right here', text_align: 'right'}) + call prop_add(1, 0, #{type: 'someprop', text: ' After the text', text_align: 'after'}) normal G$ END call writefile(lines, 'XscriptPropsAfterNowrap') - let buf = RunVimInTerminal('-S XscriptPropsAfterNowrap', #{rows: 8, cols: 60}) + let buf = RunVimInTerminal('-S XscriptPropsAfterNowrap', #{rows: 10, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_nowrap_1', {}) call term_sendkeys(buf, ":set signcolumn=yes foldcolumn=3\<CR>")