From mboxrd@z Thu Jan 1 00:00:00 1970 From: perry at piermont.com (Perry E. Metzger) Date: Sun, 8 Jul 2018 16:50:06 -0400 Subject: [COFF] Other OSes? In-Reply-To: <20180705055650.GA2170@minnie.tuhs.org> References: <20180705055650.GA2170@minnie.tuhs.org> Message-ID: <20180708165006.21a7429e@jabberwock.cb.piermont.com> On Thu, 5 Jul 2018 15:56:50 +1000 Warren Toomey wrote: > OK, I guess I'll be the one to start things going on the COFF list. > > What other features, ideas etc. were available in other operating > systems which Unix should have picked up but didn't? > > [ Yes, I know, it's on-topic for TUHS but I doubt it will be for > long! ] A minor feature that I might mention: TOPS-20 CMND JSYS style command completion. TL;DR, this feature could now be implemented, as after decades of wanting it I finally know how to do it in a unixy way. In TOPS-20, any time you were at the EXEC (the equivalent of the shell), you could hit "?" and the thing would tell you what options there were for the next thing you could type, and you could hit ESC to complete the current thing. This was Very Very Nice, as flags and options to programs were all easily discoverable and you had a handy reminder mechanism when you forgot what you wanted. bash has some vague lame equivalents of this (it will complete filenames if you hit tab etc.), and if you write special scripts you can add domain knowledge into bash of particular programs to allow for special application-specific completion, but overall it's kind of lame. Here's the Correct Way to implement this: have programs implement a special flag that allows them to tell the shell how to do completion for them! I got this idea from this feature being hacked in, in an ad hoc way, into clang: http://blog.llvm.org/2017/09/clang-bash-better-auto-completion-is.html but it is apparent that with a bit of work, one could standardize such a feature and allow nearly any program to provide the shell with such information, which would be very cool. Best of all, it's still unixy in spirit (IMHO). Kudos to the LLVM people for figuring out the right way to do this. I'd been noodling on it since maybe 1984 without any real success. Perry -- Perry E. Metzger perry at piermont.com