# Another suggestion

RICHARD JACOB CONNAMACHER (phantom@sfsu.edu)
Thu, 25 Jul 1996 18:28:26 PDT

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    On Wed, 24 Jul 1996, Brad Lawrence wrote:

    > Okay... Another suggestion from me... How about a way to skip out of a verb
    > and continue parsing.
    [bit describing how abort() would be used deleted...]

    I can think of one example that both shows the benefit and the drawback
    of this method at once.  Say someone created a * verb on her player
    class.  It interrupts all commands to see if they end with '> me.foobar',
    and, if so, it, with a hacked :notify, sticks the output of that command
    task into me.foobar, after it abort()s.  Yeah, I know it's a bad example
    because the '> me.foobar' will still be passed on to the _real_ command,
    but it's an example.  Now say that same programmer stuck some code in her
    * verb to bug it - now she can see every command that her class's members
    type, and the members won't be able to know, because parsing goes ahead
    as usual.

    A better example would be the Blinders Layer I proposed earlier to the
    sysadmin who was worried about guests accessing too much of the MOO.
    (The plan was to call for chparenting $guest, with all commands that the
    guest could ever have access to, to an object with one verb: * any any
    any (-x), that overrides all other commands typed.  The problem is that
    it opens up the possibility of the * verb being matched when someone
    types a command that includes the name of the guest as either the dobj or
    iobj.  Abort() here would allow the * verb to tell the server that, no,
    it didn't mean for the * verb to match with that, so go on with parsing.

    So I say abort() is a good idea.  Just make sure it's wiz only.

    Phantom