Mercurial > vim
comparison src/popupwin.c @ 19605:5ad7a406647a v8.2.0359
patch 8.2.0359: popup_atcursor() may hang
Commit: https://github.com/vim/vim/commit/ba2920fe976b37326933afa820616523b509495f
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Mar 6 21:43:17 2020 +0100
patch 8.2.0359: popup_atcursor() may hang
Problem: popup_atcursor() may hang. (Yasuhiro Matsumoto)
Solution: Take the decoration into account. (closes https://github.com/vim/vim/issues/5728)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 06 Mar 2020 21:45:03 +0100 |
parents | 71d0c4f5fcd9 |
children | 804322d6c6ba |
comparison
equal
deleted
inserted
replaced
19604:5ca07850fef0 | 19605:5ad7a406647a |
---|---|
1230 center_hor = TRUE; | 1230 center_hor = TRUE; |
1231 else if (wantcol > 0 && (wp->w_popup_pos == POPPOS_TOPLEFT | 1231 else if (wantcol > 0 && (wp->w_popup_pos == POPPOS_TOPLEFT |
1232 || wp->w_popup_pos == POPPOS_BOTLEFT)) | 1232 || wp->w_popup_pos == POPPOS_BOTLEFT)) |
1233 { | 1233 { |
1234 wp->w_wincol = wantcol - 1; | 1234 wp->w_wincol = wantcol - 1; |
1235 if (wp->w_wincol >= Columns - 1) | 1235 // Need to see at least one character after the decoration. |
1236 wp->w_wincol = Columns - 1; | 1236 if (wp->w_wincol > Columns - left_extra - 1) |
1237 wp->w_wincol = Columns - left_extra - 1; | |
1237 } | 1238 } |
1238 } | 1239 } |
1239 | 1240 |
1240 // When centering or right aligned, use maximum width. | 1241 // When centering or right aligned, use maximum width. |
1241 // When left aligned use the space available, but shift to the left when we | 1242 // When left aligned use the space available, but shift to the left when we |