[R] cat(), Rgui, and support for carriage return \r...
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Mar 28 18:00:11 CEST 2006
Rgui now supports \r in the same way as rterm.
On Sun, 19 Mar 2006, Duncan Murdoch wrote:
> On 3/18/2006 2:39 PM, Duncan Murdoch wrote:
>> On 3/17/2006 9:44 AM, Jeffrey Racine wrote:
>>> Hi, and thanks in advance for your time.
>>>
>>> Background - I am working on a package and wish to have a routine's
>>> progress reported. The routine can take some time, and I would like to
>>> inform the user about the routine's progress. I have scoured the
>>> archives but to no avail, so would like to solicit input from this list.
>>>
>>> I am successfully using
>>>
>>> cat("\rBootstrap replication ", i, " of ", boot.num,)
>>> flush.console() # To flush stdout on windows systems
>>>
>>> which works as expected on *NIX systems and using Rterm under windows.
>>> However, under Rgui the carriage return \r is ignored, and I certainly
>>> don't want to use the newline escape sequence \n. Under Rgui it appears
>>> as
>>>
>>> Bootstrap replication 1 of 399Bootstrap replication 2 of 399Bootstrap...
>>>
>>> but I want it to function properly if at all possible.
>>>
>>> My question is simply whether there is a portable way to implement this
>>> so that it works regardless of the R platform the user may be working
>>> on?
>>>
>>> Many thanks for any/all suggestions.
>>
>> I've just been looking at the source code for this. I think it will be
>> relatively easy to make \r in Rgui do a destructive CR (i.e. it will
>> return to the start of the line, but clear any existing characters).
>> I'll play around a bit and then do that for R-devel.
>
> Oops, this was a bad idea. I did commit the change for a while, but
> have reverted it now.
>
> It seems that the help system displays help pages by writing CR LF at
> the end of each line; the CR is \r, and my change above caused it to
> wipe out the line it had just written. The help pages ended up
> completely blank.
>
> I may look into supporting \r as a non-destructive CR, but that's
> harder, because it means low-level changes to the console display.
> Right now it only writes to the end of the text buffer; this would mean
> it would sometimes write to a spot before the end. I don't think it
> would be impossible to do, but it will take more time than I have right now.
>
> Duncan Murdoch
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list