Mercurial > vim
diff src/help.c @ 26927:e3f3108a780a v8.2.3992
patch 8.2.3992: wrong local-additions in the help with language mix
Commit: https://github.com/vim/vim/commit/0e2508d9e63e63414de2c06b3c8a446fdfe4470b
Author: h-east <h.east.727@gmail.com>
Date: Mon Jan 3 12:53:24 2022 +0000
patch 8.2.3992: wrong local-additions in the help with language mix
Problem: Wrong local-additions in the help with language mix.
Solution: Adjust how the local additions list is generated. (Hirohito
Higashi, closes #9464)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 03 Jan 2022 14:00:04 +0100 |
parents | 3631d2deb36c |
children | 61f686b38df9 |
line wrap: on
line diff
--- a/src/help.c +++ b/src/help.c @@ -818,32 +818,31 @@ fix_help_buffer(void) // the same directory. for (i1 = 0; i1 < fcount; ++i1) { - for (i2 = 0; i2 < fcount; ++i2) + f1 = fnames[i1]; + t1 = gettail(f1); + e1 = vim_strrchr(t1, '.'); + if (fnamecmp(e1, ".txt") != 0 + && fnamecmp(e1, fname + 4) != 0) { - if (i1 == i2) - continue; - if (fnames[i1] == NULL || fnames[i2] == NULL) + // Not .txt and not .abx, remove it. + VIM_CLEAR(fnames[i1]); + continue; + } + + for (i2 = i1 + 1; i2 < fcount; ++i2) + { + f2 = fnames[i2]; + if (f2 == NULL) continue; - f1 = fnames[i1]; - f2 = fnames[i2]; - t1 = gettail(f1); t2 = gettail(f2); - e1 = vim_strrchr(t1, '.'); e2 = vim_strrchr(t2, '.'); if (e1 == NULL || e2 == NULL) continue; - if (fnamecmp(e1, ".txt") != 0 - && fnamecmp(e1, fname + 4) != 0) - { - // Not .txt and not .abx, remove it. - VIM_CLEAR(fnames[i1]); - continue; - } if (e1 - f1 != e2 - f2 || fnamencmp(f1, f2, e1 - f1) != 0) continue; if (fnamecmp(e1, ".txt") == 0 - && fnamecmp(e2, fname + 4) == 0) + && fnamecmp(e2, fname + 4) == 0) // use .abx instead of .txt VIM_CLEAR(fnames[i1]); }