Skip to content
  1. Nov 29, 2012
    • Christophe Rhodes's avatar
      more srcref frobbing · 22705b4a
      Christophe Rhodes authored
      I do not pretend to understand whether this is new, but in 2.14
      parsing an expression, in addition to adding srcref attributes to the
      results of the parse, can result in actual srcref elements being in
      the results.  Those srcrefs also need to be frobbed so that display of
      functions at the repl works properly.  (I do think this worked in 2.12
      without this extra frobbing, but I am totally prepared to admit that I
      can't really remember).
      
      Since we're on the case, also frob things that look like srcrefs but
      aren't under "srcref" attributes, such as "wholeSrcref"s
      22705b4a
  2. Nov 20, 2012
    • Christophe Rhodes's avatar
      fix compilation of x[y,] · cc42bfe8
      Christophe Rhodes authored
      Oh boy.  I do not pretend to totally understand what is going on, but
      what seemed to be happening is that somehow when walking the parse
      tree to adjust srcrefs to the real file position rather than the
      string position, the `empty' space in x[y,] was turning from a
      zero-element name to a missing object, and then subsequent attempts to
      evaluate the missing object (or even return it) were failing.
      
      The workaround is to short-circuit the process for name objects, which
      are atomic and (empirically) do not have srcrefs attached anyway and
      so can be returned without modification.
      cc42bfe8
  3. Sep 17, 2012
  4. May 01, 2012
  5. Apr 29, 2012
    • Christophe Rhodes's avatar
      rework `swank:simple-completions` · f198b5e4
      Christophe Rhodes authored
      In the process, implement looking up foo$bar$baz, and passing those
      completions back.  It's not completely robust to somewhat exotic
      syntax, as it assumes that the text being completed can be used
      directly as character vectors naming objects or fields; it is good
      enough to get started, and now a lot less annoying to
      use (particularly when lots of fields have underscores in them...)
      f198b5e4
  6. Apr 24, 2012
  7. Apr 23, 2012
    • Christophe Rhodes's avatar
      fix bug #21 · 24bb738d
      Christophe Rhodes authored
      %in% needs a `vector' first argument, so make it so, listifying
      anything that isn't already a vector.  (Note: there seem to be plenty
      of non-vector first arguments that work, such as
      as.Date("2012-01-01"), which returns FALSE to is.vector() -- but the new
      code seems to get that right anyway, based on very limited testing.
      24bb738d
  8. Dec 15, 2011
  9. Dec 09, 2011
  10. Oct 23, 2011
  11. Sep 19, 2011
  12. Sep 13, 2011
  13. Sep 10, 2011
  14. Aug 20, 2011
  15. Apr 06, 2011
  16. 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
  17. Oct 07, 2010
  18. Oct 01, 2010
  19. Sep 16, 2010
  20. Sep 12, 2010
  21. Sep 11, 2010
  22. Sep 10, 2010
  23. Sep 09, 2010