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 */