From maechler at stat.math.ethz.ch  Sat Dec 16 22:31:21 2006
From: maechler at stat.math.ethz.ch (Martin Maechler)
Date: Sat, 16 Dec 2006 22:31:21 +0100
Subject: [Rd] data frame subset patch, take 2
In-Reply-To: <200612131303.21982.vdergachev@rcgardis.com>
References: <200612061333.09050.vdergachev@rcgardis.com>
	<457EE9DE.7050001@fhcrc.org>
	<17791.56721.742238.592970@stat.math.ethz.ch>
	<200612131303.21982.vdergachev@rcgardis.com>
Message-ID: <17796.26025.698050.64495@cmath-3.math.ethz.ch>

>>>>> "Vladimir" == Vladimir Dergachev <vdergachev at rcgardis.com>
>>>>>     on Wed, 13 Dec 2006 13:03:21 -0500 writes:

    Vladimir> On Wednesday 13 December 2006 6:01 am, Martin Maechler wrote:
    >> 
    >> - Vladimir, have you verified your 'take2' against recent versions
    >> of R-devel?

    Vladimir> Yes. 

indeed it applies cleanly

    >> - If they still work, could you re-post them to R-devel, this
    >> time using a proper MIME type,
    >> i.e. most probably one of
    >> application/x-tar
    >> application/x-compressed-tar
    >> application/x-gzip
    >> 
    >> In case you don't know how to achieve this,
    >> I'd be interested to get it by "private" e-mail.

    Vladimir> No problem. The old e-mail did have a mime type: "text/x-diff".
    Vladimir> I am resending the patch - now compressed, hopefully it will get pass whatever 
    Vladimir> filters are in place.

It did pass --- and  "text/x-diff" should pass through too from
now on.

However, even though the patch looks quite ok
{apart from one border case:  swiss[2, , drop = TRUE]  should give a list;
 and that was easy to fix; see the attached dataframe.R-diff
 file which incorporates that fix (and my other cosmetic changes)}

but running 'make check-all' then shows segmentation faults --- only on one platform of the
two I've tested {in mgcv's gam() example, boot's  boot()
		 example, and I think one other place}
My guess: typically when dealing with model.frames (which
   internally are "just" data frames with a particular "terms" attribute)
but the problems are not reproducible when run interactively.
It may really be that .subset() and .subset2() are sometimes
used in cases they should not be in your new code; or they even have a bug that
is not triggered unless by using them in the new context of [.data.frame

So I'm sorry, but we might have to wait for a "take 3"
or rather try to find the problem with your patch. 
Maybe you can try yourself?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dataframe.R-diff
Type: text/x-diff
Size: 2299 bytes
Desc: not available
Url : https://stat.ethz.ch/pipermail/r-devel/attachments/20061216/81fc1bc6/attachment.bin 
-------------- next part --------------

Thanks anyway, Vladimir!

Regards,
Martin Maechler, ETH Zurich


[Rd] data frame subset patch, take 2
Martin Maechler