[PATCH] crecord: fix issue when backgrounding editor would leave artefact
lcharignon at fb.com
Thu Jul 16 14:59:29 CDT 2015
This one should have the right whitespaces.
Let me know if you have an issue and I will resend it.
> On Jul 16, 2015, at 11:53 AM, lc2817 at columbia.edu wrote:
> # HG changeset patch
> # User Laurent Charignon <l.charignon at gmail.com>
> # Date 1437017963 25200
> # Wed Jul 15 20:39:23 2015 -0700
> # Node ID aacc79aaf710f69c3e060920bcf3255d88640a87
> # Parent 35fa7c77c754aa4d156c42abfdb61ca178468872
> crecord: fix issue when backgrounding editor would leave artefact
> Before this patch:
> - if a user was entering a commit message after having ran the curses
> - and then uses ctrl-z, followed by fg to put the editor in the
> - then the curses interface would leave artefact on the screen of
> the editor, making entering the commit message a difficult task
> This happened because ncurses registers a signal handler for SIGTSTP and
> does not restore the original signal handler after running.
> More info at:
> This patch restores the original value of the signal handler after
> running the curses interface and therefore fixes this issue.
> It don't know how to add a test for this issue, I tested the scenario
> above manually and it works correctly with the patch.
> diff -r 35fa7c77c754 -r aacc79aaf710 mercurial/crecord.py
> --- a/mercurial/crecord.py Sun Jul 12 17:59:25 2015 +0900
> +++ b/mercurial/crecord.py Wed Jul 15 20:39:23 2015 -0700
> @@ -482,7 +482,10 @@
> ui.write(_('starting interactive selection\n'))
> chunkselector = curseschunkselector(headerlist, ui)
> + f = signal.getsignal(signal.SIGTSTP)
> + # ncurses does not restore signal handler for SIGTSTP
> + signal.signal(signal.SIGTSTP, f)
> def testdecorator(testfn, f):
> def u(*args, **kwargs):
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
More information about the Mercurial-devel