--- a/src/eric7/MicroPython/MicroPythonWebreplDeviceInterface.py Tue May 16 14:36:05 2023 +0200 +++ b/src/eric7/MicroPython/MicroPythonWebreplDeviceInterface.py Tue May 16 14:36:37 2023 +0200 @@ -223,20 +223,19 @@ .strip() ) if self.__socket.hasTimedOut(): - self.__blockReadyRead = False - return b"", b"Timeout while processing commands." + out, err = b"", b"Timeout while processing commands." + else: + # get rid of any OSD string and send it + if result.startswith(b"\x1b]0;"): + osd, result = result.split(b"\x1b\\", 1) + self.osdInfo.emit(osd[4:].decode("utf-8")) - # get rid of any OSD string and send it - if result.startswith(b"\x1b]0;"): - osd, result = result.split(b"\x1b\\", 1) - self.osdInfo.emit(osd[4:].decode("utf-8")) - - if self.TracebackMarker in result: - errorIndex = result.find(self.TracebackMarker) - out, err = result[:errorIndex], result[errorIndex:].replace(">>> ", "") - else: - out = result - err = b"" + if self.TracebackMarker in result: + errorIndex = result.find(self.TracebackMarker) + out, err = result[:errorIndex], result[errorIndex:].replace(">>> ", "") + else: + out = result + err = b"" self.__blockReadyRead = False return out, err