TIBCO® Enterprise Runtime for R

New Features

The following features have been added to version 6.0.0 of TERR.

TERR 6.0.0 has changed to accommodate the changes made to open-source R version 4.0.2.

New implementation for R 4.0.2 compatiblity
TERR has new functions and changes to existing functions and behavior to match new functions and changes in open-source R 4.0.2.
rtools40 compatibility
TERR has been tested with the rtools40 utilities for building packages with C code under Windows.
Other improvements
TERR CMD config now supports the RANLIB and AR make variables and the C++ related variables for C++20 (similar to the ones for 11, 14, and 17).
Table 1. New functions in included packages
Package Name Details
base
activeBindingFunction(sym,env)
 
This function retrieves the function for the active binding, the fun argument to makeActiveBinding(sym,fun,env).
base
chkDots
 This function warns the user if unrecognized arguments are passed using the ... formal argument.
base
deparse1
This function is like deparse(), except that it always returns a single (perhaps long) string. This function was added to open-source R 4.0.0.
base
globalCallingHandlers
This function is used for establishing session-wide condition handlers. This function was added to open-source R 4.0.0.
base
hasName(x, name)
This function is equivalent to is.element(name, names(x)). Given an object and a name, this function returns if the object has the name.
base
infoRDS
This function provides details about an RDS file made by saveRDS().
base
...names
This function returns the names attached to the ... arguments in the call to a function calling ...names(). This function was added to open-source R a short time after the release of open-source R 4.0.0.
base
numToBits
numToInts
These functions inspect the bits in double-precision numbers. These functions were added to open-source R after the release of open-source R 4.0.2.
base
str2expression
str2lang
These functions provide convenient interfaces for parsing strings into expressions and language objects, respectively.
base
suspendInterrupts(expr)
allowInterrupts(expr)
These functions execute an expression while suspending or enabling user interrupts. Finalizers are now executed with interrupts suspended.
base
tryInvokeRestart
This function behaves the same as invokeRestart, except that it silently returns NULL instead of generating an error if the named restart is not found. This function is called in various system functions, preventing errors in some cases. This function was added to open-source R 4.0.0.
base
valid.factor(object)
This function was added to open-source R 3.4.0.
base
withAutoprint
This function is an alternative interface to the source() function, with defaults set to emulate the usual parse-evaluate-print loop used in the command line interface. This function was added to open-source R 4.0.0.
methods
el
el<-
These functions have been implemented because they are used by the networkDynamics package. They are wrappers for other operators for backwards compatibility and should not be used for new code.
stats
DF2formula
This function was added to open-source R 3.6.0.
tools
package_native_routine_
registration_skeleton
This function creates a C code file that registers the compiled routines in a package.
tools
R_user_dir
This function gives standard locations for user- and package-specific directories in which package writers can store folders, files, and objects. This function was added to open-source R 4.0.0. 
tools
vignetteInfo
This function parses the %\Vignette* entries in the source file of a vignette.
utils
isS3stdGeneric(f)
This function tells if the function f is a call to UseMethod().
utils
packageDate
Given a package name, this function returns the date the package was created or built.
Table 2. New R C API EntriesThe following R C API entries are implemented to improve package loading and compatibility. For a complete listing of the Rapi C API entries implemented in TERR, run the following.
library(terrUtils)
implementedRapiEntries()
R C API entries Description
CAR0
This RAPI entry is required if you use the Rcpp library built for open-source R 4.0 to load into TERR.
Rf_lgamma
This RAPI entry computes log(gamma(1+x)) accurately for small abs(x).
EXTPTR_PTR
This RAPI entry is used by the Rcpp packages in open-source R 4.0.2.
R_ActiveBindingFunction
This RAPI entry has the same behavior as the open-source R function activeBindingFunction().

This RAPI entry was added to open-source R 4.0.0.

R_ContinueUnwind
R_MakeUnwindCont
R_UnwindProtect
These RAPI entries are now fully implemented to correctly facilitate unwinding an error and continuing error processing using a continuation object.

R C API entries Description
GEStrMetric 
This RAPI entry is required for the systemfonts package to be loaded. GEStrMetric is not functional, so calls to it do not give expected results; Calls to it result in a warning.
R_removeVarFromFrame
This RAPI entry is used for removing a variable from an environment. This is useful because Rf_defineVar can no longer be used to remove a variable from an environment.

This function was added to match the implementation in open-source R 4.0.0.

R_RestoreHashCount
This RAPI entry is needed to load the qs package.
R_tryCatch
R_tryCatchError
These RAPI entries were added to open-source R 3.4.0.
R_withCallingErrorHandler
This RAPI entry was added to open-source R 4.0.0.
Rf_FixupDigits
Rf_FixupWidth
These RAPI entries were added to open-source R 4.0.0.
Rf_installNoTrChar
(See Rf_installTrChar.)
Rf_installTrChar
This RAPI entry has the same behavior as Rf_installChar. It supports building and loading CRAN packages such as lfe that call installChar, which expands to Rf_installTrChar, beginning with R 4.0.0.
Rf_log1mexp
This RAPI entry computes log(1-exp(-x)) for non-negative x with minimal loss of precision.
Rf_onintr
This RAPI entry is fully implemented so it no longer produces a "not implemented" warning. Now, the RAPI entry interrupts the current evaluation. Interrupts created by a call to Rf_onintr, or by pressing an interrupt key combination, are now processed through the condition system, so they can be caught by tryCatch(...,interrupt=...).
SET_GROWABLE_BIT
IS_GROWABLE
These RAPI entries are required to load the readr package v1.4.0.
SETLEVELS
This RAPI entry is needed to load the qs package.
R_EvalSymbol
This R C API symbol is now exported so that packages using it can be loaded into TERR.
Rf_PairToVectorList(SEXP pairlist)
This R C API entry converts a pairlist to a list.
R_Serialize
R_Unserialize
R_InitOutPStream
R_InitInPStream
These R C API entries are called by the qs and RApiSerialize packages.