From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10365 invoked from network); 18 Jul 2001 06:13:03 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 18 Jul 2001 06:13:03 -0000 Received: (qmail 1460 invoked by alias); 18 Jul 2001 06:12:57 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15405 Received: (qmail 1444 invoked from network); 18 Jul 2001 06:12:57 -0000 Message-ID: <20010718061254.88362.qmail@web10408.mail.yahoo.com> Date: Tue, 17 Jul 2001 23:12:54 -0700 (PDT) From: Felix Rosencrantz Subject: Re: Proposal to standardize the shell To: dgk@research.att.com, zsh-workers MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I'm more interested in zsh for it's interactive features than it's scripting capabilities. I think it would be very useful if the interactive features became standard. Some of the things I think that would be useful to standardize would include CSH-style history, and zsh-style completion. Though it would also be useful if there were some additional work generalizing and developing some additional interactive features that are already in some shells. Some of these topics to me would be command line correction, command line validation, command line prediction, and command line building. Command line correction: There are already several shells that will suggest alternatives to a command that is not found. It would be great if that could be made more general to also correct arguments and flags of the command line. This seems related to completion, though even with zsh's completion it's not easy to do. Command line validation: There are already several shells that provide some sort of "rm *" protection. It would be great if this functionality could somehow be made more general to allow the shell to verify other dangerous/questionable commands. Command line prediction: It would be great if the shell could effectively use command history and user hints to predict what the user wants to do next. There has been some academic research in this area that might help. Prediction is already effectively used in the text fields of GUI tools (e.g. web browsers). And zsh has a prediction-like widget based on completion. Command line building: The VMS OS could check command arguments before running the command, and ask the user for missing arguments. It might be useful if the shells could also do this. Some of these features might be done by providing some hooks into the shell and providing some good mechanisms for parsing command lines. Parsing is not easy to do from a script, it's a little more involved than just a getopt function. First one has to deal with the shell syntax, and then with the command line syntax of individual commands. Shells make it easy to work with files and the filesystems. It would be great if it was just as easy to work with command lines. Another thing that might be useful to standardize is the API for loadable modules. Not sure if that can be done in a generic way across shells, but providing a mechanism for extensions that could be written in other languages would be very useful. I would expect that it would be possible to use C/C++ and Java to write such modules/extensions. I would be interested in hearing discussions (e.g. mailing list/archive) of the enhanced shell standard. -FR. __________________________________________________ Do You Yahoo!? Get personalized email addresses from Yahoo! Mail http://personal.mail.yahoo.com/