Dan Kortschak
2019-Dec-15 10:47 UTC
[Rd] source definition for R_NilValue/return from TYPEOF(R_NilValue)
Hello, for reasons I want to know the return value of TYPEOF(R_NilValue), I expect it to be NILSXP, but I can't find this documented anywhere. Ideally, I'd like to see the source definition of R_NilValue, but after fair bit of searching I cannot find an obviously location for this. Would someone please point me in the right direction? thanks -- CRICOS provider code 00123M
Gábor Csárdi
2019-Dec-16 10:02 UTC
[Rd] source definition for R_NilValue/return from TYPEOF(R_NilValue)
It is in the source: https://github.com/wch/r-source/blob/ea8c13aef93058c71d647619583b561567856584/src/include/Rinternals.h#L110 https://github.com/wch/r-source/blob/ea8c13aef93058c71d647619583b561567856584/src/include/Rinternals.h#L1798 It could probably be in https://cran.r-project.org/doc/manuals/r-devel/R-lang.html#NULL-object Gabor On Mon, Dec 16, 2019 at 9:59 AM Dan Kortschak <dan.kortschak at adelaide.edu.au> wrote:> > Hello, > > for reasons I want to know the return value of TYPEOF(R_NilValue), I > expect it to be NILSXP, but I can't find this documented anywhere. > Ideally, I'd like to see the source definition of R_NilValue, but after > fair bit of searching I cannot find an obviously location for this. > > Would someone please point me in the right direction? > > thanks > -- > CRICOS provider code 00123M > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Ivan Krylov
2019-Dec-16 10:33 UTC
[Rd] source definition for R_NilValue/return from TYPEOF(R_NilValue)
On Sun, 15 Dec 2019 10:47:11 +0000 Dan Kortschak <dan.kortschak at adelaide.edu.au> wrote:> I'd like to see the source definition of R_NilValue, but after > fair bit of searching I cannot find an obviously location for this. > > Would someone please point me in the right direction?As far as I understand, the assignment to R_NilValue happens in src/main/memory.c: https://github.com/wch/r-source/blob/776929704cb4f9398f52805f48f2c93582ec3d38/src/main/memory.c#L2186 (see the definition of GET_FREE_NODE(s) in the same file) Besides declaring R_NulValue as "extern" and assignments in void InitMemory(), there doesn't seem to be anything else. -- Best regards, Ivan
Dan Kortschak
2019-Dec-16 20:34 UTC
[Rd] source definition for R_NilValue/return from TYPEOF(R_NilValue)
Thank you, but those source lines do not address the issue here. Dan On Mon, 2019-12-16 at 10:02 +0000, G?bor Cs?rdi wrote:> It is in the source: >https://github.com/wch/r-source/blob/ea8c13aef93058c71d647619583b561567856584/src/include/Rinternals.h#L110>https://github.com/wch/r-source/blob/ea8c13aef93058c71d647619583b561567856584/src/include/Rinternals.h#L1798> > It could probably be in >https://cran.r-project.org/doc/manuals/r-devel/R-lang.html#NULL-object> > Gabor > > On Mon, Dec 16, 2019 at 9:59 AM Dan Kortschak > <dan.kortschak at adelaide.edu.au> wrote: > > > > Hello, > > > > for reasons I want to know the return value of TYPEOF(R_NilValue), > > I > > expect it to be NILSXP, but I can't find this documented anywhere. > > Ideally, I'd like to see the source definition of R_NilValue, but > > after > > fair bit of searching I cannot find an obviously location for this. > > > > Would someone please point me in the right direction? > > > > thanks > > -- > > CRICOS provider code 00123M > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel-- CRICOS provider code 00123M
Dan Kortschak
2019-Dec-16 20:35 UTC
[Rd] source definition for R_NilValue/return from TYPEOF(R_NilValue)
Thanks, Ivan. That answers the question perfectly. Dan On Mon, 2019-12-16 at 13:33 +0300, Ivan Krylov wrote:> On Sun, 15 Dec 2019 10:47:11 +0000 > Dan Kortschak <dan.kortschak at adelaide.edu.au> wrote: > > > I'd like to see the source definition of R_NilValue, but after > > fair bit of searching I cannot find an obviously location for this. > > > > Would someone please point me in the right direction? > > As far as I understand, the assignment to R_NilValue happens in > src/main/memory.c: > >https://github.com/wch/r-source/blob/776929704cb4f9398f52805f48f2c93582ec3d38/src/main/memory.c#L2186> > (see the definition of GET_FREE_NODE(s) in the same file) > > Besides declaring R_NulValue as "extern" and assignments in void > InitMemory(), there doesn't seem to be anything else. >-- CRICOS provider code 00123M