Hi Andrew,
> it's not global, it's mutable. you are passing THE SAME FRICKING OBJECT > to is_terminal and appending values to it. That, I understand. I already saw in the archives this confuses many people, e.g. the thread "Odd behavior regarding a list". I think this is understandable if you did not read the documentation's small print about mutable objects. However, that was not my problem in this case. What I was surprised about is that this object persists across calls to is_terminal(). Diez now showed me why that is: the def statement creates a persistent object upon the first time it is called. > sorry for the shouting, but someone asks this EVERY DAY AND I CAN'T TAKE > ANY MORE. No problem, thanks for answering anyway. all the best, daniel -- http://mail.python.org/mailman/listinfo/python-list