Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: typeahead fix
- X-seq: zsh-workers 99
- From: Roderick Schertler <roderick@xxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: typeahead fix
- Date: Mon, 12 Jun 1995 13:27:45 -0400
- In-reply-to: Richard Coleman's message of Thu, 08 Jun 1995 14:59:54 -0400
On Thu, 08 Jun 1995 14:59:54 -0400, Richard Coleman <coleman@xxxxxxxxxxxxxxx> said:
> I've looked through the configuration scripts for zsh 2.5.03 and it
> defines CLOBBERS_TYPEAHEAD for ultrix and dgux.
I found this myself at beta 7 and I've been sitting on a patch, pending
making it configure-friendly. Sorry about that. (I still haven't made
it configure-friendly.)
Two things turned up when I re-defined CLOBBERS_TYPEAHEAD for DGUX:
- FIONREAD wasn't being defined because <sys/ioctl.h> wasn't being
included. ioctl.h is only included if TIOCGWINSZ isn't defined in
termios.h (and if it is defined in ioctl.h). There are a couple of
places in the source which test macros defined in ioctl.h directly
(eg FIONREAD, and TIOCSETD as I learned). If that continues to be
the case I think that ioctl.h should be included unconditionally.
- After I included <sys/ioctl.h> a couple of other parts of the code
started being used, and one of them turned up a bug in the OS: Under
some circumstances (in emacs when piping text through zsh and
reading back the result) the ioctl() to set the line discipline
hangs. In DGUX starting with rev 5.4 line disciplines 0 and 1 have
been merged so setting the discipline to NTTYDISC should
theoretically be superfluous but harmless. Since it's obviously not
harmless I disabled it. (The system specific test is yucky but the
best I can think to do.)
> What is the relationship/lineage between ultrix and dgux?
I think that Ultrix is a derivative of BSD 4.3. DGUX is a SVR4.
--
Roderick Schertler
International Bonded Couriers/Miami
roderick@xxxxxxxxxx
diff -ur ./Src/init.c ../zsh/Src/init.c
--- ./Src/init.c Mon Apr 17 21:42:17 1995
+++ ../zsh/Src/init.c Tue Apr 25 17:59:05 1995
@@ -305,7 +305,7 @@
SHTTY = movefd((isatty(0)) ? dup(0) : open("/dev/tty", O_RDWR));
if (SHTTY == -1) opts[MONITOR] = OPT_UNSET;
else {
-# if defined(TIOCSETD) && defined(NTTYDISC)
+# if defined(TIOCSETD) && defined(NTTYDISC) && !defined(NO_TTY_DISCIPLINE)
int ldisc = NTTYDISC;
ioctl(SHTTY, TIOCSETD, (char *)&ldisc);
diff -ur ./Src/system.h ../zsh/Src/system.h
--- ./Src/system.h Mon Apr 17 21:42:06 1995
+++ ../zsh/Src/system.h Tue Apr 25 18:00:14 1995
@@ -481,3 +481,9 @@
extern short ospeed;
#endif
+
+#ifdef DGUX
+# include <sys/ioctl.h>
+# define CLOBBERS_TYPEAHEAD
+# define NO_TTY_DISCIPLINE
+#endif
Messages sorted by:
Reverse Date,
Date,
Thread,
Author