Mercurial > hg
changeset 45017:a65c60f3280e
curses: back out d2227d4c9e6b (do not initialize LC_ALL to user settings)
The changeset was based on a25343d16ebe, which will be backed out, too.
Another fix for the problem will be resubmitted to the stable branch.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Sun, 28 Jun 2020 17:49:14 +0200 |
parents | 752da6863e39 |
children | f2dc337117b9 |
files | hgext/histedit.py mercurial/crecord.py |
diffstat | 2 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py Thu Jun 25 11:22:34 2020 +0200 +++ b/hgext/histedit.py Sun Jun 28 17:49:14 2020 +0200 @@ -201,6 +201,7 @@ termios = None import functools +import locale import os import struct @@ -1710,6 +1711,10 @@ ctxs = [] for i, r in enumerate(revs): ctxs.append(histeditrule(ui, repo[r], i)) + # Curses requires setting the locale or it will default to the C + # locale. This sets the locale to the user's default system + # locale. + locale.setlocale(locale.LC_ALL, '') rc = curses.wrapper(functools.partial(_chisteditmain, repo, ctxs)) curses.echo() curses.endwin()
--- a/mercurial/crecord.py Thu Jun 25 11:22:34 2020 +0200 +++ b/mercurial/crecord.py Sun Jun 28 17:49:14 2020 +0200 @@ -10,6 +10,7 @@ from __future__ import absolute_import +import locale import os import re import signal @@ -565,6 +566,9 @@ """ 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)