# HG changeset patch # User Pierre-Yves David # Date 1675355045 -3600 # Node ID 35e420abaef3e0d227e28421702db025c6463794 # Parent dbd57239acb81878f19600d7aa6be144a2e1ae0e 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 -r dbd57239acb8 -r 35e420abaef3 mercurial/dispatch.py --- a/mercurial/dispatch.py Thu Feb 02 17:23:55 2023 +0100 +++ b/mercurial/dispatch.py Thu Feb 02 17:24:05 2023 +0100 @@ -734,7 +734,7 @@ self.name, self.definition, ) - if util.safehasattr(self, b'shell'): + if util.safehasattr(self, 'shell'): return self.fn(ui, *args, **opts) else: try: