safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:21:36 +0100
changeset 50561 a5bba73a1352
parent 50560 9342271eef31
child 50562 87b004378fc4
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/crecord.py
--- a/mercurial/crecord.py	Thu Feb 02 17:21:22 2023 +0100
+++ b/mercurial/crecord.py	Thu Feb 02 17:21:36 2023 +0100
@@ -573,7 +573,7 @@
     ui.write(_(b'starting interactive selection\n'))
     chunkselector = curseschunkselector(headerlist, ui, operation)
     origsigtstp = sentinel = object()
-    if util.safehasattr(signal, b'SIGTSTP'):
+    if util.safehasattr(signal, 'SIGTSTP'):
         origsigtstp = signal.getsignal(signal.SIGTSTP)
     try:
         with util.with_lc_ctype():