diff src/if_xcmdsrv.c @ 11177:76fb679a310e v8.0.0475

patch 8.0.0475: not enough testing for the client-server feature commit https://github.com/vim/vim/commit/7416f3e73ab2c4e7ae3adc2ff6e70234f7d40d2e Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 18 18:10:13 2017 +0100 patch 8.0.0475: not enough testing for the client-server feature Problem: Not enough testing for the client-server feature. Solution: Add more tests. Add the remote_startserver() function. Fix that a locally evaluated expression uses function-local variables.
author Christian Brabandt <cb@256bit.org>
date Sat, 18 Mar 2017 18:15:04 +0100
parents 501f46f7644c
children 13544aa85dc0
line wrap: on
line diff
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -399,27 +399,7 @@ serverSendToVim(
 
     /* Execute locally if no display or target is ourselves */
     if (dpy == NULL || (serverName != NULL && STRICMP(name, serverName) == 0))
-    {
-	if (asExpr)
-	{
-	    char_u *ret;
-
-	    ret = eval_client_expr_to_string(cmd);
-	    if (result != NULL)
-	    {
-		if (ret == NULL)
-		    *result = vim_strsave((char_u *)_(e_invexprmsg));
-		else
-		    *result = ret;
-	    }
-	    else
-		vim_free(ret);
-	    return ret == NULL ? -1 : 0;
-	}
-	else
-	    server_to_input_buf(cmd);
-	return 0;
-    }
+	return sendToLocalVim(cmd, asExpr, result);
 
     /*
      * Bind the server name to a communication window.
@@ -800,6 +780,7 @@ serverSendReply(char_u *name, char_u *st
 WaitForReply(void *p)
 {
     Window  *w = (Window *) p;
+
     return ServerReplyFind(*w, SROP_Find) != NULL;
 }