On 7/13/09 4:06 PM, Derek Baum wrote:
I would also be happy with

x = hello world
x = "hello world"

being equivalent.

Gogo is based on RFC132,<
http://www.osgi.org/download/osgi-4.2-early-draft.pdf>
which defines the syntax of the TSL Language, so we need to be careful about
making apparently trivial changes that conflict with the RFC, as Gogo would
not then be compatible with other RFC132 implementations.

I think this is an important point to keep in mind. The point of Gogo is to try to standardize on a shell for OSGi frameworks, so if you want to run completely wild, you will likely need to create your own shell...which is fine.

However, RFC132 is only a draft and I'm sure that constructive comments will
be welcomed.
I have already raised some at osgi.org:<
https://www.osgi.org/bugzilla/buglist.cgi?bug_status=__open__>

And this is another important point to keep in mind too. The whole point of doing this in the open is to feed reasonable comments into the RFC before it becomes a spec.

We have a balancing act to perform.

-> richard

The use of backquotes for command execution was considered in the RFC, but
rejected because they can't easily be nested. However, bash and all modern
shells now support $(...) as an alternative to backquotes, and this
construct can be nested.

RFC132 already uses parenthesis () to create a literal LDAP expression. I'm
not sure that this is very useful, as a converter could be registered to
convert a string to an LDAP expression when required. This would then make
parenthesis available to be used as $(). I have mentioned this in
https://www.osgi.org/bugzilla/show_bug.cgi?id=50


Derek

2009/7/13 Hiram Chirino (JIRA)<[email protected]>

    [
https://issues.apache.org/jira/browse/FELIX-1325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12730430#action_12730430]

Hiram Chirino commented on FELIX-1325:
--------------------------------------

That raises more questions for me.

For me the sane way for a shell to handle assignment statements would have
been something like this.

x=Hello World
x="Hello World"
Either of the above are equivalent.  And no Hello is not executed as
command.  If you do want to evaluate a command, it would be something like:

x=<Hello World>
I would have preferred, using `Hello World` over<Hello World>, but it
seems you guys prefer the latter because it is easier to parse recursive
constructs.

Make sense?



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
            Assignee: Derek Baum
            Priority: Minor

2009/7/13 Hiram Chirino<[email protected]>  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.



Reply via email to