safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:24:16 +0100
changeset 50573 9a322ccd2fdc
parent 50572 35e420abaef3
child 50574 c04abc7340f1
safehasattr: pass attribute name as string instead of bytes This is a step toward replacing `util.safehasattr` usage with plain `hasattr`. The builtin function behave poorly in Python2 but this was fixed in Python3. These change are done one by one as they tend to have a small odd to trigger puzzling breackage.
mercurial/dispatch.py
--- a/mercurial/dispatch.py	Thu Feb 02 17:24:05 2023 +0100
+++ b/mercurial/dispatch.py	Thu Feb 02 17:24:16 2023 +0100
@@ -1024,7 +1024,7 @@
     cmd = aliases[0]
     fn = entry[0]
 
-    if cmd and util.safehasattr(fn, b'shell'):
+    if cmd and util.safehasattr(fn, 'shell'):
         # shell alias shouldn't receive early options which are consumed by hg
         _earlyopts, args = _earlysplitopts(args)
         d = lambda: fn(ui, *args[1:])