Xref: utzoo comp.sys.amiga:73799 alt.religion.computers:2153 Path: utzoo!utgpu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!decwrl!world!bzs From: bzs@world.std.com (Barry Shein) Newsgroups: comp.sys.amiga,alt.religion.computers Subject: Re: A3000UX competition Message-ID: Date: 9 Dec 90 01:29:30 GMT References: <36449@cup.portal.com> <1990Dec2.153612.28555@zorch.SF-Bay.ORG> <36488@cup.portal.com> <24221:Dec400:05:0790@kramden.acf.nyu.edu> Sender: bzs@world.std.com (Barry Shein) Organization: The World Lines: 44 In-Reply-To: brnstnd@kramden.acf.nyu.edu's message of 4 Dec 90 00:05:07 GMT From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) >I don't see any errors or implied errors in what Kent wrote. I see a >nearly complete travesty of the truth in your only example of supposed >BSD failings. Hmm, I wonder if you've looked at SYSV curses as it's currently being distributed (e.g. with Sun/OS.) It's much better than the old V7 curses library. One major added feature is *input* support. I can write things like: switch(getch()) { case KEY_RIGHT: do_right_thing(); break; and all those KEY_RIGHT symbols are mapped properly (e.g. function keys). They turn them into 0400+code symbols so they're distinguished from ASCII. It works, they do it right. There's nothing resembling that in the older curses stuff, and I use this new feature a lot. They have a lot more than just cursor keys defined also, you can throw all sorts of handy codes into your switch statements (KEY_CLEAR, KEY_PAGEUP and so on), and add ASCII equivalents of course: case KEY_PAGEUP: case CTRL('U'): /* whatever */ Attributes (underscore, blinking etc) are also handled much better now. And, heavens, you can even write a program which reliably uses box-drawing characters and so forth. Look at the manual page (I'll send it to you if you like.) I think you'll quickly see it's impossible to support the view that SYSV curses is only trivially improved over BSD curses. -- -Barry Shein Software Tool & Die | {xylogics,uunet}!world!bzs | bzs@world.std.com Purveyors to the Trade | Voice: 617-739-0202 | Login: 617-739-WRLD