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.
--- 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
--- 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