On Tuesday 16 January 2007 05:22, Duncan Murdoch wrote: > On 1/15/2007 5:43 PM, Arne Henningsen wrote: > > On Monday, 15. January 2007 18:44, Duncan Murdoch wrote: > >> On 1/15/2007 11:23 AM, Arne Henningsen wrote: > >>> [...] > >>> I prefer to use "keep.source=FALSE", because I generally like that > >>> Sweave takes the job to format the code chunks. Therefore, it would be > >>> great if Sweave is allowed to introduce line breaks after forward > >>> slashes, e.g. if deparse() adds a blank after a forward slash. > >>> Please move this wish from "wishlst-fulfilled" to "wishlst". > >> > >> I don't think so. If I thought it was a reasonable request, I'd do > >> that, but it's not. You have a perfectly general solution to your > >> problem. > > > > However, setting "keep.source = FALSE" has (IMHO) one major advantage: > > I can easily (and globally) change the width of the code chunks by > > "options( width = XXX )", e.g. if I change the paper size, the margins or > > the font size. With "keep.source = TRUE", I would have to reformat all > > code chunks by hand and I generally prefer that my software (LaTeX, > > Sweave) does this task for me. Hence, "keep.source = TRUE" is not a > > "perfectly general solution" (at least) for me. > > No, you would only have to reformat the one code chunk where you set > keep.source = TRUE. It doesn't need to be a global option.
Okay, that's true, but I have more than one code chunk that is not nicely formatted because of "/" signs. (And I generally don't like manual formatting ;-)). Is there any reason for deparse() to add spaces around "+", "-", and "*" operators but not around "/" operators? R> deparse(parse( text = "a+b-c*d/e" )) [1] "expression(a + b - c * d/e)" > >> The fact that it isn't the one you want doesn't mean it needs > >> to be listed as an outstanding issue in the bug reporting system. > > > > Okay. Where can I list "minor" wishes? > > On your to-do list? Yes, that's a good idea! This is my patch of /src/main/names.c: --- names.c.orig 2007-01-16 11:03:24.000000000 +0100 +++ names.c 2007-01-16 10:30:43.000000000 +0100 @@ -149,7 +149,7 @@ {"+", do_arith, PLUSOP, 1, 2, {PP_BINARY, PREC_SUM, 0}}, {"-", do_arith, MINUSOP,1, 2, {PP_BINARY, PREC_SUM, 0}}, {"*", do_arith, TIMESOP,1, 2, {PP_BINARY, PREC_PROD, 0}}, -{"/", do_arith, DIVOP, 1, 2, {PP_BINARY2, PREC_PROD, 0}}, +{"/", do_arith, DIVOP, 1, 2, {PP_BINARY, PREC_PROD, 0}}, {"^", do_arith, POWOP, 1, 2, {PP_BINARY2, PREC_POWER, 1}}, {"%%", do_arith, MODOP, 1, 2, {PP_BINARY2, PREC_PERCENT,0}}, {"%/%", do_arith, IDIVOP, 1, 2, {PP_BINARY2, PREC_PERCENT,0}}, (I have removed some blanks so that each line fits in a single line) Now I get: R> deparse(parse( text = "a+b-c*d/e" )) [1] "expression(a + b - c * d / e)" Does this patch has any negative side effects? "make check" fails, but AFAIK this is just because of different positions of line breaks: [...] running code in 'reg-tests-2.R' ... OK comparing 'reg-tests-2.Rout' to './reg-tests-2.Rout.save' ...3639,3640c3639,3640 < aov(formula = dep.variable ~ f1 * f2 + Error(subject / (f1 + < f2)), data = sample.df) --- > aov(formula = dep.variable ~ f1 * f2 + Error(subject/(f1 + f2)), > data = sample.df) 3693,3694c3693,3694 < aov(formula = dep.variable ~ f1 * f2 + Error(subject / (f2 + < f1)), data = sample.df) --- > aov(formula = dep.variable ~ f1 * f2 + Error(subject/(f2 + f1)), > data = sample.df) make[3]: *** [reg-tests-2.Rout] Fehler 1 [...] > Duncan Murdoch Thank you for all your hints, Arne -- Arne Henningsen Department of Agricultural Economics University of Kiel Olshausenstr. 40 D-24098 Kiel (Germany) Tel: +49-431-880 4445 Fax: +49-431-880 1397 [EMAIL PROTECTED] http://www.uni-kiel.de/agrarpol/ahenningsen/ ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel