Duncan Murdoch wrote:> Huntsinger, Reid wrote: > >>Sorry, I was looking at 2.0.1 when I meant to be looking at 2.1.0. The line >>numbers for the latter are 161-179 and line 164 is the one with what I think >>is a typo. >> >>Reid Huntsinger >> >>-----Original Message----- >>From: r-devel-bounces@stat.math.ethz.ch >>[mailto:r-devel-bounces@stat.math.ethz.ch] On Behalf Of Huntsinger, Reid >>Sent: Thursday, June 02, 2005 12:33 PM >>To: r-devel@stat.math.ethz.ch >>Subject: [Rd] dotcode typo? >> >> >>I ran across the following in the R-2.0.1 source, src/main/dotcode.c, in the >>function resolveNativeRoutine(), lines 146-163. Line 152 looks like a typo: >>here are lines 149-155 >> >> if(!*fun) { >> if(dll.type != FILENAME) { >> *fun = R_FindNativeSymbolFromDLL(buf, &dll, symbol); >> if(!fun) { >> errorcall(call, "cannot resolve native routine"); >> } >> } >> >>and I think the "if(!fun)" should be "if(!*fun)". > > > I think you're right about the typo. > > In the current code, !fun is known to be false, so the "cannot resolve > native routine" error message is not even compiled in. Putting in !*fun > means that > > .C("foo") > > produces "cannot resolve native routine", rather than "function name not > in load table" from the test a few lines down. > > I'll commit this change after testing, but I hope Duncan TL has time to > look at it and make sure the logic is okay.Whoops, spoke too soon. This definitely breaks the logic, so I won't commit. With this change the check of demo(lm.glm) in package utils fails with this error message: > dead <- cbind(x, n - x) > summary(glm(dead ~ dose, family = binomial(link = logit))) Error in .Call("logit_link", mu) : cannot resolve native routine Execution halted I'm cc'ing this to R-bugs so we don't forget it, but I'm not going to be able to fix it down myself. Duncan Murdoch
murdoch@stats.uwo.ca wrote:> Duncan Murdoch wrote: > >>Huntsinger, Reid wrote: >> >> >>>Sorry, I was looking at 2.0.1 when I meant to be looking at 2.1.0. The line >>>numbers for the latter are 161-179 and line 164 is the one with what I think >>>is a typo. >>> >>>Reid Huntsinger >>> >>>-----Original Message----- >>>From: r-devel-bounces@stat.math.ethz.ch >>>[mailto:r-devel-bounces@stat.math.ethz.ch] On Behalf Of Huntsinger, Reid >>>Sent: Thursday, June 02, 2005 12:33 PM >>>To: r-devel@stat.math.ethz.ch >>>Subject: [Rd] dotcode typo? >>> >>> >>>I ran across the following in the R-2.0.1 source, src/main/dotcode.c, in the >>>function resolveNativeRoutine(), lines 146-163. Line 152 looks like a typo: >>>here are lines 149-155 >>> >>>if(!*fun) { >>> if(dll.type != FILENAME) { >>> *fun = R_FindNativeSymbolFromDLL(buf, &dll, symbol); >>> if(!fun) { >>> errorcall(call, "cannot resolve native routine"); >>> } >>> } >>> >>>and I think the "if(!fun)" should be "if(!*fun)". >> >> >>I think you're right about the typo. >> >>In the current code, !fun is known to be false, so the "cannot resolve >>native routine" error message is not even compiled in. Putting in !*fun >>means that >> >>.C("foo") >> >>produces "cannot resolve native routine", rather than "function name not >>in load table" from the test a few lines down. >> >>I'll commit this change after testing, but I hope Duncan TL has time to >>look at it and make sure the logic is okay. > > > Whoops, spoke too soon. This definitely breaks the logic, so I won't > commit. With this change the check of demo(lm.glm) in package utils > fails with this error message: > > > dead <- cbind(x, n - x) > > > summary(glm(dead ~ dose, family = binomial(link = logit))) > Error in .Call("logit_link", mu) : cannot resolve native routine > Execution halted > > I'm cc'ing this to R-bugs so we don't forget it, but I'm not going to be > able to fix it down myself. > > Duncan Murdoch > > ______________________________________________ > R-devel@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-develThat occurs in code that I recently added so I better check that.
On 6/2/2005 1:27 PM, bates@wisc.edu wrote:> murdoch@stats.uwo.ca wrote:>> >> Whoops, spoke too soon. This definitely breaks the logic, so I won't >> commit. With this change the check of demo(lm.glm) in package utils >> fails with this error message: >> >> > dead <- cbind(x, n - x) >> >> > summary(glm(dead ~ dose, family = binomial(link = logit))) >> Error in .Call("logit_link", mu) : cannot resolve native routine >> Execution halted >> >> I'm cc'ing this to R-bugs so we don't forget it, but I'm not going to be >> able to fix it down myself. >> >> Duncan Murdoch >> >> ______________________________________________ >> R-devel@stat.math.ethz.ch mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel > > That occurs in code that I recently added so I better check that.I think it was that .Call() didn't include PACKAGE="stats" in stats/R/family.R. I've fixed that; I'll look for other similar cases. Duncan Murdoch