R CHANGES UNDER CONSIDERATION (30 Jan 1978) -- changes made --- leading ^C, ^R causes break don't remove trailing blanks in nofill mode FS changes both c and p fonts PF request removed TR takes 2 characters only WF and WA can take a full file name (if one name given then taken as extension) HV, VV requests ^F ring buffer (also used by FS) FONT, PFONT NR do not affect ring buffer Fwidth NR End_of_sentence NR -- likely changes -- Allow arb. space/tab to separate file name from font mode Should the no-space mode be reset when the vertical position is changed? (YES) .ms macro -> string CFDATE, CFTIME string registers Does ^X macro start in state=0? Should it? LESS LIKELY CHANGES Concealed newlines? Outfile SR/SR init? case shift request? Better way to handle tabs. Allow underlining of white space (internal prefix operator). A way to avoid widows? RD arg should always go to tty (error file on UNIX?) Should .nr font x interfere with ^F* (by changing old font)? At least document it. There apparently is some use for a "left-justify" character, other than the hpos hack, which perhaps should change. Could use a "relative tab" that does not break words or affect justification. Perhaps simply change semantics of .hp to always be relative (thus allow negative hpos until actually used). \^A"0 "doubles" quotes before inserting Should allow more than 10 macro arguments? Think about beginning-of-line and end-of-line traps (for line numbering and large character hacks) Perhaps the ES request should not copy the partial line. Recognize hyphen at end of input line in fill mode (?) Invisible hyphen character ^Y (?) LPT_TABs: if (n=lpt_tabs)>0 then assume that LPT has tab stops every n columns and use tabs for input tabs, ^Ps, etc. Should " matching only occur at one input level? How difficult to implement? Possible uses for remaining control characters: ^O - horizontal offset ^Y - hYphen R BUGS R MACRO BUGS R MACROS R MACRO DOCUMENTATION R MANUAL Ignore would be a good example. Should talk about using fixed-width fonts to get things lined up as in input (pf and tabs). Explain how character width is calculated, and what it means. space_width = width (' ') char_width = max (width (' '), min (2*width(' '), width ('0'))) Note that skipping statement bodies knows nothing about macro definitions. EQ needs example. Note that .\^Sfoo is possible.