[Rd] [patch] Add support for editor function in edit.default

Scott Kostyshak skostysh at princeton.edu
Tue May 20 11:55:53 CEST 2014

Regarding the following extract of ?options:
     ‘editor’: a non-empty string, or a function that is called with a
          file path as argument.

edit.default currently calls the function with three arguments: name,
file, and title. For example, running the following

vimCmd <- 'vim -c "set ft=r"'
vimEdit <- function(file_) system(paste(vimCmd, file_))
options(editor = vimEdit)
myls <- edit(ls)

gives "Error in editor(name, file, title) : unused arguments (file, title)".

The attached patch changes edit.default to call the editor function
with just the file path. There is at least one inconsistent behavior
that this patch causes in its current form. It does not obey the
following (from ?edit):
     Calling ‘edit()’, with no arguments, will result in the temporary
file being reopened for further editing.

I see two ways to address this: (1) add a getEdFile() function to
utils/edit.R that calls a function getEd() defined in edit.c that
returns DefaultFileName; or (2) this patch could be rewritten in C in
a new function in edit.c.

Is there any interest in this patch?
If not, would there be interest in an update of the docs, either
?options (stating the possibility that if 'editor' is a function, it
might be called with 'name', 'file', and 'title' arguments) or ?edit


> sessionInfo()
R Under development (unstable) (2014-05-20 r65677)
Platform: x86_64-unknown-linux-gnu (64-bit)

 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

Scott Kostyshak
Economics PhD Candidate
Princeton University
-------------- next part --------------
A non-text attachment was scrubbed...
Name: edit.default.patch
Type: text/x-patch
Size: 687 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20140520/af3d773c/attachment.bin>

More information about the R-devel mailing list