diff -r 64baff9f7dad -r b3214b7d2390 mercurial/ui.py --- a/mercurial/ui.py Thu Dec 05 13:48:22 2024 +0000 +++ b/mercurial/ui.py Thu Dec 05 20:46:21 2024 +0000 @@ -265,6 +265,8 @@ self.logblockedtimes = False # color mode: see mercurial/color.py for possible value self._colormode = None + # readline prompt: is this currently for a readline prompt? + self._readlineprompt = False self._terminfoparams = {} self._styles = {} self._uninterruptible = False @@ -1745,7 +1747,12 @@ self.flush() prompt = b' ' else: - prompt = self.label(prompt, b'ui.prompt') + b' ' + wasreadlineprompt = self._readlineprompt + try: + self._readlineprompt = True + prompt = self.label(prompt, b'ui.prompt') + b' ' + finally: + self._readlineprompt = wasreadlineprompt # prompt ' ' must exist; otherwise readline may delete entire line # - http://bugs.python.org/issue12833