From 013344c4c53285818dd73f55165bd087a11ad284 Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Wed, 22 Sep 2004 22:45:08 +0000 Subject: [PATCH] turn off extended input processing (the IEXTEN termios flag) as nano 1.2.x does git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1939 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 3 +++ src/nano.c | 18 ++++++++++++++---- src/proto.h | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1234eb3f..97788698 100644 --- a/ChangeLog +++ b/ChangeLog @@ -44,6 +44,9 @@ CVS code - (Meta-9), Meta-) (Meta-0), and Meta-J, respectively. Also add these functions to the main shortcut list, as Pico's practice of putting them in the search menu is rather odd. (DLR) + - Turn off extended input processing (the IEXTEN termios flag) + as nano 1.2.x does. New function disable_extended_input(); + changes to terminal_init(). (DLR) - files.c: do_insertfile() - Readd the NANO_SMALL #ifdef around the start_again: label to diff --git a/src/nano.c b/src/nano.c index 6941da63..6b20c227 100644 --- a/src/nano.c +++ b/src/nano.c @@ -2917,6 +2917,15 @@ void do_toggle(const toggle *which) } #endif /* !NANO_SMALL */ +void disable_extended_input(void) +{ + struct termios term; + + tcgetattr(0, &term); + term.c_lflag &= ~IEXTEN; + tcsetattr(0, TCSANOW, &term); +} + void disable_signals(void) { struct termios term; @@ -2959,15 +2968,16 @@ void enable_flow_control(void) * character at a time and interpret the special control keys), disable * translation of carriage return (^M) into newline (^J) so that we can * tell the difference between the Enter key and Ctrl-J, and disable - * echoing of characters as they're typed. Finally, disable - * interpretation of the special control keys, and if we're not in - * preserve mode, disable interpretation of the flow control characters - * too. */ + * echoing of characters as they're typed. Finally, disable extended + * input processing, disable interpretation of the special control keys, + * and if we're not in preserve mode, disable interpretation of the flow + * control characters too. */ void terminal_init(void) { cbreak(); nonl(); noecho(); + disable_extended_input(); disable_signals(); if (!ISSET(PRESERVE)) disable_flow_control(); diff --git a/src/proto.h b/src/proto.h index d41fa5f9..0a006830 100644 --- a/src/proto.h +++ b/src/proto.h @@ -363,6 +363,7 @@ void allow_pending_sigwinch(bool allow); #ifndef NANO_SMALL void do_toggle(const toggle *which); #endif +void disable_extended_input(void); void disable_signals(void); #ifndef NANO_SMALL void enable_signals(void); -- 2.39.5