SYNOPSIS:
        string traceprefix(string prefix)
        string traceprefix(int dummy)

DESCRIPTION:
        If called with a string, only objects matching this prefix will
        be traced. The string must not contain a leading "/" because
        the object names are stored internally without it. If called
        with a number, the traceprefix will be ignored and all objects
        will be traced. Returns the last traceprefix or 0 if there
        wasn't any.

EXAMPLE:
        object obj;
        string prefix;
        obj = find_player("deepthought");
        prefix = object_name(obj);
        prefix = prefix[1..strlen(prefix)-1]; /* cut off the leading "/" */
        traceprefix(prefix);
        trace(1|2|4|8);
        ...
        trace(0);
        
SEE ALSO:
        trace(E)
