浏览代码

was passing all test, but either found or created a new bug in R code evaluation

Eric Schulte 16 年之前
父节点
当前提交
cc622b1383
共有 1 个文件被更改,包括 95 次插入78 次删除
  1. 95 78
      rorg.org

+ 95 - 78
rorg.org

@@ -18,38 +18,6 @@
    argument, and the default behavior could be controlled through a
    configuration variable.
 
-** TODO results name
-    In order to do this we will need to start naming our results.
-    Since the source blocks are named with =#+srcname:= lines we can
-    name results with =#+resname:= lines (if the source block has no
-    name then no name is given to the =#+resname:= line on creation,
-    otherwise the name of the source block is used).
-
-    This will have the additional benefit of allowing results and
-    source blocks to be located in different places in a buffer (and
-    eventually in different buffers entirely).
-
-#+srcname: developing-resnames
-#+begin_src emacs-lisp  :results silent
-'schulte
-#+end_src
-
-    Once source blocks are able to find their own =#+resname:= lines
-    we then need to...
-
-#+srcname: sbe-w-new-results
-#+begin_src emacs-lisp :results replace
-(sbe "developing-resnames")
-#+end_src
-
-#+resname:
-: schulte
-
-
-*** TODO change the results insertion functions to use these lines
-
-*** TODO teach references to resolve =#+resname= lines.
-
 ** TODO re-implement R evaluation using ess-command or ess-execute
    I don't have any complaints with the current R evaluation code or
    behaviour, but I think it would be good to use the ESS functions
@@ -245,6 +213,37 @@ mean(mean(vec))
     posterity. Same for a shell session either in a *shell* buffer, or
     pasted from another terminal emulator. And python of course.
 
+** DONE results name
+    In order to do this we will need to start naming our results.
+    Since the source blocks are named with =#+srcname:= lines we can
+    name results with =#+resname:= lines (if the source block has no
+    name then no name is given to the =#+resname:= line on creation,
+    otherwise the name of the source block is used).
+
+    This will have the additional benefit of allowing results and
+    source blocks to be located in different places in a buffer (and
+    eventually in different buffers entirely).
+
+#+srcname: developing-resnames
+#+begin_src emacs-lisp  :results silent
+'schulte
+#+end_src
+
+    Once source blocks are able to find their own =#+resname:= lines
+    we then need to...
+
+#+srcname: sbe-w-new-results
+#+begin_src emacs-lisp :results replace
+(sbe "developing-resnames")
+#+end_src
+
+#+resname:
+: schulte
+
+*** TODO change the results insertion functions to use these lines
+
+*** TODO teach references to resolve =#+resname= lines.
+
 ** DONE litorgy tests litorgy [1/1]
 since we are accumulating this nice collection of source-code blocks
 in the sandbox section we should make use of them as unit tests.
@@ -424,13 +423,40 @@ example in the [[* emacs lisp source reference][emacs lisp source reference]].
 
 
 
-* Bugs [6/8]
+* Bugs [7/9]
+
+** TODO R code execution seems to choke on certain inputs
+
+#+srcname: set-debug-on-error
+#+begin_src emacs-lisp :results silent
+(setq debug-on-error t)
+#+end_src
+
+#+srcname: bug-numerical-table
+#+begin_src emacs-lisp :results silent
+'(1 2 3)
+#+end_src
+
+#+srcname: bug-R-number-evaluation
+#+begin_src R :var table=bug-numerical-table :results silent
+mean(table)
+#+end_src
 
 ** TODO cursor movement when evaluating source blocks
    E.g. the pie chart example. Despite the save-window-excursion in
    litorgy-execute:R. (I never learned how to do this properly: org-R
    jumps all over the place...)
-** TODO with :results replace, non-table output doesn't replace table output
+
+** DEFERRED org bug/request: prevent certain org behaviour within code blocks
+   E.g. [[]] gets recognised as a link (when there's text inside the
+   brackets). This is bad for R code at least, and more generally
+   could be argued to be inappropriate. Is it difficult to get org to
+   ignore text in code blocks? [DED]
+   
+   I believe Carsten addressed this recently on the mailing list with
+   the comment that it was indeed a difficult issue.  I believe this
+   may be one area where we could wait for an upstream (org-mode) fix.
+** DONE with :results replace, non-table output doesn't replace table output
    And vice versa. E.g. Try this first with table and then with len(table) [DED]
 #+begin_src python :var table=sandbox :results replace
 table
@@ -461,16 +487,6 @@ This would have a couple of benefits...
 Thoughts?  If no-one objects, I believe I will implement the labeling
 of results.
 
-** DEFERRED org bug/request: prevent certain org behaviour within code blocks
-   E.g. [[]] gets recognised as a link (when there's text inside the
-   brackets). This is bad for R code at least, and more generally
-   could be argued to be inappropriate. Is it difficult to get org to
-   ignore text in code blocks? [DED]
-   
-   I believe Carsten addressed this recently on the mailing list with
-   the comment that it was indeed a difficult issue.  I believe this
-   may be one area where we could wait for an upstream (org-mode) fix.
-
 ** DONE extra quotes for nested string
 Well R appears to be reading the tables without issue...
 
@@ -575,40 +591,41 @@ Evaluate all the cells in this table for a comprehensive test of the
 litorgy functionality.
 
 #+TBLNAME: litorgy-tests
-| functionality           | block            | arg |    expected |     results | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| basic evaluation        |                  |     |             |             | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| emacs lisp              | basic-elisp      |     |           5 |           5 | pass |
-| shell                   | basic-shell      |     |           6 |           6 | pass |
-| ruby                    | basic-ruby       |     |     litorgy |     litorgy | pass |
-| python                  | basic-python     |     | hello world | hello world | pass |
-| R                       | basic-R          |     |          13 |          13 | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| tables                  |                  |     |             |             | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| emacs lisp              | table-elisp      |     |           3 |           3 | pass |
-| ruby                    | table-ruby       |     |       1-2-3 |       1-2-3 | pass |
-| python                  | table-python     |     |           5 |           5 | pass |
-| R                       | table-R          |     |         3.5 |         3.5 | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| source block references |                  |     |             |             | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| all languages           | chained-ref-last |     |       Array |       Array | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| source block functions  |                  |     |             |             | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| emacs lisp              | defun-fibb       |     |       fibbd |       fibbd | pass |
-| run over                | Fibonacci        |   0 |           1 |           1 | pass |
-| a                       | Fibonacci        |   1 |           1 |           1 | pass |
-| variety                 | Fibonacci        |   2 |           2 |           2 | pass |
-| of                      | Fibonacci        |   3 |           3 |           3 | pass |
-| different               | Fibonacci        |   4 |           5 |           5 | pass |
-| arguments               | Fibonacci        |   5 |           8 |           8 | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| bug fixing              |                  |     |             |             | pass |
-|-------------------------+------------------+-----+-------------+-------------+------|
-| simple ruby arrays      | ruby-array-test  |     |           3 |           3 | pass |
+| functionality           | block                   | arg |    expected |     results | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| basic evaluation        |                         |     |             |             | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| emacs lisp              | basic-elisp             |     |           5 |           5 | pass                          |
+| shell                   | basic-shell             |     |           6 |           6 | pass                          |
+| ruby                    | basic-ruby              |     |     litorgy |     litorgy | pass                          |
+| python                  | basic-python            |     | hello world | hello world | pass                          |
+| R                       | basic-R                 |     |          13 |          13 | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| tables                  |                         |     |             |             | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| emacs lisp              | table-elisp             |     |           3 |           3 | pass                          |
+| ruby                    | table-ruby              |     |       1-2-3 |       1-2-3 | pass                          |
+| python                  | table-python            |     |           5 |           5 | pass                          |
+| R                       | table-R                 |     |         3.5 |         3.5 | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| source block references |                         |     |             |             | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| all languages           | chained-ref-last        |     |       Array |       Array | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| source block functions  |                         |     |             |             | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| emacs lisp              | defun-fibb              |     |       fibbd |       fibbd | pass                          |
+| run over                | Fibonacci               |   0 |           1 |           1 | pass                          |
+| a                       | Fibonacci               |   1 |           1 |           1 | pass                          |
+| variety                 | Fibonacci               |   2 |           2 |           2 | pass                          |
+| of                      | Fibonacci               |   3 |           3 |           3 | pass                          |
+| different               | Fibonacci               |   4 |           5 |           5 | pass                          |
+| arguments               | Fibonacci               |   5 |           8 |           8 | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| bug fixing              |                         |     |             |             | pass                          |
+|-------------------------+-------------------------+-----+-------------+-------------+-------------------------------|
+| simple ruby arrays      | ruby-array-test         |     |           3 |           3 | pass                          |
+| R number evaluation     | bug-R-number-evaluation |     |           2 |      #ERROR | expected "2" but was "#ERROR" |
 #+TBLFM: $5='(if (= (length $3) 1) (progn (message (format "running %S" '(sbe $2 (n $3)))) (sbe $2 (n $3))) (sbe $2))::$6='(if (string= $4 $5) "pass" (format "expected %S but was %S" $4 $5))
 
 ** basic tests