Created attachment 1420 [details]
make insertSource support S4 methods
There are three issues on insertSource as below:
1. `differs` function in `.copyMethods` is wrong
2. `setMethod` does nothing if `cacheOnAssign(where)` is FALSE
3. the result of `allMethodTables()` is substituted to `methods` when evaluate `length(methods)` and `length(methods)` can be greater than 0
I don't know much about S4, but I think the attached patch is useful to fix these issues.
`missing(functions) & missing(methods)` will be always `FALSE` by applying the patch when evaluating `force`, because `missing(methods)` is always `TRUE`.
I think using both of default argument and `missing` function is very confusing.
Created attachment 1421 [details]
support multiple signatures and methods without setGeneric call
I have modified the patch slightly to support multiple signatures and methods without setGeneric call.