'Evaluate text and return (obj, valid)
where *obj* is the object represented by *text*
and *valid* is True if object evaluation did not raise any exception'

def eval(self, text):

    assert is_text_string(text)
    try:
        return (eval(text, self.locals), True)
    except:
        return (None, False)
