[Coldstuff] To all cold admins out there: bug fixes

Bruce Mitchener coldstuff@cold.org
Sun, 13 Jan 2002 11:27:28 -0700


Brandon Gillespie wrote:
 > On Sun, Jan 13, 2002 at 01:01:48AM +0100, xmath wrote:
 >
 >>3. Users can be trapped in a $location with no means of escape, by
 >>overriding $location.will_leave to always throw an error. Solution:
 >>allow the manager of an object to eject it. On a side note: perhaps
 >>eject should allow ejecting objects to their .home() instead. And why
 >>not add an argument to .move_to to remove the will-checks (will_move,
 >>will_leave, will_arrive) if the sender() is properly authorized.
 >>eject can then just check perms and determine the right destination,
 >>and call the unchecked version of .move_to. Saves code-duplication.
 >>An @eject command would be nice too (and @eject! for a rude version,
 >>in case the offending place *is* your home)
 >
 > What situations can you forsee where .will_leave would be throwing an
 > improper error AND the user wasn't the one who caused the error and
 > thus couldn't remove or fix .will_leave in their current location...?
 >
 > It seems more like a workaround for poorly written code; my personal
 > philosophy is if a programmer gets themselves in a bind, they can work
 > themselves out of it, rather than building the system to be able to be
 > nice to them for their oversight :)

No, the problem is that .will_leave and .will_arrive are called on the 
locations, so that's code that the user doesn't and can't control.  Yet 
that code can still trap them somewhere.

  - Bruce