...and exactly what do you mean by "always localize this routine"?
I can't necessarily run this routine from my lap
lol. all my routines are in the support folder...
When you don't localize the error function it takes over for the built in lisp error handler and stays that way until you (setq *error* nil) or another error handler which is not localized steps on this one.
So it is good practice to clean up after yourself environmentally speaking.
Although that error handler should not cause any problems many error routines attempt to reset environmental variables with program variables that have been clobbered & therefor you get the dreaded message "An error occurred inside the error handler"
It's midnight so I hope I was clear. ZZZzzzzz....