SYNOPSIS
	int command(string str)
	int command(string str, object ob)

DESCRIPTION
	Execute str as a command given directly by the user. Any
	effects of the command will apply to the current object,
        or to the given <ob>ject.
	
	Return value is 0 for failure. Otherwise a numeric value is
	returned which tells the evaluation cost. Bigger number means
	higher cost.  The evaluation cost is approximately the number
	of LPC machine code instructions executed.

	If command() is called on another object, it is not possible
	to call static functions in this way, to give some protection
	against illegal forces.

        Commands are stacked, meaning that after the given command <str>
        has finished, the old settings of this_player(), query_verb()
        etc, are restored.

HISTORY
        Up to 3.2.6 in native mode, commands could be applied to the current
        object only.
        Since 3.2.7, commands are stacked.

SEE ALSO
	command_stack(E), notify_fail(E), enable_commands(E), get_eval_cost(E)
