[Rd] Wrong object type produced - LANGSXP should be LISTSXP
(PR#7055)
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Wed Jul 7 00:54:51 CEST 2004
bauerda at ieee.org writes:
> Full_Name: David Bauer
> Version: 1.9
> OS: Linux
> Submission from: (NULL) (160.91.245.8)
>
>
> In the file gram.y, the xxsubscript function generates a LANGSXP with another
> LANGSXP as its CDR. I believe that this is a mistake and that the second
> LANGSXP should be a LISTSXP. The inputs a1, a3 are parameters to the subscript
> function (a2), and as such they should be in a dotted-pair list.
Hmmm. Probably true in principle (as far as I can see, corresponding
logic for funcalls does make the argument list an ordinary pairlist,
not a language object). However, is it not a victimless crime? I can't
think of a way to make it matter at the R level. It's the sort of thing
that you tend not to want to fix if it isn't broken...
Notice that
z <- quote(x[2])
mode(z[-1])
returns call, but the same is true of any function call (and that's
kind of weird, but a consequence of a general rule that [-indexing
returns an object of the same mode as the original).
[snip...]
> - PROTECT(ans = LCONS(a2, LCONS(a1, CDR(a3))));
> + PROTECT(ans = LCONS(a2, CONS(a1, CDR(a3))));
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-devel
mailing list