vim-patch:8.2.3829: no error when setting a func option to script-local function

Problem:    No error when setting a func option to a script-local function.
Solution:   Give an error if the name starts with "s:". (closes vim/vim#9358)

94c785d235

Omit test: reverted in patch 8.2.3838.
Cherry-pick SCRIPT_ID_VALID from patch 8.2.1539.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq
2022-12-02 20:44:26 +08:00
parent a3f01d32cb
commit 1aad5af637
3 changed files with 7 additions and 0 deletions

View File

@@ -5157,6 +5157,10 @@ int option_set_callback_func(char *optval, Callback *optcb)
return OK;
}
if (strncmp(optval, "s:", 2) == 0 && !SCRIPT_ID_VALID(current_sctx.sc_sid)) {
return FAIL;
}
typval_T *tv;
if (*optval == '{'
|| (strncmp(optval, "function(", 9) == 0)