commit 9b4055c4dadbe85faa61b561fa5843575085f6c1
parent 6ca01b1cd8a4dc8ef283f1723a443330a96cfa2f
Author: Chris Allegretta <chrisa@asty.org>
Date: Fri, 29 Mar 2002 16:00:59 +0000
Bah, don't fix what isn't broken
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1158 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -22,8 +22,6 @@ CVS code -
- Change input var to one char instead of array (David Benbennick).
- Move NO_CONVERT check up so chars get read in properly (DLR).
- nano.c:
- - Move the termios things in main() up to signal_init(), where
- they should probably be anyway.
do_justify()
- More fixes for indented justify (David Benbennick).
do_int_speller()
diff --git a/nano.c b/nano.c
@@ -2038,12 +2038,7 @@ void signal_init(void)
#ifdef _POSIX_VDISABLE
- tcgetattr(0, &oldterm);
-
- term = oldterm;
- term.c_cc[VINTR] = _POSIX_VDISABLE;
- term.c_cc[VQUIT] = _POSIX_VDISABLE;
- term.c_lflag &= ~IEXTEN;
+ tcgetattr(0, &term);
#ifdef VDSUSP
term.c_cc[VDSUSP] = _POSIX_VDISABLE;
@@ -2738,6 +2733,10 @@ int main(int argc, char *argv[])
toggle *t;
#endif
+#ifdef _POSIX_VDISABLE
+ struct termios term;
+#endif
+
#ifdef HAVE_GETOPT_LONG
int option_index = 0;
struct option long_options[] = {
@@ -2976,7 +2975,17 @@ int main(int argc, char *argv[])
filename = mallocstrcpy(filename, argv[optind]);
}
- signal_init();
+
+ /* First back up the old settings so they can be restored, duh */
+ tcgetattr(0, &oldterm);
+
+#ifdef _POSIX_VDISABLE
+ term = oldterm;
+ term.c_cc[VINTR] = _POSIX_VDISABLE;
+ term.c_cc[VQUIT] = _POSIX_VDISABLE;
+ term.c_lflag &= ~IEXTEN;
+ tcsetattr(0, TCSANOW, &term);
+#endif
/* now ncurses init stuff... */
initscr();
@@ -2992,6 +3001,7 @@ int main(int argc, char *argv[])
init_help_msg();
help_init();
#endif
+ signal_init();
#ifdef DEBUG
fprintf(stderr, _("Main: set up windows\n"));