changeset 109380:1a678cf6a4cd

Fix the MS-DOS build; remove more "#ifdef subprocesses". process.c <inhibit_sentinels>: Move to the common part. (Fwaiting_for_user_input_p): Move to the common part; return nil if async subprocesses aren't supported. sysdep.c (wait_for_termination) [!MSDOS]: Don't compile on MS-DOS. Remove "#ifdef subprocesses". (sys_subshell, sys_select): Remove "#ifdef subprocesses". (gettimeofday): Remove "#ifdef subprocesses". (wait_without_blocking): Remove function. (flush_pending_output, child_setup_tty): Don't compile on MS-DOS. Remove "#ifdef subprocesses". (child_setup_tty): Use WINDOWSNT instead of DOS_NT, since not compiled on MS-DOS. callproc.c (Fcall_process) [!MSDOS]: Don't call wait_for_termination on MS-DOS. emacs.c (shut_down_emacs): Remove "#ifndef subprocesses" from initialization of inhibit_sentinels. keyboard.c (record_asynch_buffer_change): Remove "#ifdef subprocesses" conditional. callproc.c (Fcall_process) [!subprocesses]: Don't call wait_for_termination, since `buffer' cannot be an integer when async subprocesses are not supported xdisp.c (decode_mode_spec): Use `MSDOS' instead of `subprocesses' for ifdefing away the call to Fprocess_status. process.c (add_keyboard_wait_descriptor) [!subprocesses]: Ifdef away the entire body of the function.
author Eli Zaretskii <eliz@gnu.org>
date Tue, 13 Jul 2010 14:03:42 +0300
parents 863ed9bd7c0e (current diff) 4e99d7aa7526 (diff)
children c196ca51171c
files
diffstat 7 files changed, 61 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/ChangeLog	Tue Jul 13 14:03:42 2010 +0300
@@ -1,3 +1,33 @@
+2010-07-13  Eli Zaretskii  <eliz@gnu.org>
+
+	Remove subprocesses #ifdefs.
+	* process.c <inhibit_sentinels>: Move to the common part.
+	(Fwaiting_for_user_input_p): Move to the common part; return nil
+	if async subprocesses aren't supported.
+	* sysdep.c (wait_for_termination) [!MSDOS]: Don't compile on
+	MS-DOS.  Remove "#ifdef subprocesses".
+	(sys_subshell, sys_select): Remove "#ifdef subprocesses".
+	(gettimeofday): Remove "#ifdef subprocesses".
+	(wait_without_blocking): Remove function.
+	(flush_pending_output, child_setup_tty): Don't compile on MS-DOS.
+	Remove "#ifdef subprocesses".
+	(child_setup_tty): Use WINDOWSNT instead of DOS_NT, since not
+	compiled on MS-DOS.
+	* callproc.c (Fcall_process) [!MSDOS]: Don't call
+	wait_for_termination on MS-DOS.
+	* emacs.c (shut_down_emacs): Remove "#ifndef subprocesses" from
+	initialization of inhibit_sentinels.
+	* keyboard.c (record_asynch_buffer_change): Remove "#ifdef
+	subprocesses" conditional.
+	* callproc.c (Fcall_process) [!subprocesses]: Don't call
+	wait_for_termination, since `buffer' cannot be an integer when
+	async subprocesses are not supported
+	* xdisp.c (decode_mode_spec): Use `MSDOS' instead of `subprocesses'
+	for ifdefing away the call to Fprocess_status.
+
+	* process.c (add_keyboard_wait_descriptor) [!subprocesses]: Ifdef
+	away the entire body of the function.
+
 2010-07-13  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	Remove subprocesses #ifdefs from term.c.
--- a/src/callproc.c	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/callproc.c	Tue Jul 13 14:03:42 2010 +0300
@@ -612,12 +612,6 @@
     {
       if (fd[0] >= 0)
 	emacs_close (fd[0]);
-#ifndef subprocesses
-      /* If Emacs has been built with asynchronous subprocess support,
-	 we don't need to do this, I think because it will then have
-	 the facilities for handling SIGCHLD.  */
-      wait_without_blocking ();
-#endif /* subprocesses */
       return Qnil;
     }
 
@@ -811,8 +805,10 @@
 	     make_number (total_read));
   }
 
+#ifndef MSDOS
   /* Wait for it to terminate, unless it already has.  */
   wait_for_termination (pid);
+#endif
 
   immediate_quit = 0;
 
--- a/src/emacs.c	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/emacs.c	Tue Jul 13 14:03:42 2010 +0300
@@ -2130,9 +2130,7 @@
 
   stuff_buffered_input (stuff);
 
-#ifdef subprocesses
   inhibit_sentinels = 1;
-#endif
   kill_buffer_processes (Qnil);
   Fdo_auto_save (Qt, Qnil);
 
--- a/src/keyboard.c	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/keyboard.c	Tue Jul 13 14:03:42 2010 +0300
@@ -6901,18 +6901,15 @@
   event.frame_or_window = Qnil;
   event.arg = Qnil;
 
-#ifdef subprocesses
   /* We don't need a buffer-switch event unless Emacs is waiting for input.
      The purpose of the event is to make read_key_sequence look up the
      keymaps again.  If we aren't in read_key_sequence, we don't need one,
-     and the event could cause trouble by messing up (input-pending-p).  */
+     and the event could cause trouble by messing up (input-pending-p).
+     Note: Fwaiting_for_user_input_p always returns nil when async
+     subprocesses aren't supported.  */
   tem = Fwaiting_for_user_input_p ();
   if (NILP (tem))
     return;
-#else
-  /* We never need these events if we have no asynchronous subprocesses.  */
-  return;
-#endif
 
   /* Make sure no interrupt happens while storing the event.  */
 #ifdef SIGIO
--- a/src/process.c	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/process.c	Tue Jul 13 14:03:42 2010 +0300
@@ -304,6 +304,10 @@
 /* Nonzero means delete a process right away if it exits.  */
 static int delete_exited_processes;
 
+/* Nonzero means don't run process sentinels.  This is used
+   when exiting.  */
+int inhibit_sentinels;
+
 #ifdef subprocesses
 
 /* Mask of bits indicating the descriptors that we wait for input on.  */
@@ -381,10 +385,6 @@
 /* Maximum number of bytes to send to a pty without an eof.  */
 static int pty_max_bytes;
 
-/* Nonzero means don't run process sentinels.  This is used
-   when exiting.  */
-int inhibit_sentinels;
-
 #ifdef HAVE_PTYS
 #ifdef HAVE_PTY_H
 #include <pty.h>
@@ -5433,15 +5433,6 @@
   unbind_to (count, Qnil);
   return nbytes;
 }
-
-DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
-       0, 0, 0,
-       doc: /* Returns non-nil if Emacs is waiting for input from the user.
-This is intended for use by asynchronous process output filters and sentinels.  */)
-  (void)
-{
-  return (waiting_for_user_input_p ? Qt : Qnil);
-}
 
 /* Sending data to subprocess */
 
@@ -7122,10 +7113,12 @@
 void
 add_keyboard_wait_descriptor (int desc)
 {
+#ifdef subprocesses
   FD_SET (desc, &input_wait_mask);
   FD_SET (desc, &non_process_wait_mask);
   if (desc > max_keyboard_desc)
     max_keyboard_desc = desc;
+#endif
 }
 
 /* From now on, do not expect DESC to give keyboard input.  */
@@ -7277,6 +7270,19 @@
 #endif /* subprocesses */
 }
 
+DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
+       0, 0, 0,
+       doc: /* Returns non-nil if Emacs is waiting for input from the user.
+This is intended for use by asynchronous process output filters and sentinels.  */)
+  (void)
+{
+#ifdef subprocesses
+  return (waiting_for_user_input_p ? Qt : Qnil);
+#else
+  return Qnil;
+#endif
+}
+
 /* Stop reading input from keyboard sources.  */
 
 void
--- a/src/sysdep.c	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/sysdep.c	Tue Jul 13 14:03:42 2010 +0300
@@ -355,16 +355,6 @@
   /* Ok to do nothing if this feature does not exist */
 }
 
-#ifndef subprocesses
-
-void
-wait_without_blocking (void)
-{
-  croak ("wait_without_blocking");
-  synch_process_alive = 0;
-}
-
-#endif /* not subprocesses */
 
 int wait_debugging;   /* Set nonzero to make following function work under dbx
 			 (at least for bsd).  */
@@ -373,6 +363,7 @@
 wait_for_termination_signal (void)
 {}
 
+#ifndef MSDOS
 /* Wait for subprocess with process id `pid' to terminate and
    make sure it will get eliminated (not remain forever as a zombie) */
 
@@ -381,7 +372,6 @@
 {
   while (1)
     {
-#ifdef subprocesses
 #if defined (BSD_SYSTEM) || defined (HPUX)
       /* Note that kill returns -1 even if the process is just a zombie now.
 	 But inevitably a SIGCHLD interrupt should be generated
@@ -417,14 +407,9 @@
       sigsuspend (&empty_mask);
 #endif /* not WINDOWSNT */
 #endif /* not BSD_SYSTEM, and not HPUX version >= 6 */
-#else /* not subprocesses */
-      break;
-#endif /* not subprocesses */
     }
 }
 
-#ifdef subprocesses
-
 /*
  *	flush any pending output
  *      (may flush input as well; it does not matter the way we use it)
@@ -459,7 +444,7 @@
 void
 child_setup_tty (int out)
 {
-#ifndef DOS_NT
+#ifndef WINDOWSNT
   struct emacs_tty s;
 
   EMACS_GET_TTY (out, &s);
@@ -543,10 +528,10 @@
 
   EMACS_SET_TTY (out, &s, 0);
 
-#endif /* not DOS_NT */
+#endif /* not WINDOWSNT */
 }
-
-#endif /* subprocesses */
+#endif	/* MSDOS */
+
 
 /* Record a signal code and the handler for it.  */
 struct save_signal
@@ -650,9 +635,7 @@
       if (str)
 	chdir ((char *) str);
 
-#ifdef subprocesses
       close_process_descs ();	/* Close Emacs's pipes/ptys */
-#endif
 
 #ifdef SET_EMACS_PRIORITY
       {
@@ -1699,11 +1682,7 @@
   int timeoutval;
   int *local_timeout;
   extern int proc_buffered_char[];
-#ifndef subprocesses
-  int process_tick = 0, update_tick = 0;
-#else
   extern int process_tick, update_tick;
-#endif
   unsigned char buf;
 
 #if defined (HAVE_SELECT) && defined (HAVE_X_WINDOWS)
@@ -2433,7 +2412,6 @@
  *	Only needed when subprocesses are defined.
  */
 
-#ifdef subprocesses
 #ifndef HAVE_GETTIMEOFDAY
 #ifdef HAVE_TIMEVAL
 
@@ -2451,8 +2429,7 @@
 }
 
 #endif
-#endif
-#endif /* subprocess && !HAVE_GETTIMEOFDAY && HAVE_TIMEVAL */
+#endif /* !HAVE_GETTIMEOFDAY && HAVE_TIMEVAL */
 
 /*
  *	This function will go away as soon as all the stubs fixed. (fnf)
--- a/src/xdisp.c	Tue Jul 13 13:41:49 2010 +0300
+++ b/src/xdisp.c	Tue Jul 13 14:03:42 2010 +0300
@@ -19597,7 +19597,7 @@
       obj = Fget_buffer_process (Fcurrent_buffer ());
       if (NILP (obj))
 	return "no process";
-#ifdef subprocesses
+#ifndef MSDOS
       obj = Fsymbol_name (Fprocess_status (obj));
 #endif
       break;