mirror of
https://github.com/neovim/neovim.git
synced 2025-10-08 10:56:31 +00:00
vim-patch:9.0.0138: not enough characters accepted for 'spellfile'
Problem: Not enough characters accepted for 'spellfile'.
Solution: Add vim_is_fname_char() and use it for 'spellfile'.
bc49c5f48f
Cherry-pick related doc update from Vim runtime.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -858,8 +858,10 @@ bool vim_iswordp_buf(const char *const p, buf_T *const buf)
|
||||
return vim_iswordc_buf(c, buf);
|
||||
}
|
||||
|
||||
/// Check that "c" is a valid file-name character.
|
||||
/// Check that "c" is a valid file-name character as specified with the
|
||||
/// 'isfname' option.
|
||||
/// Assume characters above 0x100 are valid (multi-byte).
|
||||
/// To be used for commands like "gf".
|
||||
///
|
||||
/// @param c character to check
|
||||
bool vim_isfilec(int c)
|
||||
@@ -868,6 +870,14 @@ bool vim_isfilec(int c)
|
||||
return c >= 0x100 || (c > 0 && (g_chartab[c] & CT_FNAME_CHAR));
|
||||
}
|
||||
|
||||
/// Check if "c" is a valid file-name character, including characters left
|
||||
/// out of 'isfname' to make "gf" work, such as comma, space, '@', etc.
|
||||
bool vim_is_fname_char(int c)
|
||||
FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
|
||||
{
|
||||
return vim_isfilec(c) || c == ',' || c == ' ' || c == '@';
|
||||
}
|
||||
|
||||
/// Check that "c" is a valid file-name character or a wildcard character
|
||||
/// Assume characters above 0x100 are valid (multi-byte).
|
||||
/// Explicitly interpret ']' as a wildcard character as path_has_wildcard("]")
|
||||
|
@@ -3621,7 +3621,7 @@ bool valid_spellfile(const char *val)
|
||||
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
|
||||
{
|
||||
for (const char *s = val; *s != NUL; s++) {
|
||||
if (!vim_isfilec((uint8_t)(*s)) && *s != ',' && *s != ' ') {
|
||||
if (!vim_is_fname_char((uint8_t)(*s))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user