NAME
    move_object - move an object somewhere

    SYNOPSIS
    void move_object(oject, object dest|string destfilename)

    DESCRIPTION
    Moves the object 'obj' to the destination indicated by 'dest' or if the argument is a string 'destfilename' then move_object tries to load the corresponding object and move this_object to that destination.

    When an object moves from a destination all the commands it has defined in nearby objects using add_action through init, will be automatically removed. If this_object is a living object then all commands from nearby objects will be removed automatically.

    Upon entering the destination object each living object which becomes nearby will be set to this_player respectively and init will be run in the entering object. Thus letting it add its commands with add_action to each nearby living object.

    If the entering object is itself living, then this_player will be set to the entering object and init will be called in each object already in the destination. Init will also be called in the destination object which is normally a room.

    NOTA BENE
    In native-mode (most new muds are) move_object() may only move the object that calls it, ie. the first argument must be this_object(). Therefor you use object->move(dest) instead, where move is an lfun that (hopefully) moves the object where you tell it to.

    SEE ALSO
    add_action, enable_commands, disable_commands, this_player

    CAVEAT
    As init is called from 'within' the move_object function, care must be taken that an infinit loop is not created by moving the wrong object within an init routine. If you are doubtful, never move an object in init.