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")
 |