% File src/library/grDevices/man/check.options.Rd % Part of the R package, http://www.R-project.org % Copyright 1995-2007 R Core Team % Distributed under GPL 2 or later \name{check.options} \alias{check.options} \title{Set Options with Consistency Checks} \usage{ check.options(new, name.opt, reset = FALSE, assign.opt = FALSE, envir = .GlobalEnv, check.attributes = c("mode", "length"), override.check = FALSE) } \description{ Utility function for setting options with some consistency checks. The \code{\link{attributes}} of the new settings in \code{new} are checked for consistency with the \emph{model} (often default) list in \code{name.opt}. } \arguments{ \item{new}{a \emph{named} list} \item{name.opt}{character with the name of \R object containing the default list.} \item{reset}{logical; if \code{TRUE}, reset the options from \code{name.opt}. If there is more than one \R object with name \code{name.opt}, remove the first one in the \code{\link{search}()} path.} \item{assign.opt}{logical; if \code{TRUE}, assign the \ldots} \item{envir}{the \code{\link{environment}} used for \code{\link{get}} and \code{\link{assign}}.} \item{check.attributes}{character containing the attributes which \code{check.options} should check.} \item{override.check}{logical vector of length \code{length(new)} (or 1 which entails recycling). For those \code{new[i]} where \code{override.check[i] == TRUE}, the checks are overridden and the changes made anyway.} } \note{ Option \code{"names"} is exempt from all the checks or warnings, as in the application it can be \code{NULL} or a variable-length character vector. } %% Source in ../R/postscript.R \value{ A list of components with the same names as the one called \code{name.opt}. The values of the components are changed from the \code{new} list, as long as these pass the checks (when these are not overridden according to \code{override.check}). } \author{Martin Maechler} \seealso{ \code{\link{ps.options}} and \code{\link{pdf.options}}, which use \code{check.options}. } % \examples{ (L1 <- list(a = 1:3, b = pi, ch = "CH")) check.options(list(a = 0:2), name.opt = "L1") check.options(NULL, reset = TRUE, name.opt = "L1") } \keyword{utilities} \keyword{programming}