summaryrefslogtreecommitdiff
path: root/src/help.c
diff options
context:
space:
mode:
authorh-east <h.east.727@gmail.com>2022-01-03 12:53:24 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-03 12:53:24 +0000
commit0e2508d9e63e63414de2c06b3c8a446fdfe4470b (patch)
treee429f5bb4d48a429b9746738eb026d5924b95401 /src/help.c
parent114dbda7858df956161c0adba5d4d8279645ff67 (diff)
downloadvim-git-0e2508d9e63e63414de2c06b3c8a446fdfe4470b.tar.gz
patch 8.2.3992: wrong local-additions in the help with language mixv8.2.3992
Problem: Wrong local-additions in the help with language mix. Solution: Adjust how the local additions list is generated. (Hirohito Higashi, closes #9464)
Diffstat (limited to 'src/help.c')
-rw-r--r--src/help.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/help.c b/src/help.c
index 77b22056a..a36b671ec 100644
--- 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)
+ {
+ // Not .txt and not .abx, remove it.
+ VIM_CLEAR(fnames[i1]);
+ continue;
+ }
+
+ for (i2 = i1 + 1; i2 < fcount; ++i2)
{
- if (i1 == i2)
- continue;
- if (fnames[i1] == NULL || fnames[i2] == NULL)
- continue;
- f1 = fnames[i1];
f2 = fnames[i2];
- t1 = gettail(f1);
+ if (f2 == NULL)
+ continue;
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]);
}