# HG changeset patch
# User Henrik Stuart <[email protected]>
# 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop