Comment 5 for bug 620508

Revision history for this message
Gustavo Niemeyer (niemeyer) wrote :

<niemeyer> lifeless: I see
<niemeyer> lifeless: Looks like an obvious bug indeed
<lifeless> are the solutions discussed in the bug appropriate ?
<niemeyer> lifeless: Probably not entirely
<niemeyer> lifeless: Discussing:
<niemeyer> """
<niemeyer> There are two solutions. Either change _get_select() to override a non-Undef value with Undef, or change the copy() operation to copy ._select.
<niemeyer> """
<niemeyer> The later probably means change copy() to *not* copy select (since it's already copying it nowadays)
<niemeyer> But it'd be wrong even then
<niemeyer> _select in this case is used exclusively on set operations
<niemeyer> So if it's not copied, the copy becomes incorrect immediately
<niemeyer> Turning _select into Undef would have the same result
<niemeyer> lifeless: That additional complexity is used specifically by _set_expr()
<niemeyer> lifeless: The right fix is likely in the direction of copying the outer expression contained in _select during copy(), or something similar (and less hackish)