From hb@maths.lth.se  Tue Aug 13 09:57:33 2002
From: hb@maths.lth.se (hb@maths.lth.se)
Date: Tue, 13 Aug 2002 10:57:33 +0200 (MET DST)
Subject: R CMD check: Too long [R] code line generated (PR#1900)
Message-ID: <200208130857.KAA07497@pubhealth.ku.dk>

Full_Name: Henrik Bengtsson
Version: 1.5.1
OS: WinMe
Submission from: (NULL) (217.210.0.243)


In the Perl script $R_HOME/bin/check there is a bug under the section "Check R
code for syntax errors" where the 'Rfiles <- c(...)' is build up. If there are
too many files in @Rfiles the source code line generated will be too long and
weird things will happen, e.g. strange bytes/characters will be inserted.

SUGGESTION/SOLUTION:
Add a new line character after each "join";

 $Rcmd .= join("\",\n \"", @Rfiles) . "\")\n";

instead of

 $Rcmd .= join("\", \"", @Rfiles) . "\")\n";


SUGGESTION II:
I ran into similar problems in other situations where I autogenerated too long
source lines. The errors where hard to reproduce and took time to find. It would
be nice if the [R] parser, or some previous engine that reads the source file,
could given an explicit error saying that the "line was too long".

EXAMPLE:
In my case I got in perl '@Rfiles' was:
"R/LogBook.R R/LogEntry.R R/GenePixData.R R/Layout.R R/ImaGeneData.R
R/MicroarrayData.PLOT.R R/QualityData.R R/MicroarrayData.R R/MAData.R
R/MAData.NORM.R R/zzz.R R/Replicates.R R/SMA.R R/FieldFilter.R R/Filter.R
R/QuantArrayData.R R/RGData.R R/RawData.R R/000.R R/MicroarrayData.IO.R
R/LayoutGroups.R R/BFilter.R R/com.braju.sma.R R/Copy of TFilter.R R/Copy of
SSMatrix.R R/private.utils.R R/WangetalData.R R/KHessFilter.R R/DfFilter.R
R/SpotData.R R/ScanAlyzeData.R R/BMAData.R R/AFilter.R R/MFilter.R
R/Layout.obsolete.R R/AndFilter.R R/OrFilter.R R/SEFilter.R R/TFilter.R
R/AcceptFilter.R R/SpotPosition.R R/SerialFilter.R R/GSRArray.R
R/MultiwayArray.R R/KHessData.R R/GeneAcceptFilter.R R/GeneData.R
R/GeneRejectFilter.R R/TMAData.R R/NotFilter.R R/ParallelFilter.R
R/RejectFilter.R R/ReplicateOutlierFilter.R R/WorkData.R R/Matrix.R
R/MicroarrayData.LOG.R R/MicroarrayData.NORM.R R/SSMatrix.R"

but in [R] 'Rfiles' became:
 [1] "R/LogBook.R"                   "R/LogEntry.R"                 
 [3] "R/GenePixData.R"               "R/Layout.R"                   
 [5] "R/ImaGeneData.R"               "R/MicroarrayData.PLOT.R"      
 [7] "R/QualityData.R"               "R/MicroarrayData.R"           
 [9] "R/MAData.R"                    "R/MAData.NORM.R"              
[11] "R/zzz.R"                       "R/Replicates.R"               
[13] "R/SMA.R"                       "R/FieldFilter.R"              
[15] "R/Filter.R"                    "R/QuantArrayData.R"           
[17] "R/RGData.R"                    "R/RawData.R"                  
[19] "R/000.R"                       "R/MicroarrayData.IO.R"        
[21] "R/LayoutGroups.R"              "R/BFilter.R"                  
[23] "R/com.braju.sma.R"             "R/Copy of TFilter.R"          
[25] "R/Copy of SSMatrix.R"          "R/private.utils.R"            
[27] "R/WangetalData.R"              "R/KHessFilter.R"              
[29] "R/DfFilter.R"                  "R/SpotData.R"                 
[31] "R/ScanAlyzeData.R"             "R/BMAData.R"                  
[33] "R/AFilter.R"                   "R/MFilter.R"                  
[35] "R/Layout.obsolete.R"           "R/AndFilter.R"                
[37] "R/OrFilter.R"                  "R/SEFilter.R"                 
[39] "R/TFilter.R"                   "R/AcceptFilter.R"             
[41] "R/SpotPosition.R"              "R/SerialFilter.R"             
[43] "R/GSRArray.R"                  "R/MultiwayArray.R"            
[45] "R/KHessData.R"                 "R/GeneAcceptFilter.R"         
[47] "R/GeneData.R"                  "R/GeneRejectFilter.R"         
[49] "R/TMAData.R"                   "R/NotFilter.R"                
[51] "R/ParallelFilter.R"            "R/RejectFilter.R"             
[53] "R/ReplicateOutlierFilter.R"    "R/WorkData.R"                 
[55] "R/Matrix.R"                    "R/Micr\b_IoarrayData.LOG.R"
[57] "R/MicroarrayData.NORM.R"       "R/SSMatrix.R"   

Look at the 56 element. Trying to add or remove files, I found that this was
always happening at the same column in the Rfiles row and inferred that this is
due to the maximum line length in [R] source files. Correct?

Best wishes

Henrik Bengtsson


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


R CMD check: Too long [R] code line generated (PR#1900)
hb@maths.lth.se