1 #+SEQ_TODO: OPEN | RESOLVED
2 #+TITLE: swankr: Bug list
3 #+AUTHOR: Christophe Rhodes
4 #+EMAIL: csr21@cantab.net
6 * RESOLVED #1 printed output not redirected to slime repl :MINOR:FIXED:
7 The output from functions performing printing is sent to the
8 standard output of the process running =swank()=, not to an emacs
10 * OPEN #2 popping beyond inspector history crashes :NORMAL:
11 Inspecting something and hitting =l= causes the R debugger to pop
12 up from trying to send =NULL= in a sexp to Emacs.
13 * RESOLVED #3 source reference in compile-string-for-emacs :WISHLIST:FIXED:
14 It would be good if we could associate the expressions in the string
15 with a reference to the corresponding source. Unfortunately, emacs
16 only passes the buffer position in bytes (or maybe characters),
17 whereas R's srcrefs work with lines and columns.
18 * OPEN #4 multibyte characters corrupt slime connection :NORMAL:
19 Not in all circumstances (e.g. ="£"= is OK) but =1:£= fails in
20 slime-net-read-or-lose.
21 * RESOLVED #5 respect visibility of evaluated results :WISHLIST:FIXED:
22 I think we can do this by calling =.Internal(eval.with.vis(...))=
23 instead of just regular =eval()=
24 * OPEN #6 occasional invalid sink() errors :NORMAL:
25 Not sure yet when it happens, but it makes the terminal browser pop up.
26 * OPEN #7 swank server is uninterruptible :NORMAL:
27 at least in certain conditions
28 * RESOLVED #8 startup is not filesystem-location independent :MINOR:FIXED:
29 Requires the cwd to be the swankr directory to be able to find
30 swank-presentations and swank-media
31 * RESOLVED #9 help and ? to produce help buffers :WISHLIST:FIXED:
32 Not like ESS, though: that works by looking at the user's input with
33 a regexp. Use slime-media?
34 * RESOLVED #10 0 or more than 1 exprs at REPL :MINOR:FIXED:
35 Entering 0 exprs (whitespace or the empty string) at the REPL gives
36 an error from `swank:listener-eval`, which subscripts the parse tree
37 with index 1. (Entering more than one simply ignores all after the
38 first, assuming that they all parse). We should be a bit more like
39 R's repl, evaluating each of the exprs in turn and treating the
40 results a bit like CL's multiple values
41 * OPEN #11 no newline when using :popup-buffer for ?help :MINOR:
42 Logged here so that I don't forget it if I sort out #9 first: we
43 need to be able to indicate "no repl result please" if we open a new
44 temporary buffer to display the result.
45 * RESOLVED #12 escaping when searching for completions :NORMAL:FIXED:
46 Gets thoroughly confused on completing "read." because the "." is
47 treated as a regexp "any character" pattern.
48 * OPEN #13 source location in sldb wrong :MINOR:
49 I think there's an off-by-one in the association between frames and
50 srcrefs. Test case is something like 1+"foo" at the repl, and then
51 hitting "v" on the `swank:listener-eval` frame. Also the arglists
52 seem weird to me; in a call like frob(foo), I would expect to see
53 the value of foo in the locals.
54 * OPEN #14 thread argument to emacsRex unused :NORMAL:
55 This is a problem not least because it causes all sorts of problems
56 in inspecting swank-internal frames in sldb; test case is 1+"foo",
57 then RET on the eval(expr, envir, enclos) frame just below
58 `swank:listener-eval`.
59 * OPEN #15 write and use Rd2org instead of Rd2txt :WISHLIST:
60 org-mode is the future!
61 * OPEN #16 ESS configuration :MINOR:
62 sorting out the function regexp at least, but generally reducing
63 dependence might be good.
64 * OPEN #17 encoding / external-format confusion :NORMAL:
65 We declare ourselves capable of handling utf-8-unix encoding, but
66 whether we actually do anything close to being correct is unclear.
67 (Almost certainly not; I suspect we naïvely use nchar() in places).
68 We could either declare our encoding as latin1-unix, or make the
69 server utf8ly correct. To reproduce, simply type "ë" at the repl.
70 * OPEN #18 ess-help needs to be loaded automatically :MINOR:
71 to reproduce: in a fresh emacs, type ?help
72 * OPEN #19 base graphics don't work automatically :NORMAL:
73 They can be made to by passing --interactive to R on startup, but
74 I'm not sure what else that does.
75 * RESOLVED #20 closing the connection causes infinite R errors :IMPORTANT:FIXED:
76 reported by "Philipp Marek" <philipp@marek.priv.at> by private mail.
77 * RESOLVED #21 inspecting an environment causes error in match() :MINOR:FIXED:
78 reported by "Philipp Marek" <philipp@marek.priv.at> by private mail.
80 To reproduce, C-c I globalenv() RET, or hit RET on environment
81 presentations in the debugger (if presentations are on).
82 * RESOLVED #22 completion of named list fields :WISHLIST:FIXED:
83 It is very nice in ESS to be able to type df$ TAB and get a
84 completion list of the data frame's columns. Supporting it in
85 swankr should be really easy.