On 12 January 2017 at 09:08, Frank Wang <frankw@mit.edu> wrote:
def binaryoperation(operationname): """NOT_RPYTHON""" def opimpl(self, *ignored): operation = getattr(self.space, operationname) w_2 = self.popvalue() w_1 = self.popvalue() w_result = operation(w_1, w_2)
# union flags in w_1 and w_2 and propagate to result w_1_rbflags = w_1.get_rbflags() w_2_rbflags = w_2.get_rbflags() w_1_rbflags.update(w_2_rbflags) w_result.set_rbflags(w_1_rbflags)
self.pushvalue(w_result)
It looks like, if an app-level exception is in progress, w_result may be None. Try checking for that before setting the flags. Also: did you mean to alter w_1's rbflags? Seems strange that you'd alter w_1 but not w_2. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to DENY YOU THOSE RIGHTS would be illegal without prior contractual agreement.