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.
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.
{
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;
}
make_number (total_read));
}
+#ifndef MSDOS
/* Wait for it to terminate, unless it already has. */
wait_for_termination (pid);
+#endif
immediate_quit = 0;
stuff_buffered_input (stuff);
-#ifdef subprocesses
inhibit_sentinels = 1;
-#endif
kill_buffer_processes (Qnil);
Fdo_auto_save (Qt, Qnil);
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
/* 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. */
/* 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>
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);
-}
\f
/* Sending data to subprocess */
#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
/* Ok to do nothing if this feature does not exist */
}
\f
-#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). */
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) */
{
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
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)
void
child_setup_tty (int out)
{
-#ifndef DOS_NT
+#ifndef WINDOWSNT
struct emacs_tty s;
EMACS_GET_TTY (out, &s);
EMACS_SET_TTY (out, &s, 0);
-#endif /* not DOS_NT */
+#endif /* not WINDOWSNT */
}
+#endif /* MSDOS */
-#endif /* subprocesses */
\f
/* Record a signal code and the handler for it. */
struct save_signal
if (str)
chdir ((char *) str);
-#ifdef subprocesses
close_process_descs (); /* Close Emacs's pipes/ptys */
-#endif
#ifdef SET_EMACS_PRIORITY
{
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)
* Only needed when subprocesses are defined.
*/
-#ifdef subprocesses
#ifndef HAVE_GETTIMEOFDAY
#ifdef HAVE_TIMEVAL
}
#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)
obj = Fget_buffer_process (Fcurrent_buffer ());
if (NILP (obj))
return "no process";
-#ifdef subprocesses
+#ifndef MSDOS
obj = Fsymbol_name (Fprocess_status (obj));
#endif
break;