baskett@decwrl.UUCP (Forest Baskett) (11/02/83)
Ah, yes, procedure parameters need special attention in the display world. First, the procedure that first passes a procedure parameter can determine (easily) if that procedure parameter does non-local/non-global references. If it does, the passing procedure can make a copy of the current display in its local area and pass a pointer to that copy as part of the procedure parameter. If the procedure doesn't make such references then the pointer can be nil, as nil is the natural end of the copy of the current display. When the procedure parameter is actually invoked, the invoker must swap the current display with the copy up to the nil pointer before actually calling the procedure parameter. It must swap back when the procedure parameter returns. This is more gruesome than static links only in the case that the procedure parameter does non-local/non-global references. Mine usually don't so I'll still claim that, statistically, displays are better than static links, even considering the problem of procedure parameters. Forest Baskett