commit 7b0667fa7a92ad4b2b7d3dfd306644aee33124c3
parent 967a1e28f6c365942b85aa9c8581ef90437bba70
Author: Chris Allegretta <chrisa@asty.org>
Date: Thu, 10 Jan 2002 12:44:21 +0000
- 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
Diffstat:
3 files changed, 8 insertions(+), 0 deletions(-)
diff --git 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
@@ -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
@@ -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 */