diff src/process.c @ 278:90d73dddcdc4 r21-0b37

Import from CVS: tag r21-0b37
author cvs
date Mon, 13 Aug 2007 10:31:29 +0200
parents c5d627a313b1
children 7df0dd720c89
line wrap: on
line diff
--- a/src/process.c	Mon Aug 13 10:30:38 2007 +0200
+++ b/src/process.c	Mon Aug 13 10:31:29 2007 +0200
@@ -82,6 +82,9 @@
    maybe other values to come.  */
 Lisp_Object Vprocess_connection_type;
 
+/* Read comments to DEFVAR of this */
+int windowed_process_io;
+
 #ifdef PROCESS_IO_BLOCKING
 /* List of port numbers or port names to set a blocking I/O mode.
    Nil means set a non-blocking I/O mode [default]. */
@@ -2011,6 +2014,26 @@
 */ );
   Vprocess_connection_type = Qt;
 
+  DEFVAR_BOOL ("windowed-process-io", &windowed_process_io /*
+Enables input/ouptut on standard handles of a windowed process.
+When this variable is nil (the default), XEmacs does not attempt to read
+standard output handle of a windowed process. Instead, the process is
+immediately marked as exited immediately upon successful launching. This is
+done because normal windowed processes do not use stadnard I/O, as they are
+not connected to any console.
+
+When launching a specially crafted windowed process, which expects to be
+launched by XEmacs, or by other program which pipes its standard input and
+output, this variable must be set to non-nil, in which case XEmacs will
+treat this process just like a console process.
+
+NOTE: You should never set this variable, only bind it.
+
+Only Windows processes can be "windowed" or "console". This variable has no
+effect on UNIX processes, because all UNIX processes are "console".
+*/ );
+  windowed_process_io = 0;
+
 #ifdef PROCESS_IO_BLOCKING
   DEFVAR_LISP ("network-stream-blocking-port-list", &network_stream_blocking_port_list /*
 List of port numbers or port names to set a blocking I/O mode with connection.