# HG changeset patch # User Kyle Lippincott # Date 2020-01-16 20:17:03 # Node ID 19533e4c3450a1a32cb84e8461273f9c00156a3c # Parent 2f1d6180737fa0763ffb5f36fe6ae7bc103b1d41 py3: fix curses chunkselector fallback (when diffs are too large) on py3 Previously we showed the message using Exception.message, which is removed in py3. Since crecordmod.fallbackerror inherits from error.Abort, we can just use `b'%s' % exception` to print the message. This does not print the hint, but that's fine - we don't set one. We inherit from error.Abort so that if a codepath doesn't handle fallback specially, it exits to the terminal with a sane message instead of an unknown exception error. Differential Revision: https://phab.mercurial-scm.org/D7912 diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -386,7 +386,7 @@ def filterchunks(ui, originalhunks, usec ui, originalhunks, recordfn, operation ) except crecordmod.fallbackerror as e: - ui.warn(b'%s\n' % e.message) # pytype: disable=attribute-error + ui.warn(b'%s\n' % e) ui.warn(_(b'falling back to text mode\n')) return patch.filterpatch(ui, originalhunks, match, operation)