

   SSeett OOppttiioonnss wwiitthh CCoonnssiisstteennccyy CChheecckkss

        check.options(new, name.opt, reset=FALSE, assign.opt=FALSE,
                      envir=.GlobalEnv, check.attributes=c("mode", "length"),
                      override.check=FALSE)

   AArrgguummeennttss::

        new: a named list

   name.opt: character with the name of R object containing the
             ``model'' (default) list.

      reset: logical; if `TRUE', reset the options from
             `name.opt'.  If there is more than one R object
             with name `name.opt', remove the first one in the
             `search()' path.

   assign.opt: logical; if `TRUE', assign the ...

      envir: the `environment' used for `get' and `assign'.

   check.attributes: character containing the attributes which
             `check.options' should check.

   override.check: logical vector of length `length(new)' (or 1
             which entails recycling).  For those `new[i]'
             where `override.check[i] == TRUE', the checks are
             overriden and the changes made anyway.

   DDeessccrriippttiioonn::

        Utility function for setting options with some consis-
        tency checks.  The `attributes' of the new settings in
        `new' are checked for consistency with the model (often
        default) list in `name.opt'.

   VVaalluuee::

        A list of components with the same names as the one
        called `name.opt'.  The values of the components are
        changed from the `new' list, as long as these pass the
        checks (when these are not overridden according to
        `override.check').

   AAuutthhoorr((ss))::

        Martin Maechler

   SSeeee AAllssoo::

        `ps.options' which uses `check.options'.

   EExxaammpplleess::

        L1 <- list(a=1:3, b=pi, ch="CH")
        str(L2 <- check.options(list(a=0:2), name.opt = "L1"))
        str(check.options(NULL,reset = TRUE, name.opt = "L1"))

