--- a/src/eric7/UI/UserInterface.py Tue Jul 02 11:13:21 2024 +0200 +++ b/src/eric7/UI/UserInterface.py Tue Jul 02 14:39:13 2024 +0200 @@ -179,6 +179,27 @@ self.buffer += str(s) self.__nWrite(self.__bufferedWrite()) + def isatty(self): + """ + Public method to indicate a tty. + + Note: This always reports 'False'. + + @return flag indicating a tty + @rtype bool + """ + return False + + @property + def encoding(self): + """ + Public method to report the used encoding. + + @return used encoding + @rtype str + """ + return Preferences.getSystem("IOEncoding") + class UserInterfaceSide(enum.Enum): """ @@ -316,6 +337,17 @@ splash.showMessage(self.tr("Initializing Basic Services...")) logging.getLogger(__name__).debug("Initializing Basic Services...") + # Generate the redirection helpers + self.stdout = Redirector(False, self) + self.stdout.appendStdout.connect(self.appendToStdout) + self.stderr = Redirector(True, self) + self.stderr.appendStderr.connect(self.appendToStderr) + # Redirect sys.stdout and/or sys.stderr if those are None + if sys.stdout is None: + sys.stdout = self.stdout + if sys.stderr is None: + sys.stderr = self.stderr + # create the remote server interface logging.getLogger(__name__).debug("Creating 'eric-ide' Server Interface...") self.__ericServerInterface = EricServerInterface(self) @@ -407,10 +439,6 @@ self.debugViewer.setDebugger(self.debuggerUI) self.shell.setDebuggerUI(self.debuggerUI) - # Generate the redirection helpers - self.stdout = Redirector(False, self) - self.stderr = Redirector(True, self) - # set a few dialog members for non-modal dialogs created on demand self.programsDialog = None self.shortcutsDialog = None @@ -512,9 +540,6 @@ self.__debugServer.clientProcessStderr.connect(self.appendToStderr) self.__debugServer.appendStdout.connect(self.appendToStdout) - self.stdout.appendStdout.connect(self.appendToStdout) - self.stderr.appendStderr.connect(self.appendToStderr) - self.preferencesChanged.connect(self.viewmanager.preferencesChanged) self.reloadAPIs.connect(self.viewmanager.getAPIsManager().reloadAPIs) self.preferencesChanged.connect(self.logViewer.preferencesChanged) @@ -714,11 +739,6 @@ self.shutdownCalled = False self.inCloseEvent = False - # now redirect stdout and stderr - # TODO: release - reenable redirection - ##sys.stdout = self.stdout # __IGNORE_WARNING_M891__ - ##sys.stderr = self.stderr # __IGNORE_WARNING_M891__ - # now fire up the single application server if Preferences.getUI("SingleApplicationMode"): splash.showMessage(self.tr("Initializing Single Application Server..."))