diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index 4ef1573494..ad50d271b6 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -224,12 +224,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]]) < If {msg} is empty then it is not used. Do this to get the default message when passing the {lnum} argument. - + *E1115* When {lnum} is present and not negative, and the {error} argument is present and matches, then this is compared with the line number at which the error was reported. That can be the line number in a function or in a script. - + *E1116* When {context} is present it is used as a pattern and matched against the context (script name or function name) where {lnum} is located in. @@ -8498,7 +8498,7 @@ test_garbagecollect_now() *test_garbagecollect_now()* Like |garbagecollect()|, but executed right away. This must only be called directly to avoid any structure to exist internally, and |v:testing| must have been set before calling - any function. + any function. *E1142* timer_info([{id}]) *timer_info()* Return a list with information about timers. diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index 09ae3b1ab1..131acd7fbb 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -646,7 +646,7 @@ list of the current window. Also see |++opt| and |+cmd|. :[count]arga[dd] {name} .. *:arga* *:argadd* *E479* -:[count]arga[dd] +:[count]arga[dd] *E1156* Add the {name}s to the argument list. When {name} is omitted add the current buffer name to the argument list. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index b6d16795d2..e0c45503cc 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -894,6 +894,9 @@ Example: > All expressions within one level are parsed from left to right. +Expression nesting is limited to 1000 levels deep (300 when build with MSVC) +to avoid running out of stack and crashing. *E1169* + ------------------------------------------------------------------------------ expr1 *expr1* *ternary* *falsy-operator* *??* *E109* @@ -2187,7 +2190,7 @@ text... :lockvar v :let v = 'asdf' " fails! :unlet v " works -< *E741* *E940* +< *E741* *E940* *E1122* If you try to change a locked variable you get an error message: "E741: Value is locked: {name}". If you try to lock or unlock a built-in variable you diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index afe64300e7..ac151811c2 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -690,6 +690,7 @@ Ex command or function was given an invalid argument. Or |jobstart()| or *E488* > Trailing characters + Trailing characters: {text} An argument was given to an Ex command that does not permit one. Or the argument has invalid characters and has not been recognized. @@ -756,7 +757,7 @@ src/ex_cmds.lua. Update the lookup table by re-running the build. > This is an (incomplete) overview of various messages that Vim gives: *hit-enter* *press-enter* *hit-return* - *press-return* *hit-enter-prompt* + *press-return* *hit-enter-prompt* > Press ENTER or type command to continue diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 18ca8ea948..c8d4bea5a8 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1299,6 +1299,14 @@ A jump table for the options with a short description can be found at |Q_op|. v:fname_in name of the input file v:fname_out name of the output file Note that v:fname_in and v:fname_out will never be the same. + + If the 'charconvert' expression starts with s: or ||, then it is + replaced with the script ID (|local-function|). Example: >vim + set charconvert=s:MyConvert() + set charconvert=SomeConvert() +< Otherwise the expression is evaluated in the context of the script + where the option was set, thus script-local items are available. + This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua index fffc561604..ebb6ee2329 100644 --- a/runtime/lua/vim/_meta/options.lua +++ b/runtime/lua/vim/_meta/options.lua @@ -785,6 +785,17 @@ vim.bo.channel = vim.o.channel --- v:fname_in name of the input file --- v:fname_out name of the output file --- Note that v:fname_in and v:fname_out will never be the same. +--- +--- If the 'charconvert' expression starts with s: or ``, then it is +--- replaced with the script ID (`local-function`). Example: +--- +--- ```vim +--- set charconvert=s:MyConvert() +--- set charconvert=SomeConvert() +--- ``` +--- Otherwise the expression is evaluated in the context of the script +--- where the option was set, thus script-local items are available. +--- --- This option cannot be set from a `modeline` or in the `sandbox`, for --- security reasons. --- diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua index 17cd6e3318..4ec6925134 100644 --- a/runtime/lua/vim/_meta/vimfn.lua +++ b/runtime/lua/vim/_meta/vimfn.lua @@ -268,12 +268,12 @@ function vim.fn.assert_exception(error, msg) end --- < --- If {msg} is empty then it is not used. Do this to get the --- default message when passing the {lnum} argument. ---- +--- *E1115* --- When {lnum} is present and not negative, and the {error} --- argument is present and matches, then this is compared with --- the line number at which the error was reported. That can be --- the line number in a function or in a script. ---- +--- *E1116* --- When {context} is present it is used as a pattern and matched --- against the context (script name or function name) where --- {lnum} is located in. diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 687d052d19..4bb82e5b3e 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -380,12 +380,12 @@ M.funcs = { < If {msg} is empty then it is not used. Do this to get the default message when passing the {lnum} argument. - + *E1115* When {lnum} is present and not negative, and the {error} argument is present and matches, then this is compared with the line number at which the error was reported. That can be the line number in a function or in a script. - + *E1116* When {context} is present it is used as a pattern and matched against the context (script name or function name) where {lnum} is located in. @@ -12058,7 +12058,7 @@ M.funcs = { Like |garbagecollect()|, but executed right away. This must only be called directly to avoid any structure to exist internally, and |v:testing| must have been set before calling - any function. + any function. *E1142* ]=], params = {}, signature = 'test_garbagecollect_now()', diff --git a/src/nvim/options.lua b/src/nvim/options.lua index cf97f682f8..7268a4351d 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -1058,6 +1058,14 @@ return { v:fname_in name of the input file v:fname_out name of the output file Note that v:fname_in and v:fname_out will never be the same. + + If the 'charconvert' expression starts with s: or ||, then it is + replaced with the script ID (|local-function|). Example: >vim + set charconvert=s:MyConvert() + set charconvert=SomeConvert() + < Otherwise the expression is evaluated in the context of the script + where the option was set, thus script-local items are available. + This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. ]=],