From: Christophe Rhodes Date: Thu, 7 Oct 2010 22:11:16 +0000 (+0100) Subject: better swank:find-definitions-for-emacs X-Git-Url: http://christophe.rhodes.io/gitweb/?p=swankr.git;a=commitdiff_plain;h=8e9584ceeae48b53372f50ea3320cd540293f653 better swank:find-definitions-for-emacs In particular, include enough of a kludge to be able to handle both relative and absolute paths. --- diff --git a/swank.R b/swank.R index f0aee27..747696a 100644 --- a/swank.R +++ b/swank.R @@ -445,9 +445,16 @@ withRetryRestart <- function(description, expr) { 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()))) }