# HG changeset patch # User Matt Harbison # Date 1670872625 18000 # Node ID a51328ba33ca10b46395c7a711d28f3bd33d0624 # Parent 0449fb7729d777db62894ff10bf06c9fef254090 ui: split the `default` arg out of **kwargs for the internal prompt method This arg was required anyway, based on how it was accessed. Having it separate allows it to be typed though, and this will simplify things for the callers- if a non-None `default` is passed, the return can never be None. That can be expressed with `@overload` when the arg can be typed, but that's not possible when it is rolled up in **kwargs. The default value is simply copied from the public `prompt()` above it. diff -r 0449fb7729d7 -r a51328ba33ca mercurial/ui.py --- a/mercurial/ui.py Sun Dec 11 00:10:56 2022 -0500 +++ b/mercurial/ui.py Mon Dec 12 14:17:05 2022 -0500 @@ -1786,8 +1786,8 @@ """ return self._prompt(msg, default=default) - def _prompt(self, msg, **opts): - default = opts['default'] + def _prompt(self, msg, default=b'y', **opts): + opts = {**opts, 'default': default} if not self.interactive(): self._writemsg(self._fmsgout, msg, b' ', type=b'prompt', **opts) self._writemsg(