/* Interfaces to system-dependent kernel and library entries.
- Copyright (C) 1985, 86,87,88,93,94,95, 1999, 2000
+ Copyright (C) 1985, 86,87,88,93,94,95, 1999, 2000, 2001
Free Software Foundation, Inc.
This file is part of GNU Emacs.
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-
#include "lisp.h"
+/* Including stdlib.h isn't necessarily enough to get srandom
+ declared, e.g. without __USE_XOPEN_EXTENDED with glibc 2. */
+#ifdef HAVE_RANDOM
+#if 0 /* It turns out that defining _OSF_SOURCE in osf5-0.h gets
+ random prototyped as returning `int'. It looks to me as
+ though the best way to DTRT is to prefer the rand48 functions
+ (per libc.info). -- fx */
+extern long int random P_ ((void));
+#endif
+#if 0 /* Don't prototype srandom; it takes an unsigned argument on
+ some systems, and an unsigned long on others, like FreeBSD
+ 4.1. */
+extern void srandom P_ ((unsigned int));
+#endif
+#endif
+
#include "blockinput.h"
#undef NULL
#endif
#endif /* macintosh */
-#define min(x,y) ((x) > (y) ? (y) : (x))
-
#ifdef WINDOWSNT
#define read sys_read
#define write sys_write
#else /* neither BSD_SYSTEM nor UNIPLUS: random sysV */
#ifdef POSIX_SIGNALS /* would this work for LINUX as well? */
sigblock (sigmask (SIGCHLD));
- if (0 > kill (pid, 0))
+ errno = 0;
+ if (kill (pid, 0) == -1 && errno == ESRCH)
{
sigunblock (sigmask (SIGCHLD));
break;
}
+
+ /* FIXME: Since sigpause is not POSIX and its use is deprecated,
+ this should probably be `sigsuspend (&empty_mask)', which is
+ POSIX. I'm not making that change right away because the
+ release is nearing. 2001-09-20 gerd. */
sigpause (SIGEMPTYMASK);
#else /* not POSIX_SIGNALS */
#ifdef HAVE_SYSV_SIGPAUSE
#endif
s.main.c_lflag &= ~ECHO; /* Disable echo */
s.main.c_lflag |= ISIG; /* Enable signals */
+ s.main.c_iflag &= ~ICRNL; /* Disable map of CR to NL on input */
+#ifdef INLCR /* Just being cautious, since I can't check how
+ widespread INLCR is--rms. */
+ s.main.c_iflag &= ~INLCR; /* Disable map of NL to CR on input */
+#endif
#ifdef IUCLC
s.main.c_iflag &= ~IUCLC; /* Disable downcasing on input. */
#endif
/* cus-start.el complains if delete-exited-processes is not defined */
#ifndef subprocesses
DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes,
- "*Non-nil means delete processes immediately when they exit.\n\
-nil means don't delete them until `list-processes' is run.");
+ doc: /* *Non-nil means delete processes immediately when they exit.
+nil means don't delete them until `list-processes' is run. */);
delete_exited_processes = 0;
#endif
#endif /* not macintosh */
{
update_mode_lines++;
prepare_menu_bars ();
- redisplay_preserve_echo_area ();
+ redisplay_preserve_echo_area (18);
}
}
}
BLOCK_INPUT; /* getcwd uses malloc */
spath = npath = getcwd ((char *) 0, MAXPATHLEN);
if (spath == 0)
- return spath;
+ {
+ UNBLOCK_INPUT;
+ return spath;
+ }
/* On Altos 3068, getcwd can return @hostname/dir, so discard
up to first slash. Should be harmless on other systems. */
while (*npath && *npath != '/')