57 lines
1.5 KiB
ArmAsm
57 lines
1.5 KiB
ArmAsm
#### This is a dump of the S library used by S-mode with Version 4 of S.
|
|
#### (from John Chambers ??)
|
|
|
|
#### S-mode session functions.
|
|
#### assign(..., where=0) makes them last only for the current session.
|
|
|
|
### Martin Maechler: see also ./ess-sp3.S
|
|
### which uses assign(.., wh=0) which seems better
|
|
|
|
".SmodeDump" <- function(x, name)
|
|
{
|
|
## dump function for S-mode
|
|
assign(".SmodeTmp", options(error = dump.calls), where = 0, i = T)
|
|
on.exit( {
|
|
options(.SmodeTmp)
|
|
remove(".SmodeTmp", where = 0)
|
|
} )
|
|
dump(x, file = name)
|
|
}
|
|
".SmodeLoad" <- function(x)
|
|
{
|
|
## skeleton of a dump.calls interface, enough to keep s-mode
|
|
## informed that an error took place.
|
|
pseudo <- function()
|
|
cat(get.message(), "Dumped\n", sep = "", file = "|stderr")
|
|
## source function for S-mode
|
|
assign(".SmodeTmp", options(error = pseudo), where = 0, i = T)
|
|
on.exit( {
|
|
options(.SmodeTmp)
|
|
remove(".SmodeTmp", where = 0)
|
|
} )
|
|
invisible(source(x))
|
|
}
|
|
|
|
".SmodeObs" <- function(where, pattern)
|
|
{
|
|
if(pattern == "") objects(where) else objects(where, pattern)
|
|
}
|
|
|
|
".SmodePaths" <- function()
|
|
{
|
|
## the paths for the directories in the search list
|
|
temp <- search()
|
|
value <- character(length(temp))
|
|
for(i in seq(along.with = temp)) {
|
|
obj <- database.object(i)
|
|
if(is.character(obj) && length(obj) == 1)
|
|
value[[i]] <- obj
|
|
}
|
|
value
|
|
}
|
|
|
|
"smode.lvsave" <-
|
|
c(".Last.value",
|
|
".SmodeDump", ".SmodeLoad", ".SmodeObs", ".SmodePaths",
|
|
"smode.lvsave")
|