patchCode.Rd
Patches installed and loaded packages and more.
# S3 method for default
patchCode(paths=NULL, recursive=TRUE, suppressWarnings=TRUE,
knownExtensions=c("R", "r", "S", "s"), verbose=FALSE, ...)
The path to the directory (and subdirectories) which
contains source code that will patch loaded packages.
If NULL
, the patch path is given by the option R_PATCHES
,
If the latter is not set, the system environment with the same name
is used. If neither is given, then ~/R-patches/
is used.
If TRUE
, source code in subdirectories will also
get loaded.
A character
vector
of filename extensions
used to identify source code files. All other files are ignored.
If TRUE
, extra information is printed while patching,
otherwise not.
Not used.
Returns (invisibly) the number of files sourced.
The method will look for source code files (recursively or not) that
match known filename extensions. Each found source code file is
then source
()d.
If the search is recursive, subdirectories are entered if and only if either (1) the name of the subdirectory is the same as a loaded (and installed) package, or (2) if there is no installed package with that name. The latter allows common code to be organized in directories although it is still not assigned to packages.
Each of the directories given by argument paths
will be
processed one by one. This makes it possible to have more than one
file tree containing patches.
To set an options, see options
(). To set a system
environment, see Sys.setenv
().
The character ;
is interpreted as a separator. Due to
incompatibility with Windows pathnames, :
is not a
valid separator.
if (FALSE) {
# Patch all source code files in the current directory
patchCode(".")
# Patch all source code files in R_PATCHES
options("R_PATCHES"="~/R-patches/")
# alternatively, Sys.setenv("R_PATCHES"="~/R-patches/")
patchCode()
}