mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
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.
This commit is contained in:
@@ -6934,13 +6934,10 @@ fix_help_buffer(void)
|
|||||||
&& fcount > 0)
|
&& fcount > 0)
|
||||||
{
|
{
|
||||||
#ifdef FEAT_MULTI_LANG
|
#ifdef FEAT_MULTI_LANG
|
||||||
int i1;
|
int i1, i2;
|
||||||
int i2;
|
char_u *f1, *f2;
|
||||||
char_u *f1;
|
char_u *t1, *t2;
|
||||||
char_u *f2;
|
char_u *e1, *e2;
|
||||||
char_u *t1;
|
|
||||||
char_u *e1;
|
|
||||||
char_u *e2;
|
|
||||||
|
|
||||||
/* If foo.abx is found use it instead of foo.txt in
|
/* If foo.abx is found use it instead of foo.txt in
|
||||||
* the same directory. */
|
* the same directory. */
|
||||||
@@ -6955,10 +6952,9 @@ fix_help_buffer(void)
|
|||||||
f1 = fnames[i1];
|
f1 = fnames[i1];
|
||||||
f2 = fnames[i2];
|
f2 = fnames[i2];
|
||||||
t1 = gettail(f1);
|
t1 = gettail(f1);
|
||||||
if (fnamencmp(f1, f2, t1 - f1) != 0)
|
t2 = gettail(f2);
|
||||||
continue;
|
|
||||||
e1 = vim_strrchr(t1, '.');
|
e1 = vim_strrchr(t1, '.');
|
||||||
e2 = vim_strrchr(gettail(f2), '.');
|
e2 = vim_strrchr(t2, '.');
|
||||||
if (e1 == NULL || e2 == NULL)
|
if (e1 == NULL || e2 == NULL)
|
||||||
continue;
|
continue;
|
||||||
if (fnamecmp(e1, ".txt") != 0
|
if (fnamecmp(e1, ".txt") != 0
|
||||||
@@ -6969,7 +6965,8 @@ fix_help_buffer(void)
|
|||||||
fnames[i1] = NULL;
|
fnames[i1] = NULL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (fnamencmp(f1, f2, e1 - f1) != 0)
|
if (e1 - f1 != e2 - f2
|
||||||
|
|| fnamencmp(f1, f2, e1 - f1) != 0)
|
||||||
continue;
|
continue;
|
||||||
if (fnamecmp(e1, ".txt") == 0
|
if (fnamecmp(e1, ".txt") == 0
|
||||||
&& fnamecmp(e2, fname + 4) == 0)
|
&& fnamecmp(e2, fname + 4) == 0)
|
||||||
|
@@ -30,3 +30,22 @@ func Test_help_keyword()
|
|||||||
close
|
close
|
||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
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
|
||||||
|
@@ -771,6 +771,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1383,
|
||||||
/**/
|
/**/
|
||||||
1382,
|
1382,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user