patch 9.1.0803: tests: no error check when setting global 'isk'
Problem: tests: no error check when setting global 'isk'
Solution: also parse and check global 'isk' value (Milly)
closes: #15915
Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/optionstr.c b/src/optionstr.c
index 50adc48..2049633 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -2775,13 +2775,32 @@
#endif
/*
+ * The 'iskeyword' option is changed.
+ */
+ char *
+did_set_iskeyword(optset_T *args)
+{
+ char_u **varp = (char_u **)args->os_varp;
+
+ if (varp == &p_isk) // only check for global-value
+ {
+ if (check_isopt(*varp) == FAIL)
+ return e_invalid_argument;
+ }
+ else // fallthrough for local-value
+ return did_set_isopt(args);
+
+ return NULL;
+}
+
+/*
* The 'isident' or the 'iskeyword' or the 'isprint' or the 'isfname' option is
* changed.
*/
char *
did_set_isopt(optset_T *args)
{
- // 'isident', 'iskeyword', 'isprint or 'isfname' option: refill g_chartab[]
+ // 'isident', 'iskeyword', 'isprint' or 'isfname' option: refill g_chartab[]
// If the new option is invalid, use old value.
// 'lisp' option: refill g_chartab[] for '-' char.
if (init_chartab() == FAIL)