Timothy Moore moore@bricoworks.com writes:
I've started to take a look at this. Christophe pointed out that the code that checks the stream cursor is only checking the x coordinate; apparently a bug, but this change was specifically made during Gilbert's rewrite of the compute-difference-set code, so I don't think it's right to check both x and y without understanding what he's doing there. Gilbert? :)
I don't think that's the bug -- without removing the y-coordinate check, no output record is ever /moved/ even if it's unchanged apart from its stream-position. (I think actually that the x-coordinate shouldn't be checked either: that way arbitrary translations of output-records would be possible. I don't know why that wasn't implemented at the time...)
Cheers,
Christophe