On Thu, Jun 30, 2011 at 9:35 AM, Duncan Murdoch <murdoch.duncan@gmail.com>wrote:

> 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.
>
>
Ok, well if this is user error, then the error message should not ask the
user to report it as a bug. The comment cited above is incorrect, since it
is indeed possible to give function() an incorrect body.

Thanks,
Michael


> 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<https://stat.ethz.ch/mailman/listinfo/r-devel>
>>
>
>

	[[alternative HTML version deleted]]

