فهرست منبع

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 سال پیش
والد
کامیت
3a0be8fd06
1فایلهای تغییر یافته به همراه60 افزوده شده و 58 حذف شده
  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