# HG changeset patch # User Bram Moolenaar # Date 1577725204 -3600 # Node ID 6fb11e7fb9cdcb4b16599a4298208fe4583c13fe # Parent 3aab88c148ef516913f67e61899f78fdf13e5cd3 patch 8.2.0060: message test only runs with one encoding Commit: https://github.com/vim/vim/commit/d0337e360e9f0b51a1a5627239d80a45dee8c3be Author: Bram Moolenaar Date: Mon Dec 30 17:55:34 2019 +0100 patch 8.2.0060: message test only runs with one encoding Problem: Message test only runs with one encoding. (Dominique Pelle) Solution: Run the test with "utf-8" and "latin1". Fix underflow. (related to #5410) diff --git a/src/message.c b/src/message.c --- a/src/message.c +++ b/src/message.c @@ -307,7 +307,8 @@ trunc_string( } else { - for (i = (int)STRLEN(s); len + (n = ptr2cells(s + i - 1)) <= room; --i) + for (i = (int)STRLEN(s); + i - 1 >= 0 && len + (n = ptr2cells(s + i - 1)) <= room; --i) len += n; } diff --git a/src/message_test.c b/src/message_test.c --- a/src/message_test.c +++ b/src/message_test.c @@ -100,8 +100,14 @@ main(int argc, char **argv) params.argc = argc; params.argv = argv; common_init(¶ms); + + set_option_value((char_u *)"encoding", 0, (char_u *)"utf-8", 0); init_chartab(); + test_trunc_string(); + set_option_value((char_u *)"encoding", 0, (char_u *)"latin1", 0); + init_chartab(); test_trunc_string(); + return 0; } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 60, +/**/ 59, /**/ 58,