]> git.wh0rd.org Git - nano.git/commitdiff
turn off extended input processing (the IEXTEN termios flag) as nano
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Wed, 22 Sep 2004 22:45:08 +0000 (22:45 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Wed, 22 Sep 2004 22:45:08 +0000 (22:45 +0000)
1.2.x does

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1939 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/nano.c
src/proto.h

index 1234eb3f4d39a67ba4983b6f0bfb89e29ea6cb19..977886985641ae32642cb59593b960d0472229cd 100644 (file)
--- 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
index 6941da63ef1e709dd384f9a7328c0c263c73e481..6b20c227c75390feb5b5bff120c2b73a242eae46 100644 (file)
@@ -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();
index d41fa5f9a74a571aee7fc1fcce5cf2ae34e3fdea..0a0068304f35b10b55370c2debcb4c2431afbada 100644 (file)
@@ -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);