[comp.sys.mac.programmer] Better MPW console I/O

ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) (12/31/90)

In <8797@dog.ee.lbl.gov>,  beard@ux5.lbl.gov (Patrick C Beard)
mentions as one of his wishes for future improvements to MPW:

"Standard I/O:  have MPW shell act a lot more like a Unix shell by
letting tools do character at a time i/o.  This would make interactive
tools a lot easier to write.  Once in a while this is what you want."

Console I/O already works a character at a time on output, and on
arbitrary selections on input. I know--you're objecting to the current
convention whereby if you hit Enter without a selection, it sends
the whole of the line the insertion point is on.

That convention is a simple hack to make the shell/editor behave
a little more like a console terminal, but it's only a partial
solution. And I don't really believe it's worth trying hack the input
convention to make it even more elaborate, because I think there's
a better approach: use the Comms Toolbox!

What you can do is use the Terminal Manager to open a terminal
window. This can be a full screen terminal, with cursor addressing,
text attributes--the works. You just output a character stream,
and the terminal emulation tool takes care of interpreting control
characters, escape sequences and all the rest of it. And you can
keep a scrollback buffer to save stuff that disappears off the top,
so you don't completely lose that particular capability of the
MPW editor.

As for input, you've got full character-at-a-time control
over that. The terminal emulation tool will even translate
its own special function keys, and call a routine that you
specify to process the resulting input data!

Any volunteers to explore this idea, and come up with a
package of routines to make it easy to use?

Lawrence D'Oliveiro                       fone: +64-71-562-889
Computer Services Dept                     fax: +64-71-384-066
University of Waikato            electric mail: ldo@waikato.ac.nz
Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
"Whom, me?"