Xref: utzoo comp.unix.ultrix:889 comp.unix.questions:13206 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-winken!uunet!cbmvax!grr From: grr@cbmvax.UUCP (George Robbins) Newsgroups: comp.unix.ultrix,comp.unix.questions Subject: Re: Ultrix cbreak (curses) missing? Keywords: cbreak curses ultrix Message-ID: <6745@cbmvax.UUCP> Date: 3 May 89 04:02:51 GMT References: <172@larry.sal.wisc.edu> Reply-To: grr@cbmvax.UUCP (George Robbins) Organization: Commodore Technology, West Chester, PA Lines: 32 In article <172@larry.sal.wisc.edu> jwp@larry.sal.wisc.edu (Jeffrey W Percival) writes: > I am running Ultrix 2.2 and 3.0, and noticed that although > cbreak and nocbreak are mentioned in the curses man pages, > they do not exist in /lib/libcurses.a! > > Is this an error? Where can I get them? Have they been > displaced by some other call? Traditionally, BSD has used "crmode()" for this purpose. In the 4.3BSD curses.h header file, cbreak and crmode are made equivalent. Apparently, the DEC folks haven't implemented this change. There is also a long standing "bug" with Ultrix curses that shows up if you try to make the net.sources "sc" spread sheet program under Ultrix. If you do it under 4.3 it works fine, and the 4.3 executable works fine with Ultrix, but if you do the compile under Ultrix, you get this intersting diagonal effect instead of columns. It may be fixed in 3.0, I don't know... Apparently some confused person at DEC tried to "fix" some other "bug" he perceived with curses, but broke the proper operation... Adding the following lines to the end of sc.h (or curses.h 8-) backs out the screwup... #ifdef ultrix #undef nl #undef nonl #define nl() (_tty.sg_flags |= CRMOD,_pfast = _rawmode,stty(_tty_ch, &_tty)) #define nonl() (_tty.sg_flags &= ~CRMOD, _pfast = TRUE, stty(_tty_ch, &_tty)) #endif -- George Robbins - now working for, uucp: {uunet|pyramid|rutgers}!cbmvax!grr but no way officially representing arpa: cbmvax!grr@uunet.uu.net Commodore, Engineering Department fone: 215-431-9255 (only by moonlite)