Sun, 24 Apr 2016 13:00:10 +0200
Merged remote changes.
--- a/APIs/Python3/eric6.api Sun Apr 24 12:58:15 2016 +0200 +++ b/APIs/Python3/eric6.api Sun Apr 24 13:00:10 2016 +0200 @@ -199,7 +199,7 @@ eric6.DebugClients.Python.DebugClientBase.DebugClientBase.handleLine?4(line) eric6.DebugClients.Python.DebugClientBase.DebugClientBase.input?4(prompt) eric6.DebugClients.Python.DebugClientBase.DebugClientBase.main?4() -eric6.DebugClients.Python.DebugClientBase.DebugClientBase.progTerminated?4(status, exit=False) +eric6.DebugClients.Python.DebugClientBase.DebugClientBase.progTerminated?4(status) eric6.DebugClients.Python.DebugClientBase.DebugClientBase.raw_input?4(prompt, echo) eric6.DebugClients.Python.DebugClientBase.DebugClientBase.run_call?4(scriptname, func, *args) eric6.DebugClients.Python.DebugClientBase.DebugClientBase.sessionClose?4(exit=1) @@ -418,7 +418,7 @@ eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.handleLine?4(line) eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.input?4(prompt, echo=True) eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.main?4() -eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.progTerminated?4(status, exit=False) +eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.progTerminated?4(status) eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.run_call?4(scriptname, func, *args) eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.sessionClose?4(exit=True) eric6.DebugClients.Python3.DebugClientBase.DebugClientBase.shouldSkip?4(fn)
--- a/DebugClients/Python/DebugClientBase.py Sun Apr 24 12:58:15 2016 +0200 +++ b/DebugClients/Python/DebugClientBase.py Sun Apr 24 13:00:10 2016 +0200 @@ -584,7 +584,7 @@ res = exc.code atexit._run_exitfuncs() self.writestream.flush() - self.progTerminated(res, exit=True) + self.progTerminated(res) return if cmd == DebugProtocol.RequestCoverage: @@ -626,7 +626,7 @@ self.cover.stop() self.cover.save() self.writestream.flush() - self.progTerminated(res, exit=True) + self.progTerminated(res) return if cmd == DebugProtocol.RequestProfile: @@ -665,7 +665,7 @@ atexit._run_exitfuncs() self.prof.save() self.writestream.flush() - self.progTerminated(res, exit=True) + self.progTerminated(res) return if cmd == DebugProtocol.RequestShutdown: @@ -1047,7 +1047,7 @@ def __interact(self): """ - Private method to Interact with the debugger. + Private method to interact with the debugger. """ global DebugClientInstance @@ -1071,6 +1071,9 @@ while self.eventExit is None: wrdy = [] + if self.writestream.nWriteErrors > self.writestream.maxtries: + break + if AsyncPendingWrite(self.writestream): wrdy.append(self.writestream) @@ -1304,13 +1307,12 @@ """ return self.running - def progTerminated(self, status, exit=False): + def progTerminated(self, status): """ Public method to tell the debugger that the program has terminated. @param status return status - @param exit flag indicating to perform a sys.exit() - @type bool + @type int """ if status is None: status = 0 @@ -1324,9 +1326,6 @@ self.set_quit() self.running = None self.write('%s%d\n' % (DebugProtocol.ResponseExit, status)) - if exit: - self.writestream.close(1) - sys.exit(status) # reset coding self.__coding = self.defaultCoding
--- a/DebugClients/Python3/DebugClientBase.py Sun Apr 24 12:58:15 2016 +0200 +++ b/DebugClients/Python3/DebugClientBase.py Sun Apr 24 13:00:10 2016 +0200 @@ -575,7 +575,7 @@ res = exc.code atexit._run_exitfuncs() self.writestream.flush() - self.progTerminated(res, exit=True) + self.progTerminated(res) return if cmd == DebugProtocol.RequestProfile: @@ -621,7 +621,7 @@ atexit._run_exitfuncs() self.prof.save() self.writestream.flush() - self.progTerminated(res, exit=True) + self.progTerminated(res) return if cmd == DebugProtocol.RequestCoverage: @@ -672,7 +672,7 @@ self.cover.stop() self.cover.save() self.writestream.flush() - self.progTerminated(res, exit=True) + self.progTerminated(res) return if cmd == DebugProtocol.RequestShutdown: @@ -1050,7 +1050,7 @@ def __interact(self): """ - Private method to Interact with the debugger. + Private method to interact with the debugger. """ global DebugClientInstance @@ -1074,6 +1074,9 @@ while self.eventExit is None: wrdy = [] + if self.writestream.nWriteErrors > self.writestream.maxtries: + break + if AsyncPendingWrite(self.writestream): wrdy.append(self.writestream) @@ -1307,13 +1310,12 @@ """ return self.running - def progTerminated(self, status, exit=False): + def progTerminated(self, status): """ Public method to tell the debugger that the program has terminated. @param status return status - @param exit flag indicating to perform a sys.exit() - @type bool + @type int """ if status is None: status = 0 @@ -1327,9 +1329,6 @@ self.set_quit() self.running = None self.write('{0}{1:d}\n'.format(DebugProtocol.ResponseExit, status)) - if exit: - self.writestream.close(True) - sys.exit(status) # reset coding self.__coding = self.defaultCoding
--- a/Debugger/DebugServer.py Sun Apr 24 12:58:15 2016 +0200 +++ b/Debugger/DebugServer.py Sun Apr 24 13:00:10 2016 +0200 @@ -1339,7 +1339,8 @@ if self.passive: self.__passiveShutDown() self.clientExit.emit(int(status)) - if Preferences.getDebugger("AutomaticReset"): + if Preferences.getDebugger("AutomaticReset") or (self.running and + not self.debugging): self.startClient(False) if self.passive: self.__createDebuggerInterface("None")
--- a/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html Sun Apr 24 12:58:15 2016 +0200 +++ b/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html Sun Apr 24 13:00:10 2016 +0200 @@ -139,7 +139,7 @@ <td>Private slot to calculate a path list including the PYTHONPATH environment variable.</td> </tr><tr> <td><a href="#DebugClientBase.__interact">__interact</a></td> -<td>Private method to Interact with the debugger.</td> +<td>Private method to interact with the debugger.</td> </tr><tr> <td><a href="#DebugClientBase.__interceptSignals">__interceptSignals</a></td> <td>Private method to intercept common signals.</td> @@ -410,7 +410,7 @@ <h4>DebugClientBase.__interact</h4> <b>__interact</b>(<i></i>) <p> - Private method to Interact with the debugger. + Private method to interact with the debugger. </p><a NAME="DebugClientBase.__interceptSignals" ID="DebugClientBase.__interceptSignals"></a> <h4>DebugClientBase.__interceptSignals</h4> <b>__interceptSignals</b>(<i></i>) @@ -632,16 +632,13 @@ Public method implementing the main method. </p><a NAME="DebugClientBase.progTerminated" ID="DebugClientBase.progTerminated"></a> <h4>DebugClientBase.progTerminated</h4> -<b>progTerminated</b>(<i>status, exit=False</i>) +<b>progTerminated</b>(<i>status</i>) <p> Public method to tell the debugger that the program has terminated. </p><dl> -<dt><i>status</i></dt> +<dt><i>status</i> (int)</dt> <dd> return status -</dd><dt><i>exit</i> (bool)</dt> -<dd> -flag indicating to perform a sys.exit() </dd> </dl><a NAME="DebugClientBase.raw_input" ID="DebugClientBase.raw_input"></a> <h4>DebugClientBase.raw_input</h4>
--- a/Documentation/Source/eric6.DebugClients.Python3.DebugClientBase.html Sun Apr 24 12:58:15 2016 +0200 +++ b/Documentation/Source/eric6.DebugClients.Python3.DebugClientBase.html Sun Apr 24 13:00:10 2016 +0200 @@ -139,7 +139,7 @@ <td>Private slot to calculate a path list including the PYTHONPATH environment variable.</td> </tr><tr> <td><a href="#DebugClientBase.__interact">__interact</a></td> -<td>Private method to Interact with the debugger.</td> +<td>Private method to interact with the debugger.</td> </tr><tr> <td><a href="#DebugClientBase.__interceptSignals">__interceptSignals</a></td> <td>Private method to intercept common signals.</td> @@ -425,7 +425,7 @@ <h4>DebugClientBase.__interact</h4> <b>__interact</b>(<i></i>) <p> - Private method to Interact with the debugger. + Private method to interact with the debugger. </p><a NAME="DebugClientBase.__interceptSignals" ID="DebugClientBase.__interceptSignals"></a> <h4>DebugClientBase.__interceptSignals</h4> <b>__interceptSignals</b>(<i></i>) @@ -647,16 +647,13 @@ Public method implementing the main method. </p><a NAME="DebugClientBase.progTerminated" ID="DebugClientBase.progTerminated"></a> <h4>DebugClientBase.progTerminated</h4> -<b>progTerminated</b>(<i>status, exit=False</i>) +<b>progTerminated</b>(<i>status</i>) <p> Public method to tell the debugger that the program has terminated. </p><dl> -<dt><i>status</i></dt> +<dt><i>status</i> (int)</dt> <dd> return status -</dd><dt><i>exit</i> (bool)</dt> -<dd> -flag indicating to perform a sys.exit() </dd> </dl><a NAME="DebugClientBase.run_call" ID="DebugClientBase.run_call"></a> <h4>DebugClientBase.run_call</h4>