Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!decwrl!pa.dec.com!src.dec.com!stolfi From: stolfi (Jorge Stolfi) Newsgroups: comp.lang.modula3 Subject: Re: Formatter doesn't flush trailing blanks Message-ID: <9102151046.AA20813@jumbo.pa.dec.com> Date: 15 Feb 91 10:46:15 GMT Lines: 18 In-Reply-To: Message of Thu, 14 Feb 91 13:02:25 -0500 from Norman Ramsey <9102141802.AA11439@cs.Princeton.EDU> To: m3 X-Folder-Carbon: sent > [Norman Ramsey:] If the last character of a text is a blank, it > doesn't get flushed correctly by Formatter.Flush. This is a feature, not a bug. The Formatter code takes pains to suppress trailing blanks before line breaks (check DoPrintChar). You probably can solve your problem by using PutText(" ", raw := TRUE), instead of PutChar or plain PutText. The "raw" flag causes it to treat blanks as ordinary printing characters. By the way, note that Formatter.Flush is not a harmless operation like Wr.Flush, that you can insert anywhere without affecting the output. Formatter.Flush also closes all pending Begin and Align groups, and chooses breakpoints as if the expression ended there. (I intend to add a harmless Flush once Eric gets the ESP package working. 8-) --jorge