diff options
| -rw-r--r-- | Lib/trace.py | 1 | ||||
| -rw-r--r-- | Misc/NEWS | 4 | ||||
| -rwxr-xr-x | Tools/scripts/reindent.py | 6 | 
3 files changed, 9 insertions, 2 deletions
diff --git a/Lib/trace.py b/Lib/trace.py index fa24fc1cc3..eb21fde387 100644 --- a/Lib/trace.py +++ b/Lib/trace.py @@ -493,6 +493,7 @@ class Trace:              threading.settrace(self.globaltrace)              sys.settrace(self.globaltrace)          try: +            del sys.modules['pickle']              exec(cmd, globals, locals)          finally:              if not self.donothing: @@ -111,6 +111,10 @@ C-API  Tools/Demos  ----------- +- Issue #10117: Tools/scripts/reindent.py now accepts source files +  that use encoding other than ASCII or UTF-8.  Source encoding is +  preserved when reindented code is written to a file. +  - Issue #7287: Demo/imputil/knee.py was removed.  Tests diff --git a/Tools/scripts/reindent.py b/Tools/scripts/reindent.py index cff9a06822..bb4152076b 100755 --- a/Tools/scripts/reindent.py +++ b/Tools/scripts/reindent.py @@ -109,8 +109,10 @@ def check(file):      if verbose:          print("checking", file, "...", end=' ') +    with  open(file, 'rb') as f: +        encoding, _ = tokenize.detect_encoding(f.readline)      try: -        with open(file) as f: +        with open(file, encoding=encoding) as f:              r = Reindenter(f)      except IOError as msg:          errprint("%s: I/O Error: %s" % (file, str(msg))) @@ -127,7 +129,7 @@ def check(file):                  shutil.copyfile(file, bak)                  if verbose:                      print("backed up", file, "to", bak) -            with open(file, "w") as f: +            with open(file, "w", encoding=encoding) as f:                  r.write(f)              if verbose:                  print("wrote new", file)  | 
