# HG changeset patch # User Pierre-Yves David # Date 2023-02-02 16:23:55 # Node ID dbd57239acb81878f19600d7aa6be144a2e1ae0e # Parent b0c938f4141ade2a715159e108a9cda9cdeef34f 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. diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -708,7 +708,7 @@ class cmdalias: } if name not in adefaults: raise AttributeError(name) - if self.badalias or util.safehasattr(self, b'shell'): + if self.badalias or util.safehasattr(self, 'shell'): return adefaults[name] return getattr(self.fn, name)