--- a/Debugger/DebuggerInterfacePython.py Sun Feb 24 20:36:15 2019 +0100 +++ b/Debugger/DebuggerInterfacePython.py Mon Feb 25 19:16:19 2019 +0100 @@ -75,8 +75,10 @@ if Preferences.getDebugger("PathTranslation"): self.translateRemote = \ Preferences.getDebugger("PathTranslationRemote") + self.translateRemoteWindows = "\\" in self.translateRemote self.translateLocal = \ Preferences.getDebugger("PathTranslationLocal") + self.translateLocalWindows = "\\" in self.translateLocal self.translate = self.__remoteTranslation else: self.translate = self.__identityTranslation @@ -104,11 +106,16 @@ (False = local to remote, True = remote to local [default]) @return translated filename (string) """ - # TODO: remote translation must translate os.sep as well if remote2local: - return fn.replace(self.translateRemote, self.translateLocal) + path = fn.replace(self.translateRemote, self.translateLocal) + if self.translateLocalWindows: + path = path.replace("/", "\\") else: - return fn.replace(self.translateLocal, self.translateRemote) + path = fn.replace(self.translateLocal, self.translateRemote) + if not self.translateRemoteWindows: + path = path.replace("\\", "/") + + return path def __startProcess(self, program, arguments, environment=None, workingDir=None): @@ -236,9 +243,11 @@ if Preferences.getDebugger("PathTranslation"): self.translateRemote = \ Preferences.getDebugger("PathTranslationRemote") + self.translateRemoteWindows = "\\" in self.translateRemote self.translateLocal = \ Preferences.getDebugger("PathTranslationLocal") self.translate = self.__remoteTranslation + self.translateLocalWindows = "\\" in self.translateLocal else: self.translate = self.__identityTranslation return process, self.__isNetworked, "" @@ -386,8 +395,10 @@ if project.getDebugProperty("PATHTRANSLATION"): self.translateRemote = \ project.getDebugProperty("REMOTEPATH") + self.translateRemoteWindows = "\\" in self.translateRemote self.translateLocal = \ project.getDebugProperty("LOCALPATH") + self.translateLocalWindows = "\\" in self.translateLocal self.translate = self.__remoteTranslation else: self.translate = self.__identityTranslation