1
0
forked from aniani/vim

patch 8.1.0619: :echomsg and :echoerr do not handle List and Dict

Problem:    :echomsg and :echoerr do not handle List and Dict like :echo does.
            (Daniel Hahler)
Solution:   Be more tolerant about the expression result type.
This commit is contained in:
Bram Moolenaar
2018-12-22 13:28:07 +01:00
parent 528ccfbaa1
commit 461a7fcfce
8 changed files with 73 additions and 9 deletions

View File

@@ -9233,7 +9233,8 @@ test_ignore_error({expr}) *test_ignore_error()*
error with try/catch cannot be used (because it skips over
following code).
{expr} is used literally, not as a pattern.
There is currently no way to revert this.
When the {expr} is the string "RESET" then the list of ignored
errors is made empty.
test_null_channel() *test_null_channel()*
Return a Channel that is null. Only useful for testing.
@@ -10999,8 +11000,8 @@ This does NOT work: >
The parsing works slightly different from |:echo|,
more like |:execute|. All the expressions are first
evaluated and concatenated before echoing anything.
The expressions must evaluate to a Number or String, a
Dictionary or List causes an error.
If expressions does not evaluate to a Number or
String, string() is used to turn it into a string.
Uses the highlighting set by the |:echohl| command.
Example: >
:echomsg "It's a Zizzer Zazzer Zuzz, as you can plainly see."
@@ -11011,7 +11012,7 @@ This does NOT work: >
message in the |message-history|. When used in a
script or function the line number will be added.
Spaces are placed between the arguments as with the
:echo command. When used inside a try conditional,
|:echomsg| command. When used inside a try conditional,
the message is raised as an error exception instead
(see |try-echoerr|).
Example: >