On Sun, 8 Aug 2010, Rafael Laboissiere wrote:

Okay, I could not refrain myself and implemented the change in
src/unix/sys-std.c.  The patch is attached below.  I tested it in the
2.11.1 source and it worked fine.  At any rate, the patch applies cleanly
to the SVN source.

Three notes about this patch:

1. The code is taken from the bash source (bashline.c) with minimal
  changes.

Hmm, one of those 'minimal changes' was to omit the copyright and licence statements. I very much doubt that you have the right to post copied code without those, and we certainly do not have the right to use such code in the R sources.

Bash is currently distributed under a licence that FSF deems incompatible with that of R, and we would only accept code which can be (re-)licensed under GPL (>=2). So it is critical where exactly you copied this from.

We can only consider code contributions where the provenance and licensing of the code is clearcut. That includes your own contributions, and since you posted from an address which is likely to be your employer, who owns the copyright of your work needs to be clear too.

If you provide a patch with these extremely important issues resolved, we will consider its merits. But not otherwise.


2. The changes are put inside #ifdef HAVE_READLINE_HISTORY_H, because
  it uses history related functions.

3. In the call to rl_add_defun, the operate-and-get-next function is
  bound to C-o.  This is not the behavior of Bash and Octave, which
  depends on the user to define the key binding in ~/.inputrc.  To
  mimic this behavior, the code should be rather:

  rl_add_defun ("operate-and-get-next", operate_and_get_next, -1);


Best regards,

Rafael Laboissiere

* Rafael Laboissiere <rafael.laboissi...@inserm.fr> [2010-08-07 13:07]:

Both Bash and Octave have a nifty addition to the readline library called
"operate-and-get-next", bound to "C-o".  This function accepts the
current line for execution and fetch the next line relative to the
current line from the history for editing (see
http://www.faqs.org/docs/bashman/bashref_101.html).

This feature has a huge impact in my productivity using Bash and Octave
interactively, since it avoids those numerous arrow key strokes in order
to rerun a previous block of commands.

I looked at the Bash sources and it does not seem too complicate to
implement.  Octave has borrowed practically the same code from Bash.
Before I start looking at the R code, I would like to know whether the R
developers had already planned to include the operate-and-get-next
feature into R.

Best regards,

Rafael Laboissiere


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to