mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
patch 9.0.0028: MS-Windows: tests fail if there is a "runtime" directory
Problem: MS-Windows: tests fail if there is a stray "runtime" directory. Solution: Only use a "runtime" directory if it contains "defaults.vim".
This commit is contained in:
parent
2d29501982
commit
022f9ef16c
@ -774,6 +774,26 @@ shorten_dir(char_u *str)
|
|||||||
shorten_dir_len(str, 1);
|
shorten_dir_len(str, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return TRUE if "fname" is a readable file.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
file_is_readable(char_u *fname)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
#ifndef O_NONBLOCK
|
||||||
|
# define O_NONBLOCK 0
|
||||||
|
#endif
|
||||||
|
if (*fname && !mch_isdir(fname)
|
||||||
|
&& (fd = mch_open((char *)fname, O_RDONLY | O_NONBLOCK, 0)) >= 0)
|
||||||
|
{
|
||||||
|
close(fd);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -893,26 +913,6 @@ f_exepath(typval_T *argvars, typval_T *rettv)
|
|||||||
rettv->vval.v_string = p;
|
rettv->vval.v_string = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Return TRUE if "fname" is a readable file.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
file_is_readable(char_u *fname)
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
|
|
||||||
#ifndef O_NONBLOCK
|
|
||||||
# define O_NONBLOCK 0
|
|
||||||
#endif
|
|
||||||
if (*fname && !mch_isdir(fname)
|
|
||||||
&& (fd = mch_open((char *)fname, O_RDONLY | O_NONBLOCK, 0)) >= 0)
|
|
||||||
{
|
|
||||||
close(fd);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "filereadable()" function
|
* "filereadable()" function
|
||||||
*/
|
*/
|
||||||
|
16
src/misc1.c
16
src/misc1.c
@ -1655,7 +1655,21 @@ vim_version_dir(char_u *vimdir)
|
|||||||
vim_free(p);
|
vim_free(p);
|
||||||
p = concat_fnames(vimdir, (char_u *)RUNTIME_DIRNAME, TRUE);
|
p = concat_fnames(vimdir, (char_u *)RUNTIME_DIRNAME, TRUE);
|
||||||
if (p != NULL && mch_isdir(p))
|
if (p != NULL && mch_isdir(p))
|
||||||
return p;
|
{
|
||||||
|
char_u *fname = concat_fnames(p, (char_u *)"defaults.vim", TRUE);
|
||||||
|
|
||||||
|
// Check that "defaults.vim" exists in this directory, to avoid picking
|
||||||
|
// up a stray "runtime" directory, it would make many tests fail in
|
||||||
|
// mysterious ways.
|
||||||
|
if (fname != NULL)
|
||||||
|
{
|
||||||
|
int exists = file_is_readable(fname);
|
||||||
|
|
||||||
|
vim_free(fname);
|
||||||
|
if (exists)
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
}
|
||||||
vim_free(p);
|
vim_free(p);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -735,6 +735,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 */
|
||||||
|
/**/
|
||||||
|
28,
|
||||||
/**/
|
/**/
|
||||||
27,
|
27,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user