# HG changeset patch # User Pierre-Yves David # Date 1675354854 -3600 # Node ID 6e749d4abf0513f81ff2add941e154b4df3fc26c # Parent 7b0cc86c5d7451815200057440cc188d8c487f11 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 7b0cc86c5d74 -r 6e749d4abf05 mercurial/commandserver.py --- a/mercurial/commandserver.py Thu Feb 02 17:20:46 2023 +0100 +++ b/mercurial/commandserver.py Thu Feb 02 17:20:54 2023 +0100 @@ -332,7 +332,7 @@ # any kind of interaction must use server channels, but chg may # replace channels by fully functional tty files. so nontty is # enforced only if cin is a channel. - if not util.safehasattr(self.cin, b'fileno'): + if not util.safehasattr(self.cin, 'fileno'): ui.setconfig(b'ui', b'nontty', b'true', b'commandserver') req = dispatch.request(