patch 8.0.1383: local additions in help skips some files
Problem: Local additions in help skips some files. (joshklod)
Solution: Check the base file name length equals.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index cd8b0c3..91f5124 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -6934,13 +6934,10 @@
&& fcount > 0)
{
#ifdef FEAT_MULTI_LANG
- int i1;
- int i2;
- char_u *f1;
- char_u *f2;
- char_u *t1;
- char_u *e1;
- char_u *e2;
+ int i1, i2;
+ char_u *f1, *f2;
+ char_u *t1, *t2;
+ char_u *e1, *e2;
/* If foo.abx is found use it instead of foo.txt in
* the same directory. */
@@ -6955,10 +6952,9 @@
f1 = fnames[i1];
f2 = fnames[i2];
t1 = gettail(f1);
- if (fnamencmp(f1, f2, t1 - f1) != 0)
- continue;
+ t2 = gettail(f2);
e1 = vim_strrchr(t1, '.');
- e2 = vim_strrchr(gettail(f2), '.');
+ e2 = vim_strrchr(t2, '.');
if (e1 == NULL || e2 == NULL)
continue;
if (fnamecmp(e1, ".txt") != 0
@@ -6969,7 +6965,8 @@
fnames[i1] = NULL;
continue;
}
- if (fnamencmp(f1, f2, e1 - f1) != 0)
+ if (e1 - f1 != e2 - f2
+ || fnamencmp(f1, f2, e1 - f1) != 0)
continue;
if (fnamecmp(e1, ".txt") == 0
&& fnamecmp(e2, fname + 4) == 0)
diff --git a/src/testdir/test_help.vim b/src/testdir/test_help.vim
index 85c1296..c550ff0 100644
--- a/src/testdir/test_help.vim
+++ b/src/testdir/test_help.vim
@@ -30,3 +30,22 @@
close
bwipe!
endfunc
+
+func Test_help_local_additions()
+ call mkdir('Xruntime/doc', 'p')
+ call writefile(['*mydoc.txt* my awesome doc'], 'Xruntime/doc/mydoc.txt')
+ call writefile(['*mydoc-ext.txt* my extended awesome doc'], 'Xruntime/doc/mydoc-ext.txt')
+ let rtp_save = &rtp
+ set rtp+=./Xruntime
+ help
+ 1
+ call search('mydoc.txt')
+ call assert_equal('|mydoc.txt| my awesome doc', getline('.'))
+ 1
+ call search('mydoc-ext.txt')
+ call assert_equal('|mydoc-ext.txt| my extended awesome doc', getline('.'))
+ close
+
+ call delete('Xruntime', 'rf')
+ let &rtp = rtp_save
+endfunc
diff --git a/src/version.c b/src/version.c
index 3c24cf9..05b1a40 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1383,
+/**/
1382,
/**/
1381,