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.
diff --git a/src/if_xcmdsrv.c b/src/if_xcmdsrv.c
index fa91c3e..18c208b 100644
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -399,27 +399,7 @@
/* 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 @@
WaitForReply(void *p)
{
Window *w = (Window *) p;
+
return ServerReplyFind(*w, SROP_Find) != NULL;
}