(original) (raw)


I think it was tripping-up the folks working on the C implementation.   
Georg can speak to it more directly. IIRC, the issue was that the  
context object exposed a dictionary which a user could update directly  
and there was no notification back to the surrounding object so it could  
update an underlying bitfield representation.  
 
  
Yes, that's exactly what the problem was. Working with bitfields internally  
is fine as long as Python code doesn't want to change the dicts exposed  
as a wrapper.  
 

If you want to stick with dictionary-like access to traps and flags, then use a dict subclass that overrides each of the mutating methods.

Even then, we need to drop the concept of having the flags as counters rather than booleans.


Raymond