http://d.puremagic.com/issues/show_bug.cgi?id=1001
--- Comment #19 from Brad Roberts <bra...@puremagic.com> 2010-05-25 00:15:31 PDT --- Sean, any objection to me submitting this minor diff: Index: src/object_.d =================================================================== --- src/object_.d (revision 296) +++ src/object_.d (working copy) @@ -1189,6 +1189,13 @@ traceHandler = h; } +/** + * Return the current trace handler + */ +extern (C) TraceHandler rt_getTraceHandler() +{ + return traceHandler; +} /** * This function will be called when an exception is constructed. The Index: src/core/runtime.d =================================================================== --- src/core/runtime.d (revision 296) +++ src/core/runtime.d (working copy) @@ -23,6 +23,7 @@ extern (C) void rt_setCollectHandler( CollectHandler h ); extern (C) void rt_setTraceHandler( TraceHandler h ); + extern (C) TraceHandler rt_getTraceHandler(); alias void delegate( Throwable ) ExceptionHandler; extern (C) bool rt_init( ExceptionHandler dg = null ); @@ -172,6 +173,13 @@ rt_setTraceHandler( h ); } + /** + * Return the current trace handler + */ + static TraceHandler traceHandler() + { + return rt_getTraceHandler(); + } /** * Overrides the default collect hander with a user-supplied version. This This would enable code like this: auto oldTH = Runtime.traceHandler; Runtime.traceHandler = null; scope(exit) Runtime.traceHandler = oldTH; I ran across this 'need' while working on the dmd test suite that is checking some object throwing results, specifically two asserts like this: Object e = new Exception("hello"); assert(e.toString() == "object.Exception: hello"); assert(format(e) == "object.Exception: hello"); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------