Index: TECH/Error.inc.rou =================================================================== diff -u -r924 -r948 --- TECH/Error.inc.rou (.../Error.inc.rou) (revision 924) +++ TECH/Error.inc.rou (.../Error.inc.rou) (revision 948) @@ -12,14 +12,14 @@ /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -#define TECHErrorTrapOn Set $ETRAP="Do ##class(TECH.Error.impl.ErrorHandler).TrapHandler()" +#define TECHErrorTrapOn new $ETRAP Set $ETRAP="Do ##class(TECH.Error.impl.ErrorHandler).TrapHandler()" #define TECHErrorTrapOff Set $ETRAP="" -#define LocalErrorTrapOn $$$InitLocalErrorTrap Set $ETRAP="Do %TECHErrorLocalTrap("_$stack_").TrapHandler()" -#define LocalErrorTrapOnLabeled(%Label,%Opts) $$$InitLocalErrorTrap Set $ETRAP="Do %TECHErrorLocalTrap("_$stack_").TrapHandler("%Label","%Opts")" +#define LocalErrorTrapOn new $ETRAP Set $ETRAP="Do %TECHErrorLocalTrap("_$stack_").TrapHandler()" $$$InitLocalErrorTrap +#define LocalErrorTrapOnLabeled(%Label,%Opts) new $ETRAP Set $ETRAP="Do %TECHErrorLocalTrap("_$stack_").TrapHandler("%Label","%Opts")" $$$InitLocalErrorTrap #define LocalErrorTrapOff Kill %TECHErrorLocalTrap($stack) $$$TECHErrorTrapOff -#define InitLocalErrorTrap Set %TECHErrorLocalTrap($stack)=%this +#define InitLocalErrorTrap Set %TECHErrorLocalTrap($stack)=%this,%TECHErrorLocalTrap($stack,1)=$ETRAP #define CheckLocalErrorTraps $$$DollarOrderCheck $$$DollarDataCheck #define DollarOrderCheck Set:($O(%TECHErrorLocalTrap($stack))'="") $ECODE="`PreviousTrapNotCleared"