# HG changeset patch # User Bram Moolenaar # Date 1559595606 -7200 # Node ID 21cddcc6fbe8442c3bfae70e4e63664684722f5b # Parent 08636baae49fe34606d219c15049d69adedc2747 patch 8.1.1460: popup window border characters may be wrong commit https://github.com/vim/vim/commit/02e15072be08ef4ae03d673fc95ed6234e749e1c Author: Bram Moolenaar Date: Mon Jun 3 22:53:30 2019 +0200 patch 8.1.1460: popup window border characters may be wrong Problem: Popup window border characters may be wrong. Solution: Reset the border characters for each popup. Correct use of 'ambiwidth'. diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -1041,7 +1041,7 @@ update_popups(void) int total_height; int popup_attr; int border_attr[4]; - int border_char[8] = {'-', '|', '-', '|', '+', '+', '+', '+', }; + int border_char[8]; char_u buf[MB_MAXBYTES]; int row; int i; @@ -1080,7 +1080,7 @@ update_popups(void) // We can only use these line drawing characters when 'encoding' is // "utf-8" and 'ambiwidth' is "single". - if (enc_utf8 && p_ambw == 's') + if (enc_utf8 && *p_ambw == 's') { border_char[0] = border_char[2] = 0x2550; border_char[1] = border_char[3] = 0x2551; @@ -1089,6 +1089,13 @@ update_popups(void) border_char[6] = 0x255d; border_char[7] = 0x255a; } + else + { + border_char[0] = border_char[2] = '-'; + border_char[1] = border_char[3] = '|'; + for (i = 4; i < 8; ++i) + border_char[i] = '+'; + } for (i = 0; i < 8; ++i) if (wp->w_border_char[i] != 0) border_char[i] = wp->w_border_char[i]; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1460, +/**/ 1459, /**/ 1458,