50 lines
1.5 KiB
ArmAsm
50 lines
1.5 KiB
ArmAsm
#### S-mode session functions.
|
|
#### assign(..., where=0) makes them last only for the current session.
|
|
|
|
#### Well, turns out we have two slightly different versions of the S code.
|
|
#### This is the one that I think gets used with S-Plus; I'll send along
|
|
#### the other version as well, but morally they should be equivalent, there
|
|
#### are just a couple of changes I seem to have made for S4. /John
|
|
|
|
### Martin Maechler: see also ./ess-s4.S
|
|
### which does *not* use assign (why?)
|
|
assign(".SmodeObs",
|
|
function(where, pattern) {
|
|
if(pattern == "") objects(where)
|
|
else objects(where, pattern)
|
|
}, where=0)
|
|
|
|
assign(".SmodeLoad",
|
|
function(x)
|
|
## source function for S-mode
|
|
{
|
|
assign(".SmodeTmp", options(error=dump.calls), where=0, i=T)
|
|
on.exit({options(.SmodeTmp); remove(".SmodeTmp",where=0)})
|
|
source(x)
|
|
},
|
|
where = 0)
|
|
|
|
assign(".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)
|
|
},
|
|
where = 0)
|
|
assign(".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
|
|
},
|
|
where = 0)
|