[Rd] Debugging namespace problems
Hadley Wickham
hadley at rice.edu
Fri Dec 23 20:54:36 CET 2011
And one last note: I'm reasonably certain I haven't forgotten to
export an S3 method because I wrote the following script to (crudely)
compare the function definitions in ggplot2 with its namespace:
ns <- parseNamespaceFile("ggplot", "~/Documents/ggplot/")
s3e <- paste(ns$S3methods[, 1], ns$S3methods[, 2], sep = ".")
f <- ls("package:ggplot2")
s3 <- f[str_detect(f, fixed("."))]
missing <- setdiff(s3, s3e)
missing[!str_detect(missing, "bolus|icon")]
(Code isn't reproducible, but should give you the basic idea)
Hadley
On Fri, Dec 23, 2011 at 1:52 PM, Hadley Wickham <hadley at rice.edu> wrote:
> I should add that I'm pretty sure this is something wrong with the
> ggplot2 NAMESPACE because if I explicitly attach ggplot2 the code
> works:
>
>> library(nstest)
>> my_plot()
> Error in UseMethod("scale_dimension") :
> no applicable method for 'scale_dimension' applied to an object of
> class "NULL"
>> library(ggplot2)
>> my_plot()
> # Plot appears.
>
> Hadley
>
> On Fri, Dec 23, 2011 at 1:50 PM, Hadley Wickham <hadley at rice.edu> wrote:
>> Hi all,
>>
>> I frequently find that I've failed to export something in my NAMESPACE
>> and hence my package doesn't work when it's imported into another
>> package. Does anyone have suggestion for debugging this type of
>> problem? R CMD check passes without any ns related errors on both the
>> importee and the importer.
>>
>> I've attached a reproducible example - if you install the development
>> version of ggplot2 (e.g. with devtools::install_github("ggplot2") the
>> attached package fails R CMD check with:
>>
>>> ### ** Examples
>>>
>>> plot(my_plot())
>> Error in structure(list(data = data, layers = list(), scales = Scales$new(), :
>> attempt to apply non-function
>> Calls: plot ... my_plot -> ggplot -> ggplot.data.frame -> structure
>> Execution halted
>> Error: Command failed (1)
>>
>> Hadley
>>
>> --
>> Assistant Professor / Dobelman Family Junior Chair
>> Department of Statistics / Rice University
>> http://had.co.nz/
>
>
>
> --
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
> http://had.co.nz/
--
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/
More information about the R-devel
mailing list