equal
deleted
inserted
replaced
52 from mercurial.i18n import _ |
52 from mercurial.i18n import _ |
53 from mercurial import ( |
53 from mercurial import ( |
54 encoding, |
54 encoding, |
55 error, |
55 error, |
56 pycompat, |
56 pycompat, |
|
57 registrar, |
57 ) |
58 ) |
58 |
59 |
59 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for |
60 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for |
60 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should |
61 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should |
61 # be specifying the version(s) of Mercurial they are tested with, or |
62 # be specifying the version(s) of Mercurial they are tested with, or |
62 # leave the attribute unspecified. |
63 # leave the attribute unspecified. |
63 testedwith = 'ships-with-hg-core' |
64 testedwith = 'ships-with-hg-core' |
|
65 |
|
66 configtable = {} |
|
67 configitem = registrar.configitem(configtable) |
|
68 |
|
69 # Encoding.encoding may be updated by --encoding option. |
|
70 # Use a lambda do delay the resolution. |
|
71 configitem('win32mbcs', 'encoding', |
|
72 default=lambda: encoding.encoding, |
|
73 ) |
64 |
74 |
65 _encoding = None # see extsetup |
75 _encoding = None # see extsetup |
66 |
76 |
67 def decode(arg): |
77 def decode(arg): |
68 if isinstance(arg, str): |
78 if isinstance(arg, str): |
173 (pycompat.sysplatform != 'cygwin')): |
183 (pycompat.sysplatform != 'cygwin')): |
174 ui.warn(_("[win32mbcs] cannot activate on this platform.\n")) |
184 ui.warn(_("[win32mbcs] cannot activate on this platform.\n")) |
175 return |
185 return |
176 # determine encoding for filename |
186 # determine encoding for filename |
177 global _encoding |
187 global _encoding |
178 _encoding = ui.config('win32mbcs', 'encoding', encoding.encoding) |
188 _encoding = ui.config('win32mbcs', 'encoding') |
179 # fake is only for relevant environment. |
189 # fake is only for relevant environment. |
180 if _encoding.lower() in problematic_encodings.split(): |
190 if _encoding.lower() in problematic_encodings.split(): |
181 for f in funcs.split(): |
191 for f in funcs.split(): |
182 wrapname(f, wrapper) |
192 wrapname(f, wrapper) |
183 if pycompat.osname == 'nt': |
193 if pycompat.osname == 'nt': |