ron@mlfarm.UUCP (Ronald Florence) (10/03/89)
After some fiddling, I have gotten GNU Emacs 18.50 to run using the select() system call in Xenix 2.3.2. Since the conditional defines may already be present in a later version of Emacs, I'll give the steps rather than patch or diff files here: 1. Uncomment the defines for HAVE_SELECT, HAVE_PTYS, HAVE_TIMEVAL and FIRST_PTY_LETTER 'p' in s-xenix.h. 2. Write conditionals to include <sys/select.h> in files dispnew.c, fileio.c, process.c, and sysdep.c instead of the BSD <sys/time.h> or USG <time.h>. 3. Conditionally include a dummy utimes() in sysdep.c. Xenix lacks a real utimes(), which would be used for the optional fourth argument to function copy-file. 4. In function wait_reading_process_input() in process.c, conditionally include, before the call to select(), the line Exception &= ~1; The last step works around the bug that causes the select() call in Xenix 2.3.2 to break if stdin is included in the exception file descriptors. The other Xenix select() bugs are either cured in version 2.3.2 or do not affect Emacs. That's all. -- Ronald Florence ...{hsi,rayssd}!mlfarm!ron