X-Git-Url: http://christophe.rhodes.io/gitweb/?p=swankr.git;a=blobdiff_plain;f=swank.R;h=1c1633d77ad8c7aa7fa8a709eb3a3bcd02e57e10;hp=ddd1a0e5b64df12104370a3851e55cf3e9981379;hb=5035036a7da09e17a5a70ea7ea15657d671e9c52;hpb=d572642da5a5405c20f54a83e438f95e7d2556d8 diff --git a/swank.R b/swank.R index ddd1a0e..1c1633d 100644 --- a/swank.R +++ b/swank.R @@ -310,3 +310,11 @@ printToString <- function(val) { 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]) +}