John Gilmore commented on Tom Marchant's query:
> > Tom Marchant wrote:
> > <begin snippet>
> > I might go so far as to contend that whenever a macro alters registers
1, 14, or 15 it should issue a drop for those registers if there is an
active using. Unfortunately, AFAIK, there is no way to do this.
> > </end snippet>
> Fortunately, in my view, he is quite right that there is no way to do
this.
This technique sometimes works:
PUSH USING Save current USINGs
DROP , Drop all registers
- - - Call the ill-behaved macro
POP USING Restore original USINGs
If the ill-behaved macro requires local addressability, establish a local
base register; it will be DROPped automatically by the POP USING.