printToString <- function(val) {
f <- fifo("")
- sink(f)
- print(val)
- sink()
- readLines(f)
+ tryCatch({ sink(f); print(val); sink(); readLines(f) },
+ finally=close(f))
}
`swank:connection-info` <- function (io, sldbState) {
list(as.list(matches), longest)
}
}
+
+`swank:compile-string-for-emacs` <- function(io, sldbState, string, buffer, position, filename, policy) {
+ # FIXME: I think in parse() here we can use srcref to associate
+ # buffer/filename/position to the objects. Or something.
+ withRestarts({ times <- system.time(eval(parse(text=string), envir = globalenv())) },
+ abort="abort compilation")
+ list(quote(`:compilation-result`), list(), TRUE, times[3])
+}