diff -r 3257703e10c5 -r 9978016560ec eric6/Debugger/CallTraceViewer.py --- a/eric6/Debugger/CallTraceViewer.py Tue Oct 13 19:02:26 2020 +0200 +++ b/eric6/Debugger/CallTraceViewer.py Wed Oct 14 17:50:39 2020 +0200 @@ -166,19 +166,18 @@ fname = Utilities.toNativeSeparators(fname) try: - f = open(fname, "w", encoding="utf-8") - itm = self.callTrace.topLevelItem(0) - while itm is not None: - isCall = itm.data(0, Qt.UserRole) - if isCall: - call = "->" - else: - call = "<-" - f.write("{0} {1} || {2}\n".format( - call, - itm.text(1), itm.text(2))) - itm = self.callTrace.itemBelow(itm) - f.close() + with open(fname, "w", encoding="utf-8") as f: + itm = self.callTrace.topLevelItem(0) + while itm is not None: + isCall = itm.data(0, Qt.UserRole) + if isCall: + call = "->" + else: + call = "<-" + f.write("{0} {1} || {2}\n".format( + call, + itm.text(1), itm.text(2))) + itm = self.callTrace.itemBelow(itm) except IOError as err: E5MessageBox.critical( self,