Skip to content
  1. Sep 19, 2011
  2. Sep 13, 2011
  3. Sep 10, 2011
  4. Aug 20, 2011
  5. Apr 06, 2011
  6. Oct 08, 2010
    • Christophe Rhodes's avatar
      capture output from evaluating swank requests · d71a2190
      Christophe Rhodes authored
      This fixes bug #1.  It is somewhat on the risky side given that there
      are current known protocol problems in the presence of non-ASCII
      encodings, but it does make working in the slime repl much more
      pleasant.
      d71a2190
    • Christophe Rhodes's avatar
      srcrefs in swank:compile-string-for-emacs · 16e6dc8f
      Christophe Rhodes authored
      Wow, this was hard.  parse() constructs a vector with mode
      "expression", consisting of multiple, possibly nested calls.
      Scattered throughout this structure are srcrefs with absolute
      locations.  This means that we need to walk the parsed data structure
      and adjust every srcref that we can find, giving it an offset based on
      the location information passed to compile-string-for-emacs (which
      requires bleeding-edge 2010-10-08 slime, because earlier versions
      don't pass line/column information in the position argument).
      
      But we can't simply adjust the "srcref" attribute on our parsed data
      structure, because R tries very hard to be pure.  Instead we need to
      return a copy with the right modifications (but preserving everything
      else of importance).  It's straightforward once you know how, but
      there were many painful missteps to get to this point.  Still, now
      M-. works on function names assigned with C-c C-c in source buffers.
      16e6dc8f
  7. Oct 07, 2010
  8. Oct 01, 2010
  9. Sep 16, 2010
  10. Sep 12, 2010
  11. Sep 11, 2010
  12. Sep 10, 2010
  13. Sep 09, 2010
  14. Sep 07, 2010
  15. Sep 03, 2010
    • Christophe Rhodes's avatar
      swank:value-for-editing and swank:commit-edited-value · df9e80e0
      Christophe Rhodes authored
      These are (in principle, at least) really, really easy.
      df9e80e0
    • Christophe Rhodes's avatar
      alternative printing for the REPL · f3a32de1
      Christophe Rhodes authored
      instead of using print(), use str().  Also, be even more cautious
      about cleaning up in printToString; previously, errors in printing
      would lead to a sink to a closed fifo...
      
      Printing is still not really right, and I forsee that we will end up
      writing our own printer to get something more lispy.  But at least
      this approach tends not to dump huge tables into the REPL.
      f3a32de1
    • Christophe Rhodes's avatar
      integrate into R's event loop, possibly · ab6021d4
      Christophe Rhodes authored
      in readPacket, call socketSelect() before actually trying to read on
      the connection.  This seems to allow R to update graphics windows and
      other such niceties.
      
      It would be nice to be able to preserve the (inferior) R REPL as well,
      but I haven't yet discovered whether that's possible.
      ab6021d4
  16. Sep 01, 2010
  17. Aug 31, 2010
    • Christophe Rhodes's avatar
      initial implementation of support for REPL presentations · e35149b4
      Christophe Rhodes authored
      There's a lot here that's ugly, unfinished or just downright horrible.
      Most notably, presentation support depends on swank-side read-time
      evaluation (indicated with Common Lisp syntax, which hilariously is a
      comment in R).  We can't support that in general, but we can
      special-case the presentation-specific operator.
      
      But then the next difficulty comes along; actually performing that
      read-time evaluation needs to happen in a different environment than
      the evaluation of the REPL form.  In order to achieve this, we abuse
      bquote() the equivalent of Lisp's backquote facility, by calling what
      in CL terms would be its macro-function on the parsed, preprocessed
      expression; only after doing that (and hence resolving the `read-time'
      evaluations) do we evaluate the call itself.
      
      The implementation of presentation protocol messages is also slightly
      ugly; having to implement cl:nth-value is particulraly horrible, but
      the lack of weak references / weak tables in R (at least as far as I
      can tell at the moment) is a cause of niggling concern.
      e35149b4
  18. Aug 30, 2010