diff -r bf6b44da1d8e -r 7e7743a01103 mercurial/crecord.py --- a/mercurial/crecord.py Sun Mar 26 15:05:12 2017 +0200 +++ b/mercurial/crecord.py Sun Mar 26 15:06:09 2017 +0200 @@ -1616,8 +1616,10 @@ origsigwinchhandler = signal.signal(signal.SIGWINCH, self.sigwinchhandler) - return self._main(stdscr) - signal.signal(signal.SIGWINCH, origsigwinchhandler) + try: + return self._main(stdscr) + finally: + signal.signal(signal.SIGWINCH, origsigwinchhandler) def _main(self, stdscr): self.stdscr = stdscr