[Rinside-commits] r273 - in pkg: . inst inst/examples/standard inst/include src
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Wed Feb 13 02:55:50 CET 2013
Author: edd
Date: 2013-02-13 02:55:49 +0100 (Wed, 13 Feb 2013)
New Revision: 273
Modified:
pkg/ChangeLog
pkg/DESCRIPTION
pkg/inst/NEWS.Rd
pkg/inst/examples/standard/Makefile
pkg/inst/include/RInside.h
pkg/src/RInside.cpp
Log:
* inst/include/RInside.h: Set default value of loadRcpp to true
* src/RInside.cpp: Assign R's global env. only after R has been
loaded, also load Rcpp unconditionally
* minor touch-up in examples/standard/Makefile to visuall separate runs
Modified: pkg/ChangeLog
===================================================================
--- pkg/ChangeLog 2013-01-24 01:38:35 UTC (rev 272)
+++ pkg/ChangeLog 2013-02-13 01:55:49 UTC (rev 273)
@@ -1,3 +1,10 @@
+2013-02-12 Dirk Eddelbuettel <edd at debian.org>
+
+ * inst/include/RInside.h: Set default value of loadRcpp to true
+
+ * src/RInside.cpp: Assign R's global env. only after R has been
+ loaded, also load Rcpp unconditionally
+
2013-01-23 Dirk Eddelbuettel <edd at debian.org>
* inst/examples/mpi/rinside_mpi_sample4.cpp: Added new example
Modified: pkg/DESCRIPTION
===================================================================
--- pkg/DESCRIPTION 2013-01-24 01:38:35 UTC (rev 272)
+++ pkg/DESCRIPTION 2013-02-13 01:55:49 UTC (rev 273)
@@ -1,6 +1,6 @@
Package: RInside
Title: C++ classes to embed R in C++ applications
-Version: 0.2.10
+Version: 0.2.10.1
Date: $Date$
Author: Dirk Eddelbuettel and Romain Francois
Maintainer: Dirk Eddelbuettel <edd at debian.org>
@@ -20,7 +20,7 @@
.
Doxygen-generated documentation of the C++ classes is available at the
RInside website as well.
-Depends: R (>= 2.10.0), Rcpp (>= 0.8.5)
+Depends: R (>= 2.10.0), Rcpp (>= 0.10.2.4)
LinkingTo: Rcpp
URL: http://dirk.eddelbuettel.com/code/rinside.html
License: GPL (>= 2)
Modified: pkg/inst/NEWS.Rd
===================================================================
--- pkg/inst/NEWS.Rd 2013-01-24 01:38:35 UTC (rev 272)
+++ pkg/inst/NEWS.Rd 2013-02-13 01:55:49 UTC (rev 273)
@@ -6,6 +6,9 @@
\itemize{
\item Added new MPI example with worker functions and RInside
instance, kindly contributed by Nicholas Pezolano and Martin Morgan
+ \item Ensure that Rcpp is loaded, and assign the global R environment
+ only after Rcpp has been loaded
+ \item Minimum Rcpp version is now 0.10.2.4
}
}
Modified: pkg/inst/examples/standard/Makefile
===================================================================
--- pkg/inst/examples/standard/Makefile 2013-01-24 01:38:35 UTC (rev 272)
+++ pkg/inst/examples/standard/Makefile 2013-02-13 01:55:49 UTC (rev 273)
@@ -49,4 +49,4 @@
rm -vrf *.dSYM
runAll:
- for p in $(programs); do echo "Running $$p"; ./$$p; done
+ for p in $(programs); do echo ""; echo ""; echo "Running $$p"; ./$$p; done
Modified: pkg/inst/include/RInside.h
===================================================================
--- pkg/inst/include/RInside.h 2013-01-24 01:38:35 UTC (rev 272)
+++ pkg/inst/include/RInside.h 2013-02-13 01:55:49 UTC (rev 273)
@@ -3,7 +3,7 @@
// RInside.h: R/C++ interface class library -- Easier R embedding into C++
//
// Copyright (C) 2009 Dirk Eddelbuettel
-// Copyright (C) 2010 - 2012 Dirk Eddelbuettel and Romain Francois
+// Copyright (C) 2010 - 2013 Dirk Eddelbuettel and Romain Francois
//
// This file is part of RInside.
//
@@ -81,7 +81,8 @@
RInside() ;
RInside(const int argc, const char* const argv[],
- const bool loadRcpp=false, const bool verbose=false, const bool interactive=false);
+ const bool loadRcpp=true, // overridden in code, cannot be set to false
+ const bool verbose=false, const bool interactive=false);
~RInside();
void setVerbose(const bool verbose) { verbose_m = verbose; }
Modified: pkg/src/RInside.cpp
===================================================================
--- pkg/src/RInside.cpp 2013-01-24 01:38:35 UTC (rev 272)
+++ pkg/src/RInside.cpp 2013-02-13 01:55:49 UTC (rev 273)
@@ -3,7 +3,7 @@
// RInside.cpp: R/C++ interface class library -- Easier R embedding into C++
//
// Copyright (C) 2009 Dirk Eddelbuettel
-// Copyright (C) 2010 - 2012 Dirk Eddelbuettel and Romain Francois
+// Copyright (C) 2010 - 2013 Dirk Eddelbuettel and Romain Francois
//
// This file is part of RInside.
//
@@ -90,7 +90,7 @@
RInside::RInside(const int argc, const char* const argv[], const bool loadRcpp,
const bool verbose, const bool interactive)
#ifdef RINSIDE_CALLBACKS
-: callbacks(0)
+ : callbacks(0)
#endif
{
initialize(argc, argv, loadRcpp, verbose, interactive);
@@ -167,9 +167,7 @@
#endif
R_SetParams(&Rst);
- global_env_m = R_GlobalEnv ;
-
- if (loadRcpp) { // if asked for, load Rcpp (before the autoloads)
+ if (true || loadRcpp) { // we always need Rcpp, so load it anyway
// Rf_install is used best by first assigning like this so that symbols get into the symbol table
// where they cannot be garbage collected; doing it on the fly does expose a minuscule risk of garbage
// collection -- with thanks to Doug Bates for the explanation and Luke Tierney for the heads-up
@@ -178,8 +176,10 @@
Rf_eval(Rf_lang2(suppressMessagesSymbol, Rf_lang2(requireSymbol, Rf_mkString("Rcpp"))), R_GlobalEnv);
}
- autoloads(); // loads all default packages
+ global_env_m = R_GlobalEnv; // member variable for access to R's global environment
+ autoloads(); // loads all default packages, using code autogenerate from Makevars{,.win}
+
if ((argc - optind) > 1){ // for argv vector in Global Env */
Rcpp::CharacterVector s_argv( argv+(1+optind), argv+argc );
assign(s_argv, "argv");
More information about the Rinside-commits
mailing list