From: Chris Allegretta Date: Thu, 10 Jan 2002 12:44:21 +0000 (+0000) Subject: - nano.c:do_suspend() - Call tcsetattr() to restore the old terminal settings, so... X-Git-Tag: v1.1.6~38 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=7b0667fa7a92ad4b2b7d3dfd306644aee33124c3;p=nano.git - nano.c:do_suspend() - Call tcsetattr() to restore the old terminal settings, so tcsh can use ^C after suspend for example (fixes BUG #67) git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@992 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/BUGS b/BUGS index d4a1fabe..517878a5 100644 --- a/BUGS +++ b/BUGS @@ -127,6 +127,8 @@ - When cutting marked text including the bottom of the file, a new "magic line" is not created" (reported by David Lawrence Ramsey, fixed by David Lawrence Ramsey & Chris) (66) [FIXED]. +- ^C does not work after a suspend in tcsh (discovered by + Trevor Cordes) (67) [FIXED]. ** Open BUGS ** diff --git a/ChangeLog b/ChangeLog index 3f7254a4..6008b8c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,9 @@ CVS code - main() - Check that alt value is an alpha char before comparing to val - 32, fixes Alt-R calling doprev instead of replace. + do_suspend() + - Call tcsetattr() to restore the old terminal settings, so + tcsh can use ^C after suspend for example (fixes BUG #67). - global.c: shorcut_init() - Replace hard coded ALT_G and ALT_H values in the replace diff --git a/nano.c b/nano.c index 3468e77c..1dfe6f2e 100644 --- a/nano.c +++ b/nano.c @@ -1938,6 +1938,9 @@ RETSIGTYPE do_suspend(int signal) printf("\n\n\n\n\nUse \"fg\" to return to nano\n"); fflush(stdout); + /* Restore the terminal settings for the disabled keys */ + tcsetattr(0, TCSANOW, &oldterm); + /* We used to re-enable the default SIG_DFL and raise SIGTSTP, but then we could be (and were) interrupted in the middle of the call. So we do it the mutt way instead */