From 6be4cd6560d17573f9ef9910bae4360cf96d760f Mon Sep 17 00:00:00 2001 From: bfredl Date: Thu, 17 Sep 2026 11:58:37 +0200 Subject: refactor(charset)!: delete 'isprint' and cleanup 'iskeyword' and friends In the `enc=utf-8` only world, the 'isprint' option is quite obsolete. The function is only consulted for decoded U+0080 to U+00FF chars whose printability is defined by the unicode charset, just like higher codepoints. Meanwhile, invalid `\x80` to `\xFF` bytes are always unprintable. Disentangle 'iskeyword', 'isfname' and 'isident' from each other by giving them all separate bitsets. Now these can be updated individually. These updaters can back out of errors gracefully, no need for extra panic logic in option[str].c to restore partially updated chartabs. --- src/nvim/eval.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/nvim/eval.lua') diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 3e4e535970..b51aefcca7 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -12293,7 +12293,7 @@ M.funcs = { base = 1, desc = [=[ Translates all unprintable characters in {string} into - printable characters 'isprint', like they are shown in a + printable characters, like they are shown in a window. Example: >vim echo strtrans(@a)