On 4/21/06, Axel Liljencrantz <[EMAIL PROTECTED]> wrote:
> On 4/20/06, Philip Ganchev <[EMAIL PROTECTED]> wrote:
[...]
> > If you don't change the design, perhaps it would help to make the
> > error messages smarter:

While implementing the suggested new messages, I ended up changing
them quite a bit in order to provide the user with more information
about how to proceed.

> >
> > fish> say$hello
> > fish: Invalid character '$' in command name.  Only alphabetic and
> > numeric characters and underscore are valid.

fish> say$hello
fish: Commands may not contain variables. Use the eval builtin
instead, like 'eval say$hello'. For more information, see the help
section for the eval command by typing 'help eval'.

I changed this one so that it now suggests a new course of action.

> >
> > fish> $command1
> > fish: Invalid character '$' in command name.  Only alphabetic and
> > numeric characters and underscore are valid.  If you are trying to use
> > the variable 'command1' as a command, define a function instead.

I changed this to be:

fish> $PWD
fish: Variables may not be used as commands. Define a function like
'function PWD; /mnt/home/axel/code/c/fish_current $argv; end' instead.
For more information, see the help section for the function command by
typing 'help function'.

if the variable exists, and

fish> $ggg
fish: Variables may not be used as commands. Define a function
instead. For more information, see the help section for the function
command by typing 'help function'.

when no variable $ggg exists, for the same reasons.

> >
> > fish> sayhello
> > fish: Unknown command 'sayhello'
> >
> > fish> function say!hello; echo hello; end
> > fish: Invalid character '!' in function name.  Only alphabetic and
> > numeric characters and underscore are valid.
> >

Since posix does not prevent filenames from containing a '!', I think
this error is misleading. There could have been a command called
'say!hello' and it would run just fine.

>
> Absolutely! I'll go over these and improve them. More suggestions are welcome.

At the suggestion of another user in a private mail, I've also added
checks to make sure that PATH, CDPATH and friends only contain actual
directories, which allows us to show an error message like this when a
user is using the PATH as if it was a colon-separated list and not an
array:

fish> set PATH $PATH:.
set: Could not add component /usr/local/bin:. to PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH .'?

Comments on these new error messages are welcome, especially language
corrections..

--
Axel


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
Fish-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to