I suspect the change that broke later versions of macro was related to self redefining macros. The code in question used a complicated scheme to build a hashed symbol table.