The deparse function has an argument "width.cutoff" which allows you
to set the width at which line breaking is attempted. However, setting
this argument _permanently_ changes the line break width.
Looking at the source code ($RHOME/src/main/deparse.c), I see that the
width.cutoff argument sets the static variable "cutoff". Although the
function do_deparse behaves correctly - overwriting cutoff with the
default value if not given a second argument - other R functions (such
as print and edit) call deparse1 which doesn't do this. Hence they use
the modified cutoff value.
A quick fix would be to get do_deparse to reset cutoff to the default
value after calling deparse1 but before returning.
Martyn
> #Use function trunc as an example
> #This normally prints on two lines
> trunc
function (x)
ifelse(x < 0, ceiling(x), floor(x))> #Now deparse with narrow cutoff
> deparse(trunc,20)
[1] "function (x) "
[2] "ifelse(x < 0, ceiling(x), "
[3] " floor(x))" > #Cutoff 20 is used next time you print anything
> trunc
function (x)
ifelse(x < 0, ceiling(x),
floor(x))> #Cutoff is reset to default when you call
> #deparse without width.cutoff argument
> deparse(trunc)
[1] "function (x) "
[2] "ifelse(x < 0, ceiling(x), floor(x))"> #Default cutoff (60) is now used when you print
> trunc
function (x)
ifelse(x < 0, ceiling(x), floor(x))
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To:
r-devel-request@stat.math.ethz.ch
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-