errors: make ParseError a subtype of Abort
I didn't plan this before, but the previous two changes made it really
easy to make `ParseError` a subtype of `Abort`. It seems obvious with
hindsight that I *should* have planned it :)
Differential Revision: https://phab.mercurial-scm.org/D9350
--- a/mercurial/chgserver.py Fri Nov 20 13:24:45 2020 -0800
+++ b/mercurial/chgserver.py Thu Nov 19 15:13:39 2020 -0800
@@ -506,11 +506,6 @@
args = self._readlist()
try:
self.ui, lui = _loadnewui(self.ui, args, self.cdebug)
- except error.ParseError as inst:
- self.ui.warn(inst.format())
- self.ui.flush()
- self.cresult.write(b'exit 255')
- return
except error.Abort as inst:
self.ui.error(inst.format())
self.ui.flush()
--- a/mercurial/dispatch.py Fri Nov 20 13:24:45 2020 -0800
+++ b/mercurial/dispatch.py Thu Nov 19 15:13:39 2020 -0800
@@ -258,9 +258,6 @@
except error.Abort as inst:
ferr.write(inst.format())
return -1
- except error.ParseError as inst:
- ferr.write(inst.format())
- return -1
msg = _formatargs(req.args)
starttime = util.timer()
@@ -466,9 +463,6 @@
else:
ui.warn(_(b"hg: %s\n") % inst.message)
ui.warn(_(b"(use 'hg help -v' for a list of global options)\n"))
- except error.ParseError as inst:
- ui.warn(inst.format())
- return -1
except error.UnknownCommand as inst:
nocmdmsg = _(b"hg: unknown command '%s'\n") % inst.command
try:
--- a/mercurial/error.py Fri Nov 20 13:24:45 2020 -0800
+++ b/mercurial/error.py Thu Nov 19 15:13:39 2020 -0800
@@ -259,13 +259,12 @@
__bytes__ = _tobytes
-class ParseError(Hint, Exception):
+class ParseError(Abort):
"""Raised when parsing config files and {rev,file}sets (msg[, pos])"""
def __init__(self, message, location=None, hint=None):
- self.message = message
+ super(ParseError, self).__init__(message, hint=hint)
self.location = location
- self.hint = hint
# Pass the message and possibly location into the Exception constructor
# to help code that looks for exc.args.
if location is not None: