Christophe Weblog Wiki Code Publications Music
use a restart description for restart printing, if available
authorChristophe Rhodes <csr21@cantab.net>
Fri, 13 Aug 2010 14:22:58 +0000 (15:22 +0100)
committerChristophe Rhodes <csr21@cantab.net>
Fri, 13 Aug 2010 14:22:58 +0000 (15:22 +0100)
swank.R

diff --git a/swank.R b/swank.R
index a9b62c6737994c8184a0961f07d29d3d8f8717c2..802b0409e49543ff3a7372128d26168aab26f6ed 100644 (file)
--- a/swank.R
+++ b/swank.R
@@ -75,11 +75,19 @@ debuggerInfoForEmacs <- function(sldbState, from=0, to=NULL) {
     calls <- lapply(calls[from:to], { frameNumber <- from-1;
                              function (x) { ret <- list(frameNumber, paste(format(x), sep="", collapse=" ")); frameNumber <<- 1+frameNumber; ret }})
   }
+  computeRestartsForEmacs <- function () {
+    lapply(computeRestarts(sldbState$condition),
+           function(x) {
+             ## this is all a little bit internalsy
+             restartName <- x[[1]][[1]]
+             description <- restartDescription(x)
+             list(restartName, if(is.null(description)) restartName else description)
+           })
+  }
   list(list(as.character(sldbState$condition), sprintf("  [%s]", class(sldbState$condition)[[1]]), FALSE),
-       lapply(computeRestarts(), function(x) list(x[[1]][[1]], x[[1]][[1]])),
+       computeRestartsForEmacs(),
        backtraceForEmacs(),
        list(sldbState$id))
-#       lapply(calls[from:to], function(x) paste(format(x), sep="", collapse=" ")))
 }
 
 readPacket <- function(io) {