changeset 15995:7284f973fc42

(both versions): Handle -nowait and --nowait by sending data to the server.
author Richard M. Stallman <rms@gnu.org>
date Sat, 31 Aug 1996 16:25:21 +0000
parents 04839885889f
children 0704ccc73df8
files lib-src/emacsclient.c
diffstat 1 files changed, 33 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lib-src/emacsclient.c	Sat Aug 31 04:29:46 1996 +0000
+++ b/lib-src/emacsclient.c	Sat Aug 31 16:25:21 1996 +0000
@@ -71,6 +71,7 @@
   char *getenv (), *getwd ();
   char *getcwd ();
   int geteuid ();
+  int nowait = 0;
 
   if (argc < 2)
     {
@@ -167,6 +168,17 @@
 
   for (i = 1; i < argc; i++)
     {
+      /* If -nowait or --nowait option is used,
+	 report it to the server.  */
+      if (!strcmp (argv[i], "-nowait")
+	  || (!strncmp (argv[i], "--nowait", strlen (argv[i]))
+	      && strlen (argv[i]) >= 3))
+	{
+	  fprintf (out, "-nowait ");
+	  nowait = 1;
+	  continue;
+	}
+
       if (*argv[i] == '+')
 	{
 	  char *p = argv[i] + 1;
@@ -181,6 +193,10 @@
   fprintf (out, "\n");
   fflush (out);
 
+  /* Maybe wait for an answer.   */
+  if (nowait)
+    return 0;
+
   printf ("Waiting for Emacs...");
   fflush (stdout);
 
@@ -224,6 +240,7 @@
   char *cwd;
   char *temp;
   char *progname = argv[0];
+  int nowait = 0;
 
   if (argc < 2)
     {
@@ -287,7 +304,17 @@
     {
       int need_cwd = 0;
       char *modified_arg = argv[0];
-      if (*modified_arg == '+')
+
+      /* If -nowait or --nowait option is used,
+	 report it to the server.  */
+      if (!strcmp (modified_arg, "-nowait")
+	  || (!strncmp (modified_arg, "--nowait", strlen (modified_arg))
+	      && strlen (modified_arg) >= 3))
+	{
+	  modified_arg = "-nowait";
+	  nowait = 1;
+	}
+      else if (*modified_arg == '+')
 	{
 	  char *p = modified_arg + 1;
 	  while (*p >= '0' && *p <= '9') p++;
@@ -330,9 +357,11 @@
       perror ("msgsnd");
       exit (1);
     }
-  /*
-   * Now, wait for an answer
-   */
+
+  /* Maybe wait for an answer.   */
+  if (nowait)
+    return 0;
+
   printf ("Waiting for Emacs...");
   fflush (stdout);