# HG changeset patch # User Bram Moolenaar # Date 1665225006 -7200 # Node ID e1fbb6571b58485fc1b88adcf1c0971b6fe6ef96 # Parent e81606c178f2c04f067f94690be266dd0859cce0 patch 9.0.0690: buffer size for expanding tab not correctly computed Commit: https://github.com/vim/vim/commit/a0789478f6ebbb823670b7e14ce13ea3fd3b0217 Author: Bram Moolenaar Date: Sat Oct 8 11:16:40 2022 +0100 patch 9.0.0690: buffer size for expanding tab not correctly computed Problem: Buffer size for expanding tab not correctly computed. Solution: Correctly use size of end character. diff --git a/src/drawline.c b/src/drawline.c --- a/src/drawline.c +++ b/src/drawline.c @@ -2805,9 +2805,10 @@ win_line( // If wlv.n_extra > 0, it gives the number of chars, to // use for a tab, else we need to calculate the width // for a tab. - len = (tab_len * mb_char2len(wp->w_lcs_chars.tab2)); + int tab2_len = mb_char2len(wp->w_lcs_chars.tab2); + len = tab_len * tab2_len; if (wp->w_lcs_chars.tab3) - len += mb_char2len(wp->w_lcs_chars.tab3); + len += mb_char2len(wp->w_lcs_chars.tab3) - tab2_len; if (wlv.n_extra > 0) len += wlv.n_extra - tab_len; c = wp->w_lcs_chars.tab1; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 690, +/**/ 689, /**/ 688,