Editor Command Set: should be possible anywhere within the parser. Tesler's modeless syntax. Possible syntax Iterator is {ALL, TO_END, TO_BEGINING, } System Inprovements: Make fontInfo[] a vector. Dynamically load fonts. Get rid of Globals.h. Make sure propagator does cut and merge zone for Region and fragments. Fob improvements: Display subzone -- clipXput is expensive. File readin of formatted text into an instance of fob. Multiple commandsets. Mouse support for gather region. Routine to perform division of a format zone. Routine to merge two zones. Make keymap an instance specific component. Region_find stuff. Highlighting. Separate into display (fdisp) component and edit (fedit) component Understanding: Will the propagator withstand a call from a region not listed in the Text Structure's regions vector? Cursors: New definition of cursor: Region, hooked into propagator. Write routines that will give a cursor position given an XY position in a line region. -- Hard! Formatting issue. Outliner: Adding formatting to outline: Make it a doc with refers to sub-components. System: The system is arranged as an array of documents. Each document is an array of components. A component is something that extends end to end along the document. Components are made up of simple or compound components. text formatting annotations | | | abcd timrom12 | | | | defh timrom12b Data Stream: Currently follows a scribe-like syntax @begin(component:type,name) @end(component ...) Defines a component (Unnamed component is main text inserted in-line) @begin(refer:cname, pname) @end(refer:cname, rname) Tie this text to component of name cname and give the link name rname. @begin(component: document, main) @begin(refer:format, f1) abcd @end(refer:format, f1) @begin(refer:format, f2) @begin(refer:ann_doc, ann_doc1) defh @end(refer:format, f2) @end(refer:format, ann_doc1) @end(component:document, main) @begin(component:format, f1) timrom12 @end(component:format, f1) @begin(component:format, f2) timrom12b @end(component:format, f2) @begin(component:ann_table, main) @begin(component:ann_doc, ann_doc1) @end(component:ann_doc, ann_doc1) @end(component:annotations, main) Command set: The commandset consists of a list of command sets searched in a particular order. Commandsets can be added to or deleted from the list by name. Commandsets consists of keytable, optable, menutable, helptable. Commandsets may also need a parser. Commandsets may also need timers for electric help. Commandsets may need to self-modify, or contain state and context.