[PATCH 1 of 7] encoding: use absolute_import

Gregory Szorc gregory.szorc at gmail.com
Sun Dec 13 07:34:11 UTC 2015


# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1449979068 18000
#      Sat Dec 12 22:57:48 2015 -0500
# Node ID 1ff97720b3f5c35f3ec9192947f809459962db9f
# Parent  d533df9b5b85a1da4d7810368eae4afa62906611
encoding: use absolute_import

diff --git a/mercurial/encoding.py b/mercurial/encoding.py
--- a/mercurial/encoding.py
+++ b/mercurial/encoding.py
@@ -4,10 +4,17 @@
 #
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import error
-import unicodedata, locale, os
+from __future__ import absolute_import
+
+import locale
+import os
+import unicodedata
+
+from . import (
+    error,
+)
 
 # These unicode characters are ignored by HFS+ (Apple Technote 1150,
 # "Unicode Subtleties"), so we need to ignore them in some places for
 # sanity.
@@ -193,9 +200,9 @@ def trim(s, width, ellipsis='', leftside
     If 'leftside' is True, left side of string 's' is trimmed.
     'ellipsis' is always placed at trimmed side.
 
     >>> ellipsis = '+++'
-    >>> from mercurial import encoding
+    >>> from . import encoding
     >>> encoding.encoding = 'utf-8'
     >>> t= '1234567890'
     >>> print trim(t, 12, ellipsis=ellipsis)
     1234567890
@@ -289,9 +296,9 @@ def _asciilower(s):
 
 def asciilower(s):
     # delay importing avoids cyclic dependency around "parsers" in
     # pure Python build (util => i18n => encoding => parsers => util)
-    import parsers
+    from . import parsers
     impl = getattr(parsers, 'asciilower', _asciilower)
     global asciilower
     asciilower = impl
     return impl(s)
@@ -305,9 +312,9 @@ def _asciiupper(s):
 
 def asciiupper(s):
     # delay importing avoids cyclic dependency around "parsers" in
     # pure Python build (util => i18n => encoding => parsers => util)
-    import parsers
+    from . import parsers
     impl = getattr(parsers, 'asciiupper', _asciiupper)
     global asciiupper
     asciiupper = impl
     return impl(s)
diff --git a/tests/test-check-py3-compat.t b/tests/test-check-py3-compat.t
--- a/tests/test-check-py3-compat.t
+++ b/tests/test-check-py3-compat.t
@@ -104,9 +104,8 @@
   mercurial/commandserver.py not using absolute_import
   mercurial/context.py not using absolute_import
   mercurial/dirstate.py not using absolute_import
   mercurial/dispatch.py requires print_function
-  mercurial/encoding.py not using absolute_import
   mercurial/exchange.py not using absolute_import
   mercurial/help.py not using absolute_import
   mercurial/httpclient/__init__.py not using absolute_import
   mercurial/httpclient/_readers.py not using absolute_import


More information about the Mercurial-devel mailing list