Prechádzať zdrojové kódy

combined all "running processes" TODOs and bumped down to DEFERRED

  While these are good ideas they represent a big chunk of work which
  will break everything while it's being done, should wait for now.
Eric Schulte 16 rokov pred
rodič
commit
3a0be8fd06
1 zmenil súbory, kde vykonal 60 pridanie a 58 odobranie
  1. 60 58
      rorg.org

+ 60 - 58
rorg.org

@@ -1,9 +1,9 @@
 #+OPTIONS:    H:3 num:nil toc:t
 #+TITLE: rorg --- Code evaluation in org-mode, with an emphasis on R
-#+SEQ_TODO:  TODO OPEN PROPOSED | DONE DEFERRED REJECTED
+#+SEQ_TODO:  TODO PROPOSED | DONE DEFERRED REJECTED
 #+STARTUP: oddeven
 
-* Tasks [11/20]
+* Tasks [12/18]
 ** TODO results-type header (scalar/vector)
 In response to a point in Dan's email.  We should allow the user to
 force scalar or vector results.  This could be done with a header
@@ -102,62 +102,6 @@ source code block.
 I think the best way to approach this would be to start with an
 example R source-code block and then work up from there.
 
-** TODO ability to select which of multiple sessions is being used
-   Increasingly it is looking like we're going to want to run all
-   source code blocks in comint buffer (sessions).  Which will have
-   the benefits of
-   1) allowing background execution
-   2) maintaining state between source-blocks
-      - allowing inline blocks w/o header arguments 
-
-*** R sessions
-    (like ess-switch-process in .R buffers)
-    
-    Maybe this could be packaged into a header argument, something
-    like =:R_session= which could accept either the name of the
-    session to use, or the string =prompt=, in which case we could use
-    the =ess-switch-process= command to select a new process.
-    
-** TODO evaluation of shell code as background process? 
-   After C-c C-c on an R code block, the process may appear to
-   block, but C-g can be used to reclaim control of the .org buffer,
-   without interrupting the R evalution. However I believe this is not
-   true of bash/sh evaluation. [Haven't tried other languages] Perhaps
-   a solution is just to background the individual shell commands.
-
-   The other languages (aside from emacs lisp) are run through the
-   shell, so if we find a shell solution it should work for them as
-   well.
-   
-   Adding an ampersand seems to be a supported way to run commands in
-   the background (see [[http://www.emacswiki.org/emacs/ExecuteExternalCommand#toc4][external-commands]]).  Although a more extensible
-   solution may involve the use of the [[elisp:(progn (describe-function 'call-process-region) nil)][call-process-region]] function.
-   
-   Going to try this out in a new file [[file:litorgy/litorgy-proc.el][litorgy-proc.el]].  This should
-   contain functions for asynchronously running generic shell commands
-   in the background, and then returning their input.
-
-*** partial update of org-mode buffer
-   The sleekest solution to this may be using a comint buffer, and
-   then defining a filter function which would incrementally interpret
-   the results as they are returned, including insertion into the
-   org-mode buffer.  This may actually cause more problems than it is
-   worth, what with the complexities of identifying the types of
-   incrementally returned results, and the need for maintenance of a
-   process marker in the org buffer.
-
-*** 'working' spinner
-    It may be nice and not too difficult to place a spinner on/near the
-    evaluating source code block
-
-** TODO conversion of output from interactive shell, R (and python) sessions to litorgy buffers
-   [DED] This would be a nice feature I think. Although a litorgy purist
-   would say that it's working the wrong way round... After some
-   interactive work in a *R* buffer, you save the buffer, maybe edit
-   out some lines, and then convert it to litorgy format for
-   posterity. Same for a shell session either in a *shell* buffer, or
-   pasted from another terminal emulator. And python of course.
-
 ** PROPOSED re-implement helper functions from org-R
 Much of the power of org-R seems to be in it's helper functions for
 the quick graphing of tables.  Should we try to re-implement these
@@ -201,6 +145,63 @@ for quick tests
 mean(mean(vec))
 #+end_src
 
+** DEFERRED Rework Interaction with Running Processes [0/3]
+*** TODO ability to select which of multiple sessions is being used
+    Increasingly it is looking like we're going to want to run all
+    source code blocks in comint buffer (sessions).  Which will have
+    the benefits of
+    1) allowing background execution
+    2) maintaining state between source-blocks
+       - allowing inline blocks w/o header arguments 
+
+**** R sessions
+     (like ess-switch-process in .R buffers)
+     
+     Maybe this could be packaged into a header argument, something
+     like =:R_session= which could accept either the name of the
+     session to use, or the string =prompt=, in which case we could use
+     the =ess-switch-process= command to select a new process.
+     
+*** TODO evaluation of shell code as background process? 
+    After C-c C-c on an R code block, the process may appear to
+    block, but C-g can be used to reclaim control of the .org buffer,
+    without interrupting the R evalution. However I believe this is not
+    true of bash/sh evaluation. [Haven't tried other languages] Perhaps
+    a solution is just to background the individual shell commands.
+
+    The other languages (aside from emacs lisp) are run through the
+    shell, so if we find a shell solution it should work for them as
+    well.
+    
+    Adding an ampersand seems to be a supported way to run commands in
+    the background (see [[http://www.emacswiki.org/emacs/ExecuteExternalCommand#toc4][external-commands]]).  Although a more extensible
+    solution may involve the use of the [[elisp:(progn (describe-function 'call-process-region) nil)][call-process-region]] function.
+    
+    Going to try this out in a new file [[file:litorgy/litorgy-proc.el][litorgy-proc.el]].  This should
+    contain functions for asynchronously running generic shell commands
+    in the background, and then returning their input.
+
+**** partial update of org-mode buffer
+    The sleekest solution to this may be using a comint buffer, and
+    then defining a filter function which would incrementally interpret
+    the results as they are returned, including insertion into the
+    org-mode buffer.  This may actually cause more problems than it is
+    worth, what with the complexities of identifying the types of
+    incrementally returned results, and the need for maintenance of a
+    process marker in the org buffer.
+
+**** 'working' spinner
+     It may be nice and not too difficult to place a spinner on/near the
+     evaluating source code block
+
+*** TODO conversion of output from interactive shell, R (and python) sessions to litorgy buffers
+    [DED] This would be a nice feature I think. Although a litorgy purist
+    would say that it's working the wrong way round... After some
+    interactive work in a *R* buffer, you save the buffer, maybe edit
+    out some lines, and then convert it to litorgy format for
+    posterity. Same for a shell session either in a *shell* buffer, or
+    pasted from another terminal emulator. And python of course.
+
 ** 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.
@@ -379,6 +380,7 @@ This is currently working only with emacs lisp as in the following
 example in the [[* emacs lisp source reference][emacs lisp source reference]].
 
 
+
 * Bugs [6/8]
 
 ** TODO cursor movement when evaluating source blocks