On 29/06/2011 9:09 PM, Michael Lawrence wrote:
Hi guys,

Looks like mkCLOSXP cannot handle external pointers as the function body.
Work around is obvious, but I guess it's a bug nonetheless.

I don't know if it's a bug. The mkCLOSXP code has a list of types that it accepts; external pointers and environments aren't in that list, so you get the same error you saw with

fun<- eval(substitute(function() x, list(x = environment())))

There's a comment

/* This is called by function() {}, where an invalid
   body should be impossible. When called from
   other places (eg do_asfunction) they
   should do this checking in advance */


I don't know whether there's any reason for the restriction, but I'd want to look closely at what gets done with the body to make sure that putting an environment or external pointer or other weird type there doesn't cause other problems.

Duncan Murdoch

>  library(RGtk2)
>  fun<- eval(substitute(function() x, list(x = gtkWindow())))
Error in eval(expr, envir, enclos) : invalid body argument for "function"
Should NEVER happen; please bug.report() [mkCLOSXP]

>  sessionInfo()
R version 2.14.0 Under development (unstable) (--)
Platform: i686-pc-linux-gnu (32-bit)

locale:
[1] C

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

other attached packages:
[1] RGtk2_2.20.13 qtbase_0.8-16 visnab_0.0.1

loaded via a namespace (and not attached):
  [1] BSgenome_1.21.3       Biobase_2.11.10       Biostrings_2.21.6
  [4] DBI_0.2-5             GenomicFeatures_1.5.5 GenomicRanges_1.3.39
  [7] IRanges_1.11.11       MutableRanges_0.2.0   RColorBrewer_1.0-2
[10] RCurl_1.5-0           RSQLite_0.9-4         Rsamtools_1.5.13
[13] XML_3.2-0             biomaRt_2.7.2         colorspace_1.0-1
[16] dichromat_1.2-3       munsell_0.2           objectSignals_0.5.1
[19] plumbr_0.6.2          plyr_1.4.1            qtpaint_0.7.22
[22] rtracklayer_1.13.3    scales_0.1.0          stringr_0.4

        [[alternative HTML version deleted]]

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

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

Reply via email to