>>>>> Martin Maechler <maech...@stat.math.ethz.ch> >>>>> on Tue, 3 Apr 2018 17:03:02 +0200 writes:
>>>>> Francois Rousset <francois.rous...@umontpellier.fr> >>>>> on Tue, 3 Apr 2018 16:38:42 +0200 writes: >> Dear list members, >> If I install with R-devel r74500 on Windows (sessionInfo below) the >> attached 'bugdemo' package with the single function >> foo <- function() { >> named <- c("bar"=TRUE) >> print(named) >> return(named) >> } >> then run >>> bugdemo::foo() >> [1] TRUE >> [1] TRUE >> The "bar" name is lost. It is not lost when I define foo in the R >> session instead of using its packaged version. >> To reproduce: >> ======================================= >> install.packages("bugdemo_0.1.1.tar.gz",type="source",repos=NULL) >> bugdemo::foo() >> ======================================= >> I also tested whether this was a problem with the "R CMD build" step or >> the "install.packages()" step by building with R 3.4.4 and installing >> with R-devel, and reciprocally, and the problem appears to be in the >> install step of R-devel. > Confirmed. > It is a bug somewhere between the byte compiler and > (de)serialization .. really beyond my own expertise: > If you install without byte compilation *), foo() behaves as > expected, i.e., does not "lose" the names. > On the other hand, as you mention, if you define foo in the > globalenv, and call it, the JIT kicks in pretty quickly and you > can see that 'foo' is byte compiled as well, but it still does not break. > This is pretty important, so thank you very much for the nice > reproducible report! > Martin Maechler > ETH Zurich > --- > *) R-devel CMD INSTALL --no-byte-compile -l ... This has been fixed now, both in R-devel (svn rev 74511) and in R 3.5.0 alpha (r 74513). I was wrong in that this was related to (de)serialization. Rather I had forgotten that JIT (just in time) compilation and explicit compilation may differ in their results. Thank you again for the report! Martin Maechler ETH Zurich >> ============= >>> sessionInfo() >> R Under development (unstable) (2018-03-31 r74500) [ ........... ] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel