Kaynağa Gözat

change encoding of stdout/stdin/stderr to utf8 as opt-in (#8586)

Aleksandr Kuzmenko 5 yıl önce
ebeveyn
işleme
637f7afa69
4 değiştirilmiş dosya ile 6 ekleme ve 6 silme
  1. 3 3
      src-json/define.json
  2. 1 1
      src/generators/genpy.ml
  3. 1 1
      std/cs/Boot.hx
  4. 1 1
      std/java/Init.hx

+ 3 - 3
src-json/define.json

@@ -551,9 +551,9 @@
 		"doc": "Defined if the current target is static."
 	},
 	{
-		"name": "StdEncodingAuto",
-		"define": "std-encoding-auto",
-		"doc": "Use default encoding for stdin, stdout and stderr instead of forcing utf-8",
+		"name": "StdEncodingUtf8",
+		"define": "std-encoding-utf8",
+		"doc": "Force utf8 encoding for stdin, stdout and stderr",
 		"platforms": ["java", "cs", "python"]
 	},
 	{

+ 1 - 1
src/generators/genpy.ml

@@ -2505,7 +2505,7 @@ module Generator = struct
 		if has_feature ctx "closure_Array" || has_feature ctx "closure_String" then
 			spr ctx "from functools import partial as _hx_partial\n";
 		spr ctx "import sys\n";
-		if not (defined com Define.StdEncodingAuto) then begin
+		if defined com Define.StdEncodingUtf8 then begin
 			spr ctx "try:\n";
 			spr ctx "    if sys.stdout.encoding != 'utf-8':\n";
 			spr ctx "        sys.stdout = open(sys.stdout.fileno(), mode='w', encoding='utf8', buffering=1)\n";

+ 1 - 1
std/cs/Boot.hx

@@ -41,7 +41,7 @@ import Reflect;
 @:dox(hide)
 class Boot {
 	@:keep public static function init():Void {
-		#if !std_encoding_auto
+		#if std_encoding_utf8
 			cs.system.Console.InputEncoding = new cs.system.text.UTF8Encoding();
 			cs.system.Console.OutputEncoding = new cs.system.text.UTF8Encoding();
 		#end

+ 1 - 1
std/java/Init.hx

@@ -23,7 +23,7 @@ package java;
 
 @:native("haxe.java.Init") @:keep class Init {
 	public static function init():Void {
-		#if !std_encoding_auto
+		#if std_encoding_utf8
 		try {
 			java.lang.System.setOut(new java.io.PrintStream(java.lang.System.out, true, "utf-8"));
 			java.lang.System.setErr(new java.io.PrintStream(java.lang.System.err, true, "utf-8"));