Path: utzoo!utgpu!watserv1!watmath!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!uwm.edu!bbn.com From: pplacewa@bbn.com (Paul Placeway) Newsgroups: comp.sources.d Subject: Re: tenex-style command editing in a Unix shell? Message-ID: <63967@bbn.BBN.COM> Date: 1 May 91 03:05:01 GMT References: <24410@well.sf.ca.us> Sender: news@bbn.com Lines: 49 jef@well.sf.ca.us (Jef Poskanzer) writes: < All these different shells, tcsh, ksh, bash, zsh, but do any of them < implement tenex-style command completion and prompting, the most perfect < command-line interface ever devised? I admit it would be a little weird < trying to fit it into Unix, since the commands are so numerous and free-form, < but I can think of a couple ways to do it. I had this going in a version of tcsh quite a while ago (like around '85) but it had several problems. To do tenex/twenex style completion and listing it had to have a dynamically loadable parser in order to figure out what was going on, and someone (me) had to write the rules for each of the commands, including a short explanation of what each switch did. I ended up writing parser descriptions of about 10 commands (including BSD 4.2 ls) to try it out. On our VAX 11/780, it was way too slow to be reasonable (which is a curable thing), and worst of all it didn't seem to be that much of a help. The big problem is that Unix commands wern't built to run under such a user interface, and they arn't structured, and they were generally chosen so they could be typed fast, so rather than having nice structured commands like $ DIRECTORY /VERBOSE (which could be abbreviated "D /V") You end up with % ls -l And to find out about things And then if you really want fun, just think about how to explain dd(1) in 24 lines or less. It turned out (at least at the time) that it was almost as good just to have a fast way of running man on the command of the line the user is typing in, and then returning to the line as it was. Hence the tcsh M-? hack. Unix commands are cryptic "for historical reasons". As far as a good system for beginners, forget Unix and go get a toy (read PC w/windows or a Mac or something). --P "Unix is so cryptic -- you have to type 'ls' to do a 'd'." -- Lum Johnson