]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.860 v7.3.860
authorBram Moolenaar <Bram@vim.org>
Wed, 13 Mar 2013 19:23:22 +0000 (20:23 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 13 Mar 2013 19:23:22 +0000 (20:23 +0100)
Problem:    When using --remote-expr try/catch does not work. (Andrey Radev)
Solution:   Set emsg_silent instead of emsg_off.

src/main.c
src/version.c

index ef4893458380d86928c87798fffd5fd12074eabf..6c4f8eceeba2bbb3cfd5f767a8e92aa28e974c78 100644 (file)
@@ -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. */
index 8683c6d2d57ac839d5607fd3d2fd783f8bcf0eec..237ec19dcbd97f0d9220aad0863d1f4a7a468073 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    860,
 /**/
     859,
 /**/