diff -r 553ad16b274f -r c6df6a23dfe5 mercurial/pycompat.py --- a/mercurial/pycompat.py Sun Mar 19 01:03:53 2017 -0400 +++ b/mercurial/pycompat.py Tue Mar 21 22:20:11 2017 -0700 @@ -268,6 +268,10 @@ (item.replace(sysstr('_'), sysstr('')).lower(), (origin, item)) for item in items) + def _registeralias(self, origin, attr, name): + """Alias ``origin``.``attr`` as ``name``""" + self._aliases[sysstr(name)] = (origin, sysstr(attr)) + def __getattr__(self, name): try: origin, item = self._aliases[name] @@ -337,8 +341,8 @@ "splitpasswd", "splitport", "splituser", - "unquote", )) + urlreq._registeralias(urllib.parse, "unquote_to_bytes", "unquote") import urllib.request urlreq._registeraliases(urllib.request, ( "AbstractHTTPHandler",