From 392b428c4b15258e6624b24b5838ebba7d4e23aa Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Wed, 6 Apr 2011 08:59:05 +0100 Subject: [PATCH] fix swank:compile-file-for-emacs when loadp is true also retain source information in swank:load-file for maximum emacs goodness. --- swank.R | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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) } -- 2.39.5