# HG changeset patch # User Henrik Stuart <h...@hstuart.dk> # Date 1249371238 -7200 # Node ID cee66577eee9eb3350373e3d5b3214ceea438767 # Parent bbce43e4ab33bf9486ceb0e1ba5e14293548eb82 hgtk: don't suppress exceptions in the dispatcher
diff -r bbce43e4ab33 -r cee66577eee9 hgtk --- a/hgtk Sun Aug 02 22:15:14 2009 -0500 +++ b/hgtk Tue Aug 04 09:33:58 2009 +0200 @@ -31,6 +31,7 @@ demandimport.enable() from mercurial import ui import cStringIO +import traceback try: import hggtk.hgtk @@ -47,18 +48,24 @@ sys.exit(hggtk.hgtk.dispatch(sys.argv[1:])) else: mystderr = cStringIO.StringIO() + origstderr = sys.stderr sys.stderr = mystderr - ret = hggtk.hgtk.dispatch(sys.argv[1:]) - mystderr.seek(0) - for l in mystderr.readlines(): - if l.startswith('Traceback') or l.startswith('TypeError'): - from hggtk.bugreport import run - from hggtk.hgtk import gtkrun - error = 'Recoverable runtime error (stderr):\n'+mystderr.getvalue() - opts = {} - opts['cmd'] = ' '.join(sys.argv[1:]) - opts['error'] = error - opts['nofork'] = True - gtkrun(run, _ui, **opts) - break - sys.exit(ret) + try: + ret = hggtk.hgtk.dispatch(sys.argv[1:]) + mystderr.seek(0) + for l in mystderr.readlines(): + if l.startswith('Traceback') or l.startswith('TypeError'): + from hggtk.bugreport import run + from hggtk.hgtk import gtkrun + error = 'Recoverable runtime error (stderr):\n'+mystderr.getvalue() + opts = {} + opts['cmd'] = ' '.join(sys.argv[1:]) + opts['error'] = error + opts['nofork'] = True + gtkrun(run, _ui, **opts) + break + sys.exit(ret) + except: + if sys.exc_info()[0] not in [SystemExit, KeyboardInterrupt]: + sys.stderr = origstderr + traceback.print_exc() ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop