Christophe Weblog Wiki Code Publications Music
update README for new slime location
[swankr.git] / BUGS.org
1 #+SEQ_TODO: OPEN | RESOLVED
2 #+TITLE: swankr: Bug list
3 #+AUTHOR: Christophe Rhodes
4 #+EMAIL: csr21@cantab.net
5 #+OPTIONS: H:0 toc:nil
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
9   stream.
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.
79
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.
86 * COMMENT:
87 Local Variables:
88 mode: org;
89 End: