tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: mail(1) editline defaults to vi mode?



>> I think that input line editing, no matter how fancy, should be
>> invisible to simple applications, as invisible as erase and kill
>> processing is for applications that run in cooked mode today.  [...]

> Ultimately the problem is that teletypes are baked into the core
> architecture of Unix and all more sophisticated user interaction has
> been bolted on top instead of being redesigned in.

I agree and I disagree.

If by "teletypes" you mean "octet streams", well, it might be an
overstatement to say that "everything is an octet stream" is the
unifying concept that has made Unix Unix, but not by much.  I'm not
sure I'd call that "the problem", though.

The very notion of a command line owes a good deal to that unifying
principle, it seems to me.  I was never fortunate enough to use
interactive OSes designed without Unix available to draw on (while it
is just an assumption on my part that such exist, it seems likely).

If we accept, for the moment, the presence of an interactive command
line, one for which input line editing makes sense, it seems to me that
the problem is that some aspects of line editing are inherently
application-specific (history and expansion come to mind immediately)
and others aren't (cursor motion and inserting text come to mind).  The
reason this is a problem is that different philosophies for the
application-independent parts lead to different approaches to what kind
of UI is appropriate for the application-dependent parts.  We then need
an API design that allows applications to specify (and, in at least
some cases, participate in) the application-specific parts, somehow
doing this without imposing any particular user interface.

It's "mechanism, not policy" returning with a vengeance.

> By the time you fix it, it's not Unix any more.

Depending on what the "it" is.  If it's the octet-stream unifying
principle, then, yes, eliminating, or even substantially changing, that
will break what makes Unix Unix.

But, if we assume the existence of an interactive command line?  I'm
not so sure.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index