Add explicit namespace to non-base functions

This commit is contained in:
Winston Chang
2015-08-04 12:22:38 -05:00
parent 2abaffafcf
commit 241a482236
16 changed files with 56 additions and 51 deletions

3
NEWS
View File

@@ -24,6 +24,9 @@ shiny 0.12.1.9xxx
* Added two alias functions of `updateTabsetPanel()` to update the selected tab:
`updateNavbarPage()` and `updateNavlistPanel()`. (#881)
* All non-base functions are now explicitly namespaced, to pass checks in
R-devel.
shiny 0.12.1
--------------------------------------------------------------------------------

View File

@@ -91,7 +91,7 @@ shinyApp <- function(ui=NULL, server=NULL, onStart=NULL, options=list(),
#' file and either ui.R or www/index.html)
#' @export
shinyAppDir <- function(appDir, options=list()) {
if (!file_test('-d', appDir)) {
if (!utils::file_test('-d', appDir)) {
stop("No Shiny application exists at the path \"", appDir, "\"")
}

View File

@@ -37,7 +37,7 @@ writeReactLog <- function(file=stdout()) {
#'
#' @export
showReactLog <- function() {
browseURL(renderReactLog())
utils::browseURL(renderReactLog())
}
renderReactLog <- function() {
@@ -91,7 +91,7 @@ renderReactLog <- function() {
.graphAppend(list(
action = 'valueChange',
id = label,
value = paste(capture.output(str(value)), collapse='\n')
value = paste(utils::capture.output(utils::str(value)), collapse='\n')
))
}

View File

@@ -33,12 +33,12 @@ plotPNG <- function(func, filename=tempfile(fileext='.png'),
# Otherwise, if the Cairo package is installed, use CairoPNG().
# Finally, if neither quartz nor Cairo, use png().
if (capabilities("aqua")) {
pngfun <- png
pngfun <- grDevices::png
} else if ((getOption('shiny.usecairo') %OR% TRUE) &&
nchar(system.file(package = "Cairo"))) {
pngfun <- Cairo::CairoPNG
} else {
pngfun <- png
pngfun <- grDevices::png
}
pngfun(filename=filename, width=width, height=height, res=res, ...)
@@ -49,10 +49,10 @@ plotPNG <- function(func, filename=tempfile(fileext='.png'),
# by plot.new() with the default (large) margin. However, this does not
# guarantee user's code in func() will not trigger the error -- they may have
# to set par(mar = smaller_value) before they draw base graphics.
op <- par(mar = rep(0, 4))
tryCatch(plot.new(), finally = par(op))
dv <- dev.cur()
tryCatch(shinyCallingHandlers(func()), finally = dev.off(dv))
op <- graphics::par(mar = rep(0, 4))
tryCatch(graphics::plot.new(), finally = graphics::par(op))
dv <- grDevices::dev.cur()
tryCatch(shinyCallingHandlers(func()), finally = grDevices::dev.off(dv))
filename
}

View File

@@ -87,7 +87,7 @@ Progress <- R6Class(
stop("'session' is not a ShinySession object.")
private$session <- session
private$id <- paste(as.character(as.raw(runif(8, min=0, max=255))), collapse='')
private$id <- paste(as.character(as.raw(stats::runif(8, min=0, max=255))), collapse='')
private$min <- min
private$max <- max
private$value <- NULL

View File

@@ -307,10 +307,10 @@ reactiveValuesToList <- function(x, all.names=FALSE) {
# x[['impl']].
#' @export
str.reactivevalues <- function(object, indent.str = " ", ...) {
str(unclass(object), indent.str = indent.str, ...)
utils::str(unclass(object), indent.str = indent.str, ...)
# Need to manually print out the class field,
cat(indent.str, '- attr(*, "class")=', sep = "")
str(class(object))
utils::str(class(object))
}
# Observable ----------------------------------------------------------------

View File

@@ -93,9 +93,9 @@ renderPlot <- function(expr, width='auto', height='auto', res=72, ...,
# Special case for ggplot objects - need to capture coordmap
if (inherits(result$value, "ggplot")) {
capture.output(coordmap <<- getGgplotCoordmap(result$value, pixelratio))
utils::capture.output(coordmap <<- getGgplotCoordmap(result$value, pixelratio))
} else {
capture.output(print(result$value))
utils::capture.output(print(result$value))
}
}
@@ -237,12 +237,12 @@ renderPlot <- function(expr, width='auto', height='auto', res=72, ...,
# Requires width and height of output image, in pixels.
# Must be called before the graphics device is closed.
getPrevPlotCoordmap <- function(width, height) {
usrCoords <- par('usr')
usrCoords <- graphics::par('usr')
usrBounds <- usrCoords
if (par('xlog')) {
if (graphics::par('xlog')) {
usrBounds[c(1,2)] <- 10 ^ usrBounds[c(1,2)]
}
if (par('ylog')) {
if (graphics::par('ylog')) {
usrBounds[c(3,4)] <- 10 ^ usrBounds[c(3,4)]
}
@@ -257,14 +257,14 @@ getPrevPlotCoordmap <- function(width, height) {
),
# The bounds of the plot area, in DOM pixels
range = list(
left = grconvertX(usrBounds[1], 'user', 'nfc') * width,
right = grconvertX(usrBounds[2], 'user', 'nfc') * width,
bottom = (1-grconvertY(usrBounds[3], 'user', 'nfc')) * height - 1,
top = (1-grconvertY(usrBounds[4], 'user', 'nfc')) * height - 1
left = graphics::grconvertX(usrBounds[1], 'user', 'nfc') * width,
right = graphics::grconvertX(usrBounds[2], 'user', 'nfc') * width,
bottom = (1-graphics::grconvertY(usrBounds[3], 'user', 'nfc')) * height - 1,
top = (1-graphics::grconvertY(usrBounds[4], 'user', 'nfc')) * height - 1
),
log = list(
x = if (par('xlog')) 10 else NULL,
y = if (par('ylog')) 10 else NULL
x = if (graphics::par('xlog')) 10 else NULL,
y = if (graphics::par('ylog')) 10 else NULL
),
# We can't extract the original variable names from a base graphic.
# `mapping` is an empty _named_ list, so that it is converted to an object
@@ -304,7 +304,7 @@ getGgplotCoordmap <- function(p, pixelratio) {
which_method <- function(generic, x) {
classes <- class(x)
method_names <- paste(generic, classes, sep = ".")
idx <- which(method_names %in% methods(generic))
idx <- which(method_names %in% utils::methods(generic))
if (length(idx) == 0)
return(NULL)
@@ -539,7 +539,7 @@ getGgplotCoordmap <- function(p, pixelratio) {
# the image has double size. In the latter case we don't have to scale the
# numbers down.
pix_ratio <- 1
if (!grepl("^quartz", names(dev.cur()))) {
if (!grepl("^quartz", names(grDevices::dev.cur()))) {
pix_ratio <- pixelratio
}

View File

@@ -71,8 +71,8 @@ runUrl <- function(url, filetype = NULL, subdir = NULL, destdir = NULL, ...) {
untar2(filePath, exdir = fileDir)
} else if (fileext == ".zip") {
first <- as.character(unzip(filePath, list=TRUE)$Name)[1]
unzip(filePath, exdir = fileDir)
first <- as.character(utils::unzip(filePath, list=TRUE)$Name)[1]
utils::unzip(filePath, exdir = fileDir)
}
if(is.null(destdir)){
@@ -80,7 +80,7 @@ runUrl <- function(url, filetype = NULL, subdir = NULL, destdir = NULL, ...) {
}
appdir <- file.path(fileDir, first)
if (!file_test('-d', appdir)) appdir <- dirname(appdir)
if (!utils::file_test('-d', appdir)) appdir <- dirname(appdir)
if (!is.null(subdir)) appdir <- file.path(appdir, subdir)
runApp(appdir, ...)

View File

@@ -547,7 +547,7 @@ runApp <- function(appDir=getwd(),
# SHINY_SERVER_VERSION, those will return "" which is considered less than
# any valid version.
ver <- Sys.getenv('SHINY_SERVER_VERSION')
if (compareVersion(ver, .shinyServerMinVersion) < 0) {
if (utils::compareVersion(ver, .shinyServerMinVersion) < 0) {
warning('Shiny Server v', .shinyServerMinVersion,
' or later is required; please upgrade!')
}

View File

@@ -499,7 +499,7 @@ ShinySession <- R6Class(
private$invalidatedOutputErrors$set(
name,
list(message = cond$message,
call = capture.output(print(cond$call)),
call = utils::capture.output(print(cond$call)),
type = if (length(type)) type))
}
else

View File

@@ -39,7 +39,7 @@ renderPage <- function(ui, connection, showcase=0) {
list(
htmlDependency("json2", "2014.02.04", c(href="shared"), script = "json2-min.js"),
htmlDependency("jquery", "1.11.0", c(href="shared"), script = "jquery.min.js"),
htmlDependency("shiny", packageVersion("shiny"), c(href="shared"),
htmlDependency("shiny", utils::packageVersion("shiny"), c(href="shared"),
script = if (getOption("shiny.minified", TRUE)) "shiny.min.js" else "shiny.js",
stylesheet = "shiny.css")
),

View File

@@ -185,7 +185,7 @@ renderTable <- function(expr, ..., env=parent.frame(), quoted=FALSE, func=NULL)
return("")
return(paste(
capture.output(
utils::capture.output(
print(xtable(data, ...),
type='html',
html.table.attributes=paste('class="',
@@ -238,7 +238,7 @@ renderPrint <- function(expr, env = parent.frame(), quoted = FALSE, func = NULL,
markRenderFunction(verbatimTextOutput, function() {
op <- options(width = width)
on.exit(options(op), add = TRUE)
paste(capture.output(func()), collapse = "\n")
paste(utils::capture.output(func()), collapse = "\n")
})
}
@@ -278,7 +278,7 @@ renderText <- function(expr, env=parent.frame(), quoted=FALSE, func=NULL) {
markRenderFunction(textOutput, function() {
value <- func()
return(paste(capture.output(cat(value)), collapse="\n"))
return(paste(utils::capture.output(cat(value)), collapse="\n"))
})
}
@@ -460,7 +460,7 @@ renderDataTable <- function(expr, options = NULL, searchDelay = 500,
colnames <- colnames(data)
# if escape is column names, turn names to numeric indices
if (is.character(escape)) {
escape <- setNames(seq_len(ncol(data)), colnames)[escape]
escape <- stats::setNames(seq_len(ncol(data)), colnames)[escape]
if (any(is.na(escape)))
stop("Some column names in the 'escape' argument not found in data")
}
@@ -481,8 +481,10 @@ renderDataTable <- function(expr, options = NULL, searchDelay = 500,
# a data frame containing the DataTables 1.9 and 1.10 names
DT10Names <- function() {
rbind(
read.table(system.file('www/shared/datatables/upgrade1.10.txt', package = 'shiny'),
stringsAsFactors = FALSE),
utils::read.table(
system.file('www/shared/datatables/upgrade1.10.txt', package = 'shiny'),
stringsAsFactors = FALSE
),
c('aoColumns', 'Removed') # looks like an omission on the upgrade guide
)
}
@@ -500,7 +502,7 @@ checkDT9 <- function(options) {
'and DataTables 1.10.x uses different parameter names with 1.9.x. ',
'Please follow the upgrade guide https://datatables.net/upgrade/1.10-convert',
' to change your DataTables parameter names:\n\n',
paste(formatUL(nms[i]), collapse = '\n'), '\n', sep = ''
paste(utils::formatUL(nms[i]), collapse = '\n'), '\n', sep = ''
)
j <- gsub('[.].*', '', DT10[, 1]) %in% nms
# I cannot help you upgrade automatically in these cases, so I have to stop
@@ -509,7 +511,7 @@ checkDT9 <- function(options) {
nms10 <- DT10[match(nms[i], DT10[, 1]), 2]
if (any(nms10 == 'Removed')) stop(
"These parameters have been removed in DataTables 1.10.x:\n\n",
paste(formatUL(nms[i][nms10 == 'Removed']), collapse = '\n'),
paste(utils::formatUL(nms[i][nms10 == 'Removed']), collapse = '\n'),
"\n\n", msg
)
names(options)[i] <- nms10

View File

@@ -46,7 +46,7 @@ untar2 <- function(tarfile, files = NULL, list = FALSE, exdir = ".")
mydir.create <- function(path, ...) {
## for Windows' sake
path <- sub("[\\/]$", "", path)
if(file_test("-d", path)) return()
if(utils::file_test("-d", path)) return()
if(!dir.create(path, showWarnings = TRUE, recursive = TRUE, ...))
stop(gettextf("failed to create directory %s", sQuote(path)),
domain = NA)

View File

@@ -517,7 +517,7 @@ selectizeJSON <- function(data, req) {
idx <- idx | apply(matches, 1, cjn)
}
# only return the first n rows (n = maximum options in configuration)
idx <- head(if (length(key)) which(idx) else seq_along(idx), mop)
idx <- utils::head(if (length(key)) which(idx) else seq_along(idx), mop)
data <- data[idx, ]
res <- toJSON(columnToRowData(data))

View File

@@ -25,7 +25,7 @@ NULL
#' rnormB(5) # [1] -0.7946034 0.2568374 -0.6567597 1.2451387 -0.8375699
#'
#' @export
repeatable <- function(rngfunc, seed = runif(1, 0, .Machine$integer.max)) {
repeatable <- function(rngfunc, seed = stats::runif(1, 0, .Machine$integer.max)) {
force(seed)
function(...) {
@@ -95,7 +95,7 @@ reinitializeSeed <- if (getRversion() >= '3.0.0') {
# Version of runif that runs with private seed
p_runif <- function(...) {
withPrivateSeed(runif(...))
withPrivateSeed(stats::runif(...))
}
# Version of sample that runs with private seed
@@ -258,7 +258,7 @@ download <- function(url, ...) {
# Needed for https
mySI2(TRUE)
download.file(url, ...)
utils::download.file(url, ...)
} else {
# If non-Windows, check for curl/wget/lynx, then call download.file with
@@ -282,11 +282,11 @@ download <- function(url, ...) {
stop("no download method found")
}
download.file(url, method = method, ...)
utils::download.file(url, method = method, ...)
}
} else {
download.file(url, ...)
utils::download.file(url, ...)
}
}
@@ -474,7 +474,7 @@ parseQueryString <- function(str, nested = FALSE) {
keys <- URLdecode(keys)
values <- URLdecode(values)
res <- setNames(as.list(values), keys)
res <- stats::setNames(as.list(values), keys)
if (!nested) return(res)
# Make a nested list from a query of the form ?a[1][1]=x11&a[1][2]=x12&...
@@ -892,7 +892,7 @@ validate <- function(..., errorClass = character(0)) {
stop("Unexpected validation result: ", as.character(x))
})
results <- na.omit(results)
results <- stats::na.omit(results)
if (length(results) == 0)
return(invisible())
@@ -936,11 +936,11 @@ isTruthy <- function(x) {
return(FALSE)
if (all(is.na(x)))
return(FALSE)
if (is.character(x) && !any(nzchar(na.omit(x))))
if (is.character(x) && !any(nzchar(stats::na.omit(x))))
return(FALSE)
if (inherits(x, 'shinyActionButtonValue') && x == 0)
return(FALSE)
if (is.logical(x) && !any(na.omit(x)))
if (is.logical(x) && !any(stats::na.omit(x)))
return(FALSE)
return(TRUE)

View File

@@ -4,7 +4,7 @@
\alias{repeatable}
\title{Make a random number generator repeatable}
\usage{
repeatable(rngfunc, seed = runif(1, 0, .Machine$integer.max))
repeatable(rngfunc, seed = stats::runif(1, 0, .Machine$integer.max))
}
\arguments{
\item{rngfunc}{The function that is affected by the R session's seed.}