Mercurial > vim
diff src/drawline.c @ 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 | 78418bd45852 |
children | e80174903fdf |
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);