# HG changeset patch # User Richard M. Stallman # Date 753314773 0 # Node ID 0f979427b6ac21c63b1999dde32156ff8e00bd39 # Parent 8ed435ca965028c34b3ad15f12e5b48fdf7fd246 (INTERRUPT_INPUT): Undefined. (BROKEN_FIONREAD): Defined to work around a problem in DGUX whereby emacs will stop on a background write when invoked from a job control shell for the first time in a session. (FIRST_PTY_LETTER): Undefined. (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Defined to use all the available PTYs in a COFF environment. (LINKER): Removed "-nostdlib" from to be compatible with a prior mod removing "/lib/crt0.o" from the LIBS_SYSTEM define. (LIBS_SYSTEM): Delete /lib/crt0.o. (SYSTEM_MALLOC): Turned off. (NO_TERMIO): Defined. (BROKEN_FASYNC): Turned off. diff -r 8ed435ca9650 -r 0f979427b6ac src/s/dgux.h --- a/src/s/dgux.h Sun Nov 14 06:26:02 1993 +0000 +++ b/src/s/dgux.h Sun Nov 14 22:06:13 1993 +0000 @@ -63,14 +63,18 @@ It would have Emacs fork off a separate process to read the input and send it to the true Emacs process through a pipe. + +NOTE: On DGUX, there is a problem using INTERRUPT_INPUT: When invoked +under X11 using a job control shell (csh, ksh) in the background, +emacs will stop on tty output. I suspect this is a kernel problem and +have reported it and a sample program to DGC. Meanwhile, a workaround +is to define BROKEN_FIONREAD and not use INTERRUPT_INPUT. + +-pmr@rock.concert.net */ -#define INTERRUPT_INPUT - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'a' means it is /dev/ptya0 */ - -#define FIRST_PTY_LETTER 'p' +#define BROKEN_FIONREAD +/* #define INTERRUPT_INPUT */ /* * Define HAVE_TIMEVAL if the system supports the BSD style clock values. @@ -89,7 +93,9 @@ * Define HAVE_SETSID if the system supports POSIX disassociate * terminal. */ + #define HAVE_SETSID + /* * Define HAVE_SOCKETS if the system supports sockets. */ @@ -100,13 +106,19 @@ * Define HAVE_UNIX_DOMAIN if the system supports Unix * domain sockets. */ + #define HAVE_UNIX_DOMAIN + /* * Define HAVE_PTYS if the system supports pty devices. */ #define HAVE_PTYS +/* (Assume) we do have vfork. */ + +#define HAVE_VFORK + /* * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate * The 4.2 opendir, etc., library functions. @@ -228,10 +240,11 @@ /* * Define HAVE_TERMIOS since this is POSIX, - * for terminal control. + * for terminal control. Prevent redundant inclusion of termio.h. */ #define HAVE_TERMIOS +#define NO_TERMIO /* * Use a Berkeley style sys/wait.h. @@ -285,9 +298,8 @@ #endif /* not THIS_IS_YMAKEFILE */ #define LD_SWITCH_SYSTEM -/* Cannot depend on /lib/crt0.o because make does not understand an elink(1) */ #define START_FILES pre-crt0.o -#define LIBS_SYSTEM -ldgc /lib/crt0.o +#define LIBS_SYSTEM -ldgc #define LIB_GCC /usr/lib/gcc/libgcc.a #ifdef _M88KBCS_TARGET @@ -299,41 +311,51 @@ /* definitions for xmakefile production */ #ifdef COFF - + +/* Define the following to use all of the available pty's. */ + +#define PTY_ITERATION \ + for (c = 'p'; c < 't'; c++) \ + for (i = 0; (((c == 'p') && (i < 64)) || ((c != 'p') && (i < 16))); i++) + +#define PTY_NAME_SPRINTF \ + if (c == 'p') \ + sprintf (pty_name, "/dev/pty%c%d", c, i); \ + else \ + sprintf (pty_name, "/dev/pty%c%x", c, i); + +#define PTY_TTY_NAME_SPRINTF \ + if (c == 'p') \ + sprintf (pty_name, "/dev/tty%c%d", c, i); \ + else \ + sprintf (pty_name, "/dev/tty%c%x", c, i); + #define C_COMPILER \ TARGET_BINARY_INTERFACE=m88kdguxcoff gcc -traditional #define LINKER \ - TARGET_BINARY_INTERFACE=m88kdguxcoff gcc -nostdlib + TARGET_BINARY_INTERFACE=m88kdguxcoff gcc #define MAKE_COMMAND \ TARGET_BINARY_INTERFACE=m88kdguxcoff make -#define C_DEBUG_SWITCH +#define C_DEBUG_SWITCH -g + #else /* not COFF */ #define C_COMPILER \ TARGET_BINARY_INTERFACE=m88kdguxelf gcc -traditional #define LINKER \ - TARGET_BINARY_INTERFACE=m88kdguxelf gcc -nostdlib + TARGET_BINARY_INTERFACE=m88kdguxelf gcc #define MAKE_COMMAND \ TARGET_BINARY_INTERFACE=m88kdguxelf make #define C_DEBUG_SWITCH -g -V2 -mversion-03.00 -mstandard #endif /* COFF */ -/* Define switches affecting x/ymakefile */ -#define C_OPTIMIZE_SWITCH -/* Paul M Reilly writes: - On some systems (DGUX comes to mind real fast) FASYNC causes - background writes to the terminal to stop all processes in the - process group when invoked under the csh (and probably any shell - with job control). This stops Emacs dead in its tracks when coming - up under X11. */ -#define BROKEN_FASYNC +/* Extra stuff which probably should be someplace else but is here out + of expediency. */ -/* (Assume) we do have vfork. */ - -#define HAVE_VFORK +#define LIB_X11_LIB -lX11