]> rhodes.io Git - swankr.git/log
Christophe Weblog Wiki Code Publications Music
swankr.git
14 years agoimplement swank:buffer-first-change
Christophe Rhodes [Fri, 13 Aug 2010 16:24:02 +0000 (17:24 +0100)]
implement swank:buffer-first-change

Simply stub it in, to stop things whining at me when I type into the
wrong window and edit a Lisp file (which happens to be in slime
mode...)

14 years agoreturn stack frames in slime's order (most recent first)
Christophe Rhodes [Fri, 13 Aug 2010 16:10:16 +0000 (17:10 +0100)]
return stack frames in slime's order (most recent first)

14 years agoget definitions (use of <-) to work in the REPL
Christophe Rhodes [Fri, 13 Aug 2010 16:00:22 +0000 (17:00 +0100)]
get definitions (use of <-) to work in the REPL

the REPL now evaluates with envir=globalenv(), rather than in the
environment of `swank:listener-eval`...

14 years agosupport invoking restarts from sldb
Christophe Rhodes [Fri, 13 Aug 2010 15:03:51 +0000 (16:03 +0100)]
support invoking restarts from sldb

14 years agouse a restart description for restart printing, if available
Christophe Rhodes [Fri, 13 Aug 2010 14:22:58 +0000 (15:22 +0100)]
use a restart description for restart printing, if available

14 years agorework to support sldb
Christophe Rhodes [Fri, 13 Aug 2010 10:49:48 +0000 (11:49 +0100)]
rework to support sldb

R doesn't have much in the way of dynamic binding; you can fake it by
messing with environments, but that's not fun.

So instead, pass around the connection (`io') and an object
representing the SLDB state (`sldbState') to all functions.
Poor-man's explicit continuation-passing-style...

We need to call some of the mainLoop internal functions from elsewhere
now, so make them not-internal any more.

Fix ridiculous thinko in the logical branch of writeSexpToString

use simpleCondition rather than simpleError in swank:throw-to-toplevel

implement swank:debugger-info-for-emacs

Now `q' in sldb (sldb-quit) works.  Things that don't work:
1. the backtrace is the wrong way up.
2. calling any restarts
3. frame locals
4. returning from frames (dunno if R actually supports this)
5. zoom to source
6. probably other things

14 years agoimplement swank:throw-to-toplevel
Christophe Rhodes [Wed, 11 Aug 2010 14:58:47 +0000 (15:58 +0100)]
implement swank:throw-to-toplevel

14 years agoinclude swank.R hacks from today
Christophe Rhodes [Wed, 11 Aug 2010 14:02:47 +0000 (15:02 +0100)]
include swank.R hacks from today

We get far enough to start up a swank server in R and connect to it from
emacs; we get a REPL which formats the R-style results from parsing and
evaluating the input it receives.  Debugging, stepping, documentation,
arglist and so on is basically entirely missing.