KLH@MIT-AI 04/13/77 04:30:34 The philosophy of providing for "bumping" is, in general: [1] During any output or list UUO, a bump is possible. [2] Such bumping will affect ONLY the area in question - for list UUO's, both list & string area may get bumped, but all such addrs/pointers are relative. (2a) An area will remain unmoved & its ARTAB constant for as long as no output or list operations are done on it, and one can safely use absolute addresses for reading. [3] Bumping during a UUO will never invalidate arguments given that UUO. It will, however, screw any absolute address references other than those in the area's ARTAB. UBMPSP is reserved for UUO use. Thus the main problem, as evidenced by current bug, is ensuring that arguments are valid at time of UO execution. This can be a pain when collecting information to be stored in one or two fell swoops and, second to keeping track of which AC holds which list pinter to what LSE, is the hairiest type of code. Perhaps a new type should be invented - "relative to specified area" or something. (P.S. I won't be surprised if there were a couple more examples of thsbug (it IS hairy) but tend to doubt it - I always tried to remember the above philosophy.)