/
2.4.5/dgd/include/
2.4.5/dgd/std/
2.4.5/dgd/sys/
2.4.5/doc/LPC/
object user;		/* user for this editor */

/*
 * NAME:        edit()
 * DESCRIPTION: handle an editor command
 */
varargs void edit(string cmd)
{
    if (user == 0 && previous_object() == this_user()->query_player()) {
        user = this_user();
        cmd = editor(cmd);
    } else if (previous_object() == user) {
        cmd = editor(cmd);
    }
    if (cmd != 0) {
	user->catch_tell(cmd);
    }
}

/*
 * NAME:        rescue_file()
 * DESCRIPTION: attempt to rescue the currently edited file
 */
void rescue_file()
{
    string file, *path;

    if (previous_object() != user) {
        return;
    }

    if (query_editor(this_object()) == "input") {
	editor(".");
    }
    if (sscanf(editor("f"), "\"%s\" [Modified] %*s", file) == 2) {
        set_this_player(user->query_player());
        path = explode(file, "/");
        editor("w! " + "/players/" + user->query_player()->query_real_name() +
               "/.dead_ed_files/" + path[sizeof(path) - 1]);
    }
}