Просмотр исходного кода

tools: Fix idf.py menuconfig characters in MSYS2

Roland Dobai 6 лет назад
Родитель
Сommit
d24086c529
1 измененных файлов с 12 добавлено и 7 удалено
  1. 12 7
      tools/idf.py

+ 12 - 7
tools/idf.py

@@ -1529,13 +1529,18 @@ if __name__ == "__main__":
         if ("MSYSTEM" in os.environ) and (
             not os.environ.get("_", "").endswith(WINPTY_EXE) and WINPTY_VAR not in os.environ
         ):
-            os.environ[WINPTY_VAR] = "1"  # the value is of no interest to us
-            # idf.py calls itself with "winpty" and WINPTY global variable set
-            ret = subprocess.call(
-                [WINPTY_EXE, sys.executable] + sys.argv, env=os.environ
-            )
-            if ret:
-                raise SystemExit(ret)
+
+            if 'menuconfig' in sys.argv:
+                # don't use winpty for menuconfig because it will print weird characters
+                main()
+            else:
+                os.environ[WINPTY_VAR] = "1"  # the value is of no interest to us
+                # idf.py calls itself with "winpty" and WINPTY global variable set
+                ret = subprocess.call(
+                    [WINPTY_EXE, sys.executable] + sys.argv, env=os.environ
+                )
+                if ret:
+                    raise SystemExit(ret)
 
         elif os.name == "posix" and not _valid_unicode_config():
             # Trying to find best utf-8 locale available on the system and restart python with it