For macros, you could simplify the core's invokeMacro() function to
leave out the error checks and try{...}catch(e){...} handling, like
this:
---------------------------
function invokeMacro(place,macro,params,wikifier,tiddler) {
var m = config.macros[macro];
var tiddlerElem=story.findContainingTiddler(place);
window.tiddler=tiddlerElem?store.getTiddler(tiddlerElem.getAttribute
("tiddler")):null;
window.place = place;
m.handler(place,macro,params.readMacroParams
(),wikifier,params,tiddler);
}
---------------------------
If m is null, or m.handler is undefined, or the m.handler throws an
error when invoked, then that error will no longer be caught and
should propagate all the way out the the debugger.
enjoy,
-e