[Rd] (PR#10534 capture.output(), truncated last output without
maechler at stat.math.ethz.ch
maechler at stat.math.ethz.ch
Sat Dec 29 14:10:22 CET 2007
>>>>> "BDR" == Brian Ripley <ripley at stats.ox.ac.uk>
>>>>> on Sat, 29 Dec 2007 13:20:14 +0100 (CET) writes:
BDR> This only happens if 'file' is a text connection, and
BDR> is the expected behaviour in that case: you cannot
BDR> capture an incomplete line to a text connection.
BDR> There seems no reason to break the documented behaviour
BDR> in other cases to change something that you consider to
BDR> a bug when file=NULL and the user does not produce
BDR> complete output. It would be possible to make use of
BDR> isIncomplete() to add a final newline only where needed
BDR> to complete a line. E.g. use
BDR> if(inherits(file, "textConnection") && isIncomplete(file)) cat("\n")
I think that would be quite a nice improvement.
Martin
BDR> On Sat, 29 Dec 2007, phgrosjean at sciviews.org wrote:
>> Full_Name: Philippe Grosjean Version: 2.6.1 OS: MacOS X;
>> Windows XP Submission from: (NULL) (81.243.237.235)
>>
>>
>> Last output from capture.output() is truncated if it does
>> not end with a carriage return:
>>
>>> capture.output(cat("text\n")) # Fine
>> [1] "text"
>>> capture.output(cat("text")) # Missing output!
>> character(0)
>>> capture.output({cat("text");1+1}) # Only last output is
>>> affected
>> [1] "text[1] 2"
>>
>> Proposed patch: add a carriage return before exiting
>> capture.output():
>>
>> capture.output <- function (..., file = NULL, append =
>> FALSE) {
>>
>>
>> [...]
>>
>> for (item in tmp) if (item$visible) print(item$value) }
>> cat("\n") ### ADD THIS! rval }
>>
>> This changes the behavior of capture.output() a little
>> bit, since it adds "" at the end of regular outputs, but
>> it solves the problem and it allows to detect if last
>> output line was ended by \n, or not.
>>
>> Regards,
>>
>> Philippe Grosjean _ platform i386-apple-darwin8.10.1 arch
>> i386 os darwin8.10.1 system i386, darwin8.10.1 status
>> major 2 minor 6.1 year 2007 month 11 day 26 svn rev 43537
>> language R
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
BDR> Professor of Applied Statistics,
BDR> http://www.stats.ox.ac.uk/~ripley/ University of
BDR> Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road,
BDR> +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865
BDR> 272595
BDR> ______________________________________________
BDR> R-devel at r-project.org mailing list
BDR> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list