| % File src/library/base/man/interactive.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2014 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{interactive} |
| \alias{interactive} |
| \title{Is R Running Interactively?} |
| \description{ |
| Return \code{TRUE} when \R is being used interactively and |
| \code{FALSE} otherwise. |
| } |
| \usage{ |
| interactive() |
| } |
| \details{ |
| An interactive \R session is one in which it is assumed that there is |
| a human operator to interact with, so for example \R can prompt for |
| corrections to incorrect input or ask what to do next or if it is OK |
| to move to the next plot. |
| |
| GUI consoles will arrange to start \R in an interactive session. When |
| \R is run in a terminal (via \command{Rterm.exe} on Windows), it |
| assumes that it is interactive if \file{stdin} is connected to a |
| (pseudo-)terminal and not if \file{stdin} is redirected to a file or |
| pipe. Command-line options \option{--interactive} (Unix) and |
| \option{--ess} (Windows, \command{Rterm.exe}) override the default |
| assumption. |
| #ifdef unix |
| (On a Unix-alike, whether the \code{readline} command-line editor is |
| used is \strong{not} overridden by \option{--interactive}.) |
| #endif |
| |
| Embedded uses of \R can set a session to be interactive or not. |
| |
| Internally, whether a session is interactive determines |
| \itemize{ |
| \item how some errors are handled and reported, e.g.\sspace{}see |
| \code{\link{stop}} and \code{\link{options}("showWarnCalls")}. |
| |
| \item whether one of \option{--save}, \option{--no-save} or |
| \option{--vanilla} is required, and if \R ever asks whether to save the |
| workspace. |
| |
| \item the choice of default graphics device launched when needed and |
| by \code{\link{dev.new}}: see \code{\link{options}("device")} |
| |
| \item whether graphics devices ever ask for confirmation of a new |
| page. |
| } |
| In addition, \R's own \R code makes use of \code{interactive()}: for |
| example \code{\link{help}}, \code{\link{debugger}} and |
| \code{\link{install.packages}} do. |
| } |
| \note{ |
| This is a \link{primitive} function. |
| } |
| \seealso{ |
| \code{\link{source}}, |
| \code{\link{.First}} |
| } |
| \examples{ |
| .First <- function() if(interactive()) x11() |
| } |
| \keyword{environment} |
| \keyword{programming} |