# call_function() and $bf_FOO()

slayer@kaiwan.com (slayer@kaiwan.com)
Sat, 27 Apr 1996 18:08:21 PDT

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

    At 05:43 PM 4/27/96 PDT, Don Schwarz wrote:
    >  3) call_function() should be changed so that if the first argument isn't
    >a known built-in function, it checks to see if a callable verb is defined on
    >#0 with the name bf_<name of function>, which will be called in the same way
    >that it would be if the function existed and was protected.  This will allow
    >people to do something like:
    >    #0:bf_listassoc this none this rxd
    >      try
    >        return call_function("listassoc", @args);
    >      except e (E_INVARG)
    >        return $list_utils:assoc(@args);
    >      endtry
    >and have the listassoc() built-in work whether the patch was installed or
    >not.
    >
    that sounds like a good idea, but say I have a $bf_* verb with a lot of
    aliases and want it to parse the arguments and then call the verb with
    call_function()... which will call the $bf_* verb and loop again....

    btw whoever maintains the server next should consider adding
    listassoc()/iassoc().. but remember not to have it case insensitive like the
    current patch.

    >Oh, and while I'm at it, shouldn't the MOO panic when #0 is recycled?  Or
    >maybe just make recycle() refuse to recycle it?  I don't see how the MOO
    >could function at all without #0, nor do I see any reason why it should
    >ever need to be recycled.  Of course recycling $player could probably do
    >just as much damage, but the server doesn't directly communicate with
    >$player like it does with #0.
    >                                                 --Dark_Owl
    >
    just fix $bf_recycle then... you could just get rid of #0:do_login_command
    and be just as screwed.

    >
    >

    This is not a signature.