Editor class

parent frob_class
object editor_class

eval
    .initialize();
    .set_name("Editor frob class");
.

method new
    arg text;

    if (type(text) != 'list)
	throw(~type, "Text is not a list.");
    return <this(), text>;
.

method handle_editor_command
    arg text, str;

    if (str == "done")
	return ['done, text];
    else if (str == "abort")
	return ['abort];
    else
	return ['not_done, <this(), text>];
.