changeset 82983:21720c013048

Don't compile sys_select on systems that don't need it. src/sysdep.c (sys_select): This function is unnecessary on most systems, so #ifdef it out. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-23
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 30 Dec 2003 17:02:33 +0000
parents 1747ce67f759
children 3b1f99f17618
files README.multi-tty src/sysdep.c
diffstat 2 files changed, 21 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/README.multi-tty	Mon Dec 29 13:59:23 2003 +0000
+++ b/README.multi-tty	Tue Dec 30 17:02:33 2003 +0000
@@ -213,9 +213,22 @@
 
    (Seems to be working OK.)
 
+-- Enable select on ttys (sys_select disables the native select on
+   non-X systems).  There are some systems (OSS, SCO, maybe cygwin?)
+   that don't support this, so make sure the emulation remains
+   available for them.  
+
+   (This was a bogus issue, select is only #defined to be sys_select
+   by sysselect.h if BROKEN_SELECT_NON_X.  Fixed sysdep.c to compile
+   sys_select only then.)
+
+
 THINGS TO DO
 ------------
 
+** Understand Emacs's low-level input system.  It seems
+   complicated. :-)
+
 ** Fix mysterious memory corruption error with tty deletion.  To
    trigger it, try the following shell command:
 
@@ -232,6 +245,9 @@
    Update: yes it does, although it is much rarer.  Or maybe it's
    another bug.
 
+   Update: Some of these errors may have been caused by having more
+   file handles than FD_SETSIZE.
+
 ** Make parts of struct tty_output accessible from Lisp.  The device
    name and the type is sufficient.
 
@@ -264,11 +280,12 @@
 ** Find out the best way to support suspending Emacs with multiple
    ttys.
 
-** Do tty output through term_hooks, like all other display backends.
+** Do tty output through term_hooks, like graphical display backends.
 
 ** Fix X support.
 
-** Allow simultaneous X and tty frames.
+** Allow simultaneous X and tty frames.  (Handling input could be
+   tricky.)
 
 ** Fix Mac support (I can't do this myself).
 
--- a/src/sysdep.c	Mon Dec 29 13:59:23 2003 +0000
+++ b/src/sysdep.c	Tue Dec 30 17:02:33 2003 +0000
@@ -2499,7 +2499,7 @@
     longjmp (read_alarm_throw, 1);
 }
 
-#ifndef WINDOWSNT
+#if (!defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X)) && !defined (WINDOWSNT)
 /* Only rfds are checked.  */
 int
 sys_select (nfds, rfds, wfds, efds, timeout)
@@ -2631,7 +2631,7 @@
     }
   return ravail;
 }
-#endif /* not WINDOWSNT */
+#endif /* (!defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X)) && !defined (WINDOWSNT) */
 
 /* Read keyboard input into the standard buffer,
    waiting for at least one character.  */