# HG changeset patch # User Yuya Nishihara # Date 1490789635 -32400 # Node ID 7d2cbe11ae48ac727d3443271e1ada77043b187a # Parent 5646d7bcd8234f68cb1247453e73a519e9a66bdb pycompat: introduce identity function as a compat stub I was sometimes too lazy to use 'str' instead of 'lambda a: a'. Let's add a named function for that purpose. diff -r 5646d7bcd823 -r 7d2cbe11ae48 mercurial/encoding.py --- a/mercurial/encoding.py Sun Apr 02 02:29:51 2017 -0400 +++ b/mercurial/encoding.py Wed Mar 29 21:13:55 2017 +0900 @@ -211,8 +211,8 @@ strtolocal = unitolocal strfromlocal = unifromlocal else: - strtolocal = str - strfromlocal = str + strtolocal = pycompat.identity + strfromlocal = pycompat.identity if not _nativeenviron: # now encoding and helper functions are available, recreate the environ diff -r 5646d7bcd823 -r 7d2cbe11ae48 mercurial/pycompat.py --- a/mercurial/pycompat.py Sun Apr 02 02:29:51 2017 -0400 +++ b/mercurial/pycompat.py Wed Mar 29 21:13:55 2017 +0900 @@ -30,6 +30,9 @@ import socketserver import xmlrpc.client as xmlrpclib +def identity(a): + return a + if ispy3: import builtins import functools @@ -206,9 +209,7 @@ bytechr = chr bytestr = str iterbytestr = iter - - def sysstr(s): - return s + sysstr = identity # Partial backport from os.py in Python 3, which only accepts bytes. # In Python 2, our paths should only ever be bytes, a unicode path @@ -222,17 +223,13 @@ # In Python 2, fsdecode() has a very chance to receive bytes. So it's # better not to touch Python 2 part as it's already working fine. - def fsdecode(filename): - return filename + fsdecode = identity def getoptb(args, shortlist, namelist): return getopt.getopt(args, shortlist, namelist) - def strkwargs(dic): - return dic - - def byteskwargs(dic): - return dic + strkwargs = identity + byteskwargs = identity osname = os.name ospathsep = os.pathsep