X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fprocess-nt.c;h=9c0a4efae9192ae95f21b027f02df9f1029ce624;hb=5a4005bd503927d2fe37973d8588587b43f36c83;hp=9f2ad46f4bf17372478902c70ea2705970bf5681;hpb=59eec5f21669e81977b5b1fe9bf717cab49cf7fb;p=chise%2Fxemacs-chise.git.1 diff --git a/src/process-nt.c b/src/process-nt.c index 9f2ad46..9c0a4ef 100644 --- a/src/process-nt.c +++ b/src/process-nt.c @@ -56,10 +56,6 @@ struct nt_process_data HWND hwnd; /* console window */ }; -/* Control how args are quoted to ensure correct parsing by child - process. */ -Lisp_Object Vmswindows_quote_process_args; - /* Control whether create_child causes the process to inherit Emacs' console window, or be given a new one of its own. The default is nil, to allow multiple DOS programs to run on Win95. Having separate @@ -646,6 +642,9 @@ static void nt_finalize_process_data (Lisp_Process *p, int for_disksave) { assert (!for_disksave); + /* If it's still in the list of processes we are waiting on delete + it. */ + mswindows_unwait_process (p); if (NT_DATA (p)->h_process) CloseHandle (NT_DATA (p)->h_process); } @@ -1051,11 +1050,11 @@ nt_send_process (Lisp_Object proc, struct lstream* lstream) while (1) { - ssize_t writeret; + Lstream_data_count writeret; chunklen = Lstream_read (lstream, chunkbuf, 512); if (chunklen <= 0) - break; /* perhaps should abort() if < 0? + break; /* perhaps should ABORT() if < 0? This should never happen. */ /* Lstream_write() will never successfully write less than the @@ -1383,25 +1382,11 @@ syms_of_process_nt (void) void vars_of_process_nt (void) { - DEFVAR_LISP ("mswindows-quote-process-args", - &Vmswindows_quote_process_args /* -Non-nil enables quoting of process arguments to ensure correct parsing. -Because Windows does not directly pass argv arrays to child processes, -programs have to reconstruct the argv array by parsing the command -line string. For an argument to contain a space, it must be enclosed -in double quotes or it will be parsed as multiple arguments. - -If the value is a character, that character will be used to escape any -quote characters that appear, otherwise a suitable escape character -will be chosen based on the type of the program (normal or Cygwin). -*/ ); - Vmswindows_quote_process_args = Qt; - DEFVAR_LISP ("mswindows-start-process-share-console", &Vmswindows_start_process_share_console /* When nil, new child processes are given a new console. When non-nil, they share the Emacs console; this has the limitation of -allowing only only DOS subprocess to run at a time (whether started directly +allowing only one DOS subprocess to run at a time (whether started directly or indirectly by Emacs), and preventing Emacs from cleanly terminating the subprocess group, but may allow Emacs to interrupt a subprocess that doesn't otherwise respond to interrupts from Emacs.