diff options
-rw-r--r-- | src/main.c | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c index ef4893458..6c4f8ecee 100644 --- a/src/main.c +++ b/src/main.c @@ -4025,8 +4025,6 @@ server_to_input_buf(str) /* * Evaluate an expression that the client sent to a string. - * Handles disabling error messages and disables debugging, otherwise Vim - * hangs, waiting for "cont" to be typed. */ char_u * eval_client_expr_to_string(expr) @@ -4036,15 +4034,21 @@ eval_client_expr_to_string(expr) int save_dbl = debug_break_level; int save_ro = redir_off; + /* Disable debugging, otherwise Vim hangs, waiting for "cont" to be + * typed. */ debug_break_level = -1; redir_off = 0; - ++emsg_skip; + /* Do not display error message, otherwise Vim hangs, waiting for "cont" + * to be typed. Do generate errors so that try/catch works. */ + ++emsg_silent; res = eval_to_string(expr, NULL, TRUE); debug_break_level = save_dbl; redir_off = save_ro; - --emsg_skip; + --emsg_silent; + if (emsg_silent < 0) + emsg_silent = 0; /* A client can tell us to redraw, but not to display the cursor, so do * that here. */ diff --git a/src/version.c b/src/version.c index 8683c6d2d..237ec19dc 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 860, +/**/ 859, /**/ 858, |