I ported that over.
On Tue, Aug 1, 2017 at 5:50 AM, Andrzej Ole? <andrzej.oles at 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.michael at 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.oles at 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
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.oles at gmail.com>
wrote:
You're right, I must have mixed up my R versions when running the
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.michael at 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
enough R-devel?
On Tue, Apr 25, 2017 at 2:34 AM, Andrzej Ole? <
andrzej.oles at gmail.com>
Hi Michael,
thanks again for your patch! I've tested it and I'm happy to
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.oles at gmail.com>
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
forward to the patch.
Cheers,
Andrzej
On Thu, Apr 20, 2017 at 10:28 PM, Michael Lawrence
<lawrence.michael at gene.com> wrote:
Thanks for pointing out these issues. I have a fix that I will
soon.
Btw, I would never have seen the post on Stack Overflow. It's
report bugs on the bugzilla.
Michael
On Thu, Apr 20, 2017 at 8:30 AM, Andrzej Ole?
<andrzej.oles at gmail.com>
wrote:
Hi all,
I recently encountered some unexpected behavior with S4
TL;DR: `callNextMethod()` doesn't work in methods dispatching
`...`,
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
the
`...` dispatch?
Cheers,
Andrzej
[[alternative HTML version deleted]]