Mercurial > emacs
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);