From: Christophe Rhodes Date: Wed, 6 Apr 2011 07:59:05 +0000 (+0100) Subject: fix swank:compile-file-for-emacs when loadp is true X-Git-Url: http://christophe.rhodes.io/gitweb/?a=commitdiff_plain;h=392b428c4b15258e6624b24b5838ebba7d4e23aa;p=swankr.git fix swank:compile-file-for-emacs when loadp is true also retain source information in swank:load-file for maximum emacs goodness. --- diff --git a/swank.R b/swank.R index 7dd9d5c..34998b6 100644 --- a/swank.R +++ b/swank.R @@ -690,12 +690,18 @@ emacsInspect.numeric <- function(numeric) { } `swank:load-file` <- function(slimeConnection, sldbState, filename) { - source(filename, local=FALSE) + source(filename, local=FALSE, keep.source=TRUE) TRUE } `swank:compile-file-for-emacs` <- function(slimeConnection, sldbState, filename, loadp, ...) { - times <- system.time(parse(filename)) + times <- system.time(parse(filename, srcfile=srcfile(filename))) + if(loadp) { + ## KLUDGE: inelegant, but works. It might be more in the spirit + ## of things to keep the result of the parse above around to + ## evaluate. + `swank:load-file`(slimeConnection, sldbState, filename) + } list(quote(`:compilation-result`), list(), TRUE, times[3], substitute(loadp), filename) }