Awesome, thank you Michael! On Mon, Aug 7, 2017 at 7:27 PM, Michael Lawrence <lawrence.mich...@gene.com> wrote:
> I ported that over. > > On Tue, Aug 1, 2017 at 5:50 AM, Andrzej Oleś <andrzej.o...@gmail.com> > wrote: > >> Thank you Michael for updating the 3.4 branch, the `callNextMethod()` now >> works for `...` methods as expected. However, I'm still missing your other >> patch fixing the handling of arguments in `...` methods. It would be really >> great if this bugfix could be integrated into the 3.4 branch as well, such >> that the following code doesn't result in an error. >> >> Cheers, >> Andrzej >> >> >> f = function(x, ..., a = b) { >> b = "missing 'a'" >> print(a) >> } >> >> f() >> ## [1] missing 'a' >> >> f(a = 1) >> ## [1] 1 >> >> setGeneric("f", signature = "x") >> >> # works as the non-generic version >> f() >> ## [1] missing 'a' >> >> setGeneric("f", signature = "...") >> >> # unexpectedly fails to find 'b' >> f() >> ## Error in print(a) : object 'b' not found >> >> >> On Fri, Jul 28, 2017 at 9:15 PM, Michael Lawrence < >> lawrence.mich...@gene.com> wrote: >> >>> I pushed the patch to the 3.4 branch. Feel free to test. >>> >>> Michael >>> >>> On Wed, Jul 26, 2017 at 4:02 AM, Andrzej Oleś <andrzej.o...@gmail.com> >>> wrote: >>> > Hi Michael, >>> > >>> > it seems that your patch to S4 generics dispatching on `...` is still >>> > available only in R-devel, and was not included in the minor R-3.4.1 >>> > release. I was wondering what is the policy of incorporating bug fixes >>> from >>> > the devel branch into release, and whether there is any chance that the >>> > broken `...` dispatch is fixed before R-3.5.0? >>> > >>> > Cheers, >>> > Andrzej >>> > >>> > >>> > On Tue, Apr 25, 2017 at 4:15 PM, Andrzej Oleś <andrzej.o...@gmail.com> >>> > wrote: >>> >> >>> >> You're right, I must have mixed up my R versions when running the >>> example, >>> >> as the problem seems to be resolved in R-devel. >>> >> >>> >> Sorry for the noise and thanks again for fixing this. >>> >> >>> >> Andrzej >>> >> >>> >> On Tue, Apr 25, 2017 at 3:55 PM, Michael Lawrence >>> >> <lawrence.mich...@gene.com> wrote: >>> >>> >>> >>> I attempted to fix it, and that example seems to work for me. It's >>> >>> also a (passing) regression test in R. Are you sure you're using a >>> new >>> >>> enough R-devel? >>> >>> >>> >>> >>> >>> On Tue, Apr 25, 2017 at 2:34 AM, Andrzej Oleś < >>> andrzej.o...@gmail.com> >>> >>> wrote: >>> >>> > Hi Michael, >>> >>> > >>> >>> > thanks again for your patch! I've tested it and I'm happy to >>> confirm >>> >>> > that >>> >>> > `callNextMethod()` works with methods dispatching on `...`. >>> >>> > >>> >>> > However, the second issue I reported still seems to be unresolved. >>> >>> > Consider >>> >>> > the following toy example, where the `f()` calls differ in result >>> >>> > depending >>> >>> > on whether the dispatch happens on a formal argument or the `...` >>> >>> > argument. >>> >>> > >>> >>> > >>> >>> > f = function(x, ..., a = b) { >>> >>> > b = "missing 'a'" >>> >>> > print(a) >>> >>> > } >>> >>> > >>> >>> > f() >>> >>> > ## [1] missing 'a' >>> >>> > >>> >>> > f(a = 1) >>> >>> > ## [1] 1 >>> >>> > >>> >>> > setGeneric("f", signature = "x") >>> >>> > >>> >>> > # works as the non-generic version >>> >>> > f() >>> >>> > ## [1] missing 'a' >>> >>> > >>> >>> > setGeneric("f", signature = "...") >>> >>> > >>> >>> > # unexpectedly fails to find 'b' >>> >>> > f() >>> >>> > ## Error in print(a) : object 'b' not found >>> >>> > >>> >>> > >>> >>> > Any chances of fixing this? >>> >>> > >>> >>> > Cheers, >>> >>> > Andrzej >>> >>> > >>> >>> > >>> >>> > >>> >>> > On Fri, Apr 21, 2017 at 11:40 AM, Andrzej Oleś < >>> andrzej.o...@gmail.com> >>> >>> > wrote: >>> >>> >> >>> >>> >> Great, thanks Michael for you quick response! >>> >>> >> >>> >>> >> I started off with a question on SO because I was not sure whether >>> >>> >> this >>> >>> >> was an actual bug or I was just missing something obvious. I'm >>> looking >>> >>> >> forward to the patch. >>> >>> >> >>> >>> >> Cheers, >>> >>> >> Andrzej >>> >>> >> >>> >>> >> >>> >>> >> On Thu, Apr 20, 2017 at 10:28 PM, Michael Lawrence >>> >>> >> <lawrence.mich...@gene.com> wrote: >>> >>> >>> >>> >>> >>> Thanks for pointing out these issues. I have a fix that I will >>> commit >>> >>> >>> soon. >>> >>> >>> >>> >>> >>> Btw, I would never have seen the post on Stack Overflow. It's >>> best to >>> >>> >>> report bugs on the bugzilla. >>> >>> >>> >>> >>> >>> Michael >>> >>> >>> >>> >>> >>> On Thu, Apr 20, 2017 at 8:30 AM, Andrzej Oleś >>> >>> >>> <andrzej.o...@gmail.com> >>> >>> >>> wrote: >>> >>> >>> > Hi all, >>> >>> >>> > >>> >>> >>> > I recently encountered some unexpected behavior with S4 >>> generics >>> >>> >>> > dispatching on `...`, which I described in >>> >>> >>> > >>> >>> >>> > >>> >>> >>> > http://stackoverflow.com/questions/43499203/use-callnextmeth >>> od-with-dotsmethods >>> >>> >>> > >>> >>> >>> > TL;DR: `callNextMethod()` doesn't work in methods dispatching >>> on >>> >>> >>> > `...`, >>> >>> >>> > and >>> >>> >>> > arguments of such methods are resolved differently than the >>> >>> >>> > arguments >>> >>> >>> > of >>> >>> >>> > methods dispatching on formal arguments. >>> >>> >>> > >>> >>> >>> > Could this indicate a potential problem with the >>> implementation of >>> >>> >>> > the >>> >>> >>> > `...` dispatch? >>> >>> >>> > >>> >>> >>> > Cheers, >>> >>> >>> > Andrzej >>> >>> >>> > >>> >>> >>> > [[alternative HTML version deleted]] >>> >>> >>> > >>> >>> >>> > ______________________________________________ >>> >>> >>> > R-devel@r-project.org mailing list >>> >>> >>> > https://stat.ethz.ch/mailman/listinfo/r-devel >>> >>> >> >>> >>> >> >>> >>> > >>> >> >>> >> >>> > >>> >> >> > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel