You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Derek Baum (JIRA)" <ji...@apache.org> on 2009/07/30 11:51:15 UTC

[jira] Assigned: (FELIX-1325) gogo doesn't report a command not found error unless an argument is supplied

     [ https://issues.apache.org/jira/browse/FELIX-1325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Derek Baum reassigned FELIX-1325:
---------------------------------

    Assignee:     (was: Derek Baum)

Guillaume Nodet wrote:
> I think we should really keep the fact that ${c} is equivalent to $c
> I'll try to dig a bit and find a better way to report error not founds while still supporting ${c}.

I agree.

currently '${' is parsed as two tokens, so {} defines a closure and then the $ executes the closure.

The problem is that we need a 'command not found' error when executing a closure fails,
except when we are using ${x} just for variable expansion, as we didn't really want to define a closure anyway.

One way to achieve this would be to change the parser to recognise '${' as a single token,
and then use this for variable expansion. We could then also support default value substitution like bash e.g. ${myvar:-default value}.



> gogo doesn't report a command not found error unless an argument is supplied
> ----------------------------------------------------------------------------
>
>                 Key: FELIX-1325
>                 URL: https://issues.apache.org/jira/browse/FELIX-1325
>             Project: Felix
>          Issue Type: Improvement
>          Components: Gogo
>            Reporter: Derek Baum
>            Priority: Minor
>         Attachments: FELIX-1325.patch
>
>
> 2009/7/13 Hiram Chirino <ch...@gmail.com> wrote:
>     But on related note... to the gogo developers: I would have expected a
>     command not found error when you type in a command that's not found.  This
>     seems to work fine if you pass an argument to a command.  It this a 'feature' or a bug?
> This is a 'feature', in that an undefined command silently returns itself, rather than an error.
> This is so that:
> > x = hello
> works; otherwise the assignment would fail, with a command not found error.
> Note: that
> > x = hello world
> will actually evaluate the 'hello' command with 'world' as an argument.
> > x = "hello world"
> tries to evaulate the 'hello world' command, which probably doesn't exist, so it falls back to returning the value, rather than unknown command.
> I think this can be simply resolved by avoiding re-evaluating an assignment with a single argument.
> This will mean that
> > x = hello
> works as it does currently, but that
> > hello
> will fail with 'unknown command', rather than simply return itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.