Strange paste, string or package problem?
On Tue, 4 Mar 2008, Thomas Allen wrote:
Hi
I came across this strange bug the other day, I'm not sure how to solve it
and I wonder if anyone can even replicate it.
Using OS Ubuntu 7.10
Step 1) Make an R package using the package.skeleton() command with
only these two functions:
error <- function(){
cmd <- paste(" -a ",1," -a ",1," -a ",1,
" -a ",1," -a ",1," -a ",1,
" -a ",1," -a ",1," -a ",1,
" -a ",1," -a ",1," -a ",1,
" ?a ",1,sep="")
cat(cmd,"\n")
}
noerror <- function(){
cmd <- paste(" -a ",1," -a ",1," -a ",1,
" -a ",1," -a ",1," -a ",1,
" -a ",1," -a ",1," -a ",1,
" -a ",1," -a ",1," -a ",1,sep="")
cat(cmd,"\n")
}
Step 2) Start R again. Load the package with library() and run the commands:
error()
noerror()
I get the following output:
library(errors)
error()
-a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 <e2><80><93>a 1
noerror()
-a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1
Now why does that "<e2><80><93>" replace one of the "-" in the first command?
Because you put it there! I believe that at the first step you were running R in a UTF-8 locale, and at the second in (probably) an 8-bit locale. I can reproduce this by changing from en_GB.utf8 to en_GB on F8, for example. <e2><80><93> is UTF-8 for the Unicode point U+2013, the en dash. I don't know how you managed to enter that in UTF-8 (I would have not have expected it to be accidentally possible from the keyboard), but the solution is to use hyphen where you intend hyphen. (Unicode calls this 'HYPHEN-MINUS' to indicate its dual role -- it also has U+2212 for minus.)
Any ideas? Cheers Tom -- Thomas Allen Department of Biochemistry University of Otago email1: hedbag at gmail.com email2: allth025 at student.otago.ac.nz Work: (+64)3 479 5123 Mobile: 027 321 4269
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
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