* COMPLETION
** DONE make eldoc automatically pick available sub-process           :13_09:
   :LOGBOOK:
   - State "DONE"       from "DONE"       [2013-06-26 Wed 16:51]
   :END:
** TODO make eldoc (actually ess--fun.start) work from withing strings
* TRACEBUG
** DONE put back ess-debug-goto-input-event-marker
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-06-21 Fri 01:18]
   :END:
   [2013-06-18 Tue] [[gnus:nnfolder%2Barchive:sent-2013-June#87sj0fulny.fsf@gmail.com][Email to Marius Hofert: Re: {ESS} A suggestion for deb]]
** TODO make ess-selection-mode-map or just use ess-debug-mode-map
   When recover mode is on, it would be very convenient to exit it with M-Q.
   [2013-06-12 Wed]
** DONE tracebug detects only english error messages.
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-06-21 Fri 01:18]
   :END:
   Try to solve with gettext R's functionality. Partially solved (for most
   important cases) by relaxing regular expressions.

** DONE C-c C-c with ess-inject-source=t deletes files faster than R can process
   - State "DONE"       from "TODO"       [2013-06-26 Wed 16:46]
   
** DONE tramp references not found
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-08-12 ma 23:40]
   :END:
   [2013-07-08 ma] [[file:~/works/pbm/R/hierarchy.R::..st_is_old..%20<-][file:~/works/pbm/R/hierarchy.R::..st_is_old.. <-]]
   
** DONE watch window behaves unexpectedly
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2014-03-31 Mon 20:13]
   :END:
   [2013-06-27 Thu]
* DEVELOPER  
** DONE [#A] Eval in developer is broken
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-06-26 Wed 16:51]
   :END:
** TODO "initialize" method is not injected

** DONE don't ask on C-t l for package if already in a package and dev is active
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-08-12 ma 23:42]
   :END:
   It interrupts the workflow unnecessarily and feels differently from C-c C-l
   [2013-07-10 wo]
   
* SAS
** DONE remote M-x ess-sas-interactive via shell with ssh
  :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-08-12 ma 23:38]
  :END:
   sets ess-process-name-list to (("shell")) This prevents iESS[SAS] evaluation
   since a value of (("SAS")) would be necessary for that.

* INDENTATION
** TODO closing ) match the function keyword
   foo(a,
       b
   )

   instead of current:
   
   foo(a,
       b
       )

   And
   
   foo(
     a,
     b
   )

   instead of
   
   foo(
     a,
     b
     )

* EVALUATION
** TODO implement block-based evaluation

   >>>>> Peter Meilstrup on Fri, 10 Jan 2014 23:25:01 -0800 wrote:
   >> 
   >>> Over both eval-function (which doesn't usually do what I want when I
   >>> have inner functions) and eval-paragraph (which doesn't when I put a
   >>> line break in a function definition), I would prefer a command that
   >>> did "evaluate all lines that include the top-level bracket enclosing
   >>> point." That would be easy to implement using parse-partial-sexp and
   >>> cover the case discussed here.
   
   >> I would be happy to implement this. Then we would be able to inject the
   >> source code reliably. 
   >> 
   >> A bit of an issue is the paragraph evaluation. A common pattern in R
   >> interactive code is to have a bunch of one-liners to be evaluated at
   >> once. Top-level-form evaluation will break this pattern unless we expand
   >> the evaluated region to the whole paragraph containing the form.
   >> 
   >> Sometimes I need to evaluate an inner form as well. A natural thing
   >> would be to put it on C-u, but C-u is historically taken for a not very
   >> useful visual evaluation toggling.
   >> 
   >> Any ideas/proposals are welcome.
   >> 
   >> Vitalie
   >> 


* MISC
** TODO [#A] populate ess-autoload.el and call it from ess-site.el    :13_09:
   This will ensure that very quick start both for (require "ess-start") and
   MELPA users.
** TODO [#B] build ert based unit test suit                           :13_09:
** TODO split ess-mode into specialized derived modes
** DONE set PAGER="cat" environment variable for tramp process if unset?
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2014-03-31 Mon 20:13]
   :END:
** TODO cleanup ESS namespace 
   [2013-06-27 Thu]
** DONE remove reference to ssh.el from manual + add tramp workflow
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-10-16 Wed 19:17]
   :END:
   [2013-07-10 wo] [[gnus:nnimap%2BSpinuVit:INBOX#51DD58EF.1010702@yahoo.de][Email from Jannis: Re: {ESS} ess-eldoc via ssh re]]
** TODO check Rodney's report on bastard symlinks  
   [2013-07-11 do]
** DONE check if ess-remote works
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-10-16 Wed 19:17]
   :END:
   [2013-08-12 ma]

** CANCELLED Help focus does not honor focus-follows-mouse/mouse-autoselect-window :CANCELLED:
   :LOGBOOK:
   - State "CANCELLED"  from "TODO"       [2013-10-16 Wed 19:16] \\
     was not a bug:  said users may want to consider setting ess-help-pop-to-buffer to nil
   :END:
If you have focus-follows-mouse and mouse-autoselect-window set to t,
then ask for help in an *R* buffer, i.e.
> ?setwd

The help buffer steals focus permanently instead of surrendering it
to mouse movement; you need to physically click in the *R*
buffer to restore the focus following the mouse.  C-c C-d C-d
behaves similarly.  Ideally, we should respect the user's settings 
of focus-follows-mouse/mouse-autoselect-window in this common 
help/*R* buffer arrangement.
** TODO Make an option to remember eval-and-go code in comint history
** DONE DESCRIPTION file is killed if set to R-mode
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2013-10-16 Wed 18:15]
   :END:
** TODO eldoc should ignore some functions
Some functions have no useful argument information to report and they
should simply be ignored.  Ideally, this feature would be customizable
so that each user could add their unfavorite functions.  To start, I
would put suggest: (), c(), list(), sqrt(), t()
** TODO ess-doc-map, ess-extra-map, and ess-dev-map  are present "everywhere"
  notably in ess-help, inferior-ess, and ess-mode. It would be *really*
  user friendly if we have a "submenu" for each of these maps, and them 
  in both ESS and iESS (or all 4: ESS, iESS, ESS-help, ESS-transcript, ..).
** DONE ess-execute-screen-options wrong in terminal
   :LOGBOOK:
   - State "DONE" [2014-03-31 Mon 20:11]
   :END:
   [2013-12-19 Thu] [[gnus:nnimap%2BSpinuVit:ESS#CAD%3D7RJZ4EHETKF4LPJpzuw0uO9AuzOtWDYVnV1cZAVQxAotVxg@mail.gmail.com][Email from Ali Tofigh: {ESS} ess-execute-screen-optio]]
** TODO Implement "Extract Function" functionality
   Proposed by Andreas Leha:
   ,----
   | RStudio can analyze a selection of code from within the source editor
   | and automatically convert it into a re-usable function. Any "free"
   | variables within the selection (objects that are referenced but not
   | created within the selection) are converted into function arguments
   `----
** DONE > a + b + c is not cleaned correctly with C-u C-u C-y
   :LOGBOOK:
   - State "DONE"       from "TODO"       [2014-03-31 Mon 20:05]
   :END:
   While you are in this part of the code, can you add C-u C-u C-y to the ESS
   menu item, although maybe it belongs on the Edit menu.  Not clear to me
   which would be better.
   
   Thanks
   Rich
   [2014-02-20 Thu] [[gnus:nnimap%2BSpinuVit:ESS/ESS-core#CAGx1TMCSfK3XK6YghxomP03R_tFD2AiC4X%3D0NDcvoje%3D%2B9vMWw@mail.gmail.com][Email from Richard M. Heiberger: bug in ess-transcript-clean-re]]

* RStudio (excerpts from Hadley's R-packages book)
** TODO Build & reload
   Available in RStudio via Cmd + Shift + B. This in- stalls the package,
   restarts R, and then reloads the package with library() (doing this by hand
   is painful).
** TODO Jump to github file view. If lines are selected jump to those lines.
   This is probably there in projectile.
