mercurial/crecord.py
changeset 45019 4a503c1b664a
parent 45017 a65c60f3280e
parent 45011 1bab6b61b62b
child 45153 8b6a446508c2
--- a/mercurial/crecord.py	Sun Jun 28 17:52:29 2020 +0200
+++ b/mercurial/crecord.py	Mon Jun 29 20:53:32 2020 +0900
@@ -10,7 +10,6 @@
 
 from __future__ import absolute_import
 
-import locale
 import os
 import re
 import signal
@@ -566,14 +565,12 @@
     """
     ui.write(_(b'starting interactive selection\n'))
     chunkselector = curseschunkselector(headerlist, ui, operation)
-    # This is required for ncurses to display non-ASCII characters in
-    # default user locale encoding correctly.  --immerrr
-    locale.setlocale(locale.LC_ALL, '')
     origsigtstp = sentinel = object()
     if util.safehasattr(signal, b'SIGTSTP'):
         origsigtstp = signal.getsignal(signal.SIGTSTP)
     try:
-        curses.wrapper(chunkselector.main)
+        with util.with_lc_ctype():
+            curses.wrapper(chunkselector.main)
         if chunkselector.initexc is not None:
             raise chunkselector.initexc
         # ncurses does not restore signal handler for SIGTSTP