was passing all test, but either found or created a new bug in R code evaluation
This commit is contained in:
parent
73163718ca
commit
cc622b1383
125
rorg.org
125
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...
|
||||
|
||||
|
@ -576,28 +592,28 @@ 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 |
|
||||
|
@ -605,10 +621,11 @@ litorgy functionality.
|
|||
| 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
|
||||
|
|
Loading…
Reference in New Issue