}
`swank:frame-locals-and-catch-tags` <- function(slimeConnection, sldbState, index) {
- str(sldbState$frames)
frame <- sldbState$frames[[1+index]]
objs <- ls(envir=frame)
list(lapply(objs, function(name) { list(quote(`:name`), name,
list()
} else {
filename <- get("filename", srcfile)
+ ## KLUDGE: what this means is "is the srcfile filename
+ ## absolute?"
+ if(substr(filename, 1, 1) == "/") {
+ file <- filename
+ } else {
+ file <- sprintf("%s/%s", srcfile$wd, filename)
+ }
list(list(sprintf("function %s", string),
list(quote(`:location`),
- list(quote(`:file`), sprintf("%s/%s", srcfile$wd, srcfile$filename)),
+ list(quote(`:file`), file),
list(quote(`:line`), srcref[[2]][[1]], srcref[[2]][[2]]-1),
list())))
}
setwd(directory)
`swank:default-directory`(slimeConnection, sldbState)
}
+
+`swank:load-file` <- function(slimeConnection, sldbState, filename) {
+ source(filename, local=FALSE)
+ TRUE
+}
+
+`swank:compile-file-for-emacs` <- function(slimeConnection, sldbState, filename, loadp, ...) {
+ times <- system.time(parse(filename))
+ list(quote(`:compilation-result`), list(), TRUE, times[3], substitute(loadp), filename)
+}