MOO-cows Mailing List Archive


Re: Another suggestion

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.



Home | Subject Index | Thread Index