Xref: utzoo comp.unix.xenix:7879 comp.emacs:6938 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!hsi!mlfarm!ron From: ron@mlfarm.UUCP (Ronald Florence) Newsgroups: comp.unix.xenix,comp.emacs Subject: using Xenix 2.3.2 select() with GNU Emacs 18.50 Message-ID: <334@mlfarm.UUCP> Date: 2 Oct 89 19:27:37 GMT Organization: Maple Lawn Farm, Stonington, CT Lines: 33 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 includein files dispnew.c, fileio.c, process.c, and sysdep.c instead of the BSD or USG . 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