This function converts an ordinary list
into a control list (if
needed) and checks that the control list passed is appropriate for
the function to be controlled.
check.control.class(
OKnames = as.character(ult(sys.calls(), 2)[[1L]]),
myname = as.character(ult(sys.calls(), 2)[[1L]]),
control = get("control", pos = parent.frame())
)
A valid control list for the function in which it is to be
used. If control
argument is missing, it will also overwrite
the variable control
in the calling environment with it.
List of control function names which are acceptable.
Name of the calling function (used in the error message).
The control list or a list to be converted to a
control list using control.myname()
. Defaults to the
control
variable in the calling function. See Details for
detailed behavior.
check.control.class()
performs the check by looking up
the class of the control
argument (defaulting to the control
variable in the calling function) and checking if it matches a
list of acceptable given by OKnames
.
Before performing any checks, the control
argument (including
the default) will be converted to a control list by calling
as.control.list()
on it with the first element of OKnames
to
construct the control function.
If control
is missing, it will be assumed that the user wants
to modify it in place, and a variable with that name in the
parent environment will be overwritten.
set.control.class()
, print.control.list()
, as.control.list()