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