# HG changeset patch # User Karoly Lorentey # Date 1072803753 0 # Node ID 21720c013048e575ddf6a29a961633015cc95bd2 # Parent 1747ce67f75908249e365f4502cfc51815a0736e 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 diff -r 1747ce67f759 -r 21720c013048 README.multi-tty --- 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). diff -r 1747ce67f759 -r 21720c013048 src/sysdep.c --- 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. */