Mercurial > vim
comparison src/charset.c @ 29595:5233acfa06f1 v9.0.0138
patch 9.0.0138: not enough characters accepted for 'spellfile'
Commit: https://github.com/vim/vim/commit/bc49c5f48f89c2d6f4d88ee77f44a11d68293be3
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Aug 4 13:01:48 2022 +0100
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'.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 04 Aug 2022 14:15:29 +0200 |
parents | 32aee589fc9a |
children | f2d7f20d83c3 |
comparison
equal
deleted
inserted
replaced
29594:6eea3c60c85c | 29595:5233acfa06f1 |
---|---|
223 + ((dy_flags & DY_UHEX) ? 4 : 2); | 223 + ((dy_flags & DY_UHEX) ? 4 : 2); |
224 g_chartab[c] &= ~CT_PRINT_CHAR; | 224 g_chartab[c] &= ~CT_PRINT_CHAR; |
225 } | 225 } |
226 else | 226 else |
227 { | 227 { |
228 g_chartab[c] = (g_chartab[c] & ~CT_CELL_MASK) + 1; | 228 g_chartab[c] = (g_chartab[c] & ~CT_CELL_MASK) |
229 + 1; | |
229 g_chartab[c] |= CT_PRINT_CHAR; | 230 g_chartab[c] |= CT_PRINT_CHAR; |
230 } | 231 } |
231 } | 232 } |
232 } | 233 } |
233 else if (i == 2) // (re)set fname flag | 234 else if (i == 2) // (re)set fname flag |
844 c = (*mb_ptr2char)(p); | 845 c = (*mb_ptr2char)(p); |
845 return vim_iswordc_buf(c, buf); | 846 return vim_iswordc_buf(c, buf); |
846 } | 847 } |
847 | 848 |
848 /* | 849 /* |
849 * return TRUE if 'c' is a valid file-name character | 850 * Return TRUE if 'c' is a valid file-name character as specified with the |
851 * 'isfname' option. | |
850 * Assume characters above 0x100 are valid (multi-byte). | 852 * Assume characters above 0x100 are valid (multi-byte). |
853 * To be used for commands like "gf". | |
851 */ | 854 */ |
852 int | 855 int |
853 vim_isfilec(int c) | 856 vim_isfilec(int c) |
854 { | 857 { |
855 return (c >= 0x100 || (c > 0 && (g_chartab[c] & CT_FNAME_CHAR))); | 858 return (c >= 0x100 || (c > 0 && (g_chartab[c] & CT_FNAME_CHAR))); |
859 } | |
860 | |
861 /* | |
862 * Return TRUE if 'c' is a valid file-name character, including characters left | |
863 * out of 'isfname' to make "gf" work, such as comma, space, '@', etc. | |
864 */ | |
865 int | |
866 vim_is_fname_char(int c) | |
867 { | |
868 return vim_isfilec(c) || c == ',' || c == ' ' || c == '@'; | |
856 } | 869 } |
857 | 870 |
858 /* | 871 /* |
859 * return TRUE if 'c' is a valid file-name character or a wildcard character | 872 * return TRUE if 'c' is a valid file-name character or a wildcard character |
860 * Assume characters above 0x100 are valid (multi-byte). | 873 * Assume characters above 0x100 are valid (multi-byte). |