]> git.wh0rd.org Git - nano.git/commitdiff
latest fixes
authorChris Allegretta <chrisa@asty.org>
Wed, 16 Apr 2003 02:08:23 +0000 (02:08 +0000)
committerChris Allegretta <chrisa@asty.org>
Wed, 16 Apr 2003 02:08:23 +0000 (02:08 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1490 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
winio.c

index 15ba55597dfb458c036932eae375a8b18ffcb9bb..23891d9902f653f5fd02b60f651307d9dbc040cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -55,6 +55,11 @@ CVS code -
          setting current and current_x back to their original values,
          in case current_x's original value is greater than the width
          of the screen. (DLR)
+- winio.c:
+  nanogetstr()
+       - Remove a few unnecessary breaks occurring immediately after
+         gotos, and properly interpret the up and down arrow keys when
+         ALT_KEYPAD is set. (DLR)
 - configure.ac:
        - Enable autodetection of broken regexec(). (DLR) Re-added 
          regex.h check to ensure compile under Debian w/autoconf 1.6.
diff --git a/winio.c b/winio.c
index 1731eabf0dba9d3ef5bbb8c6267e301e0c2a2eb5..ff5c6ef72df97733f2b371dee2b2a3abebfdd65a 100644 (file)
--- a/winio.c
+++ b/winio.c
@@ -358,6 +358,7 @@ int nanogetstr(int allowtabs, const char *buf, const char *def,
        case KEY_UP:
        case NANO_UP_KEY:
 #ifndef NANO_SMALL
+  do_upkey:
            if (history_list != NULL) {
 
                /* If there's no previous temp holder, or if we already
@@ -383,6 +384,7 @@ int nanogetstr(int allowtabs, const char *buf, const char *def,
        case KEY_DOWN:
        case NANO_DOWN_KEY:
 #ifndef NANO_SMALL
+  do_downkey:
            if (history_list != NULL) {
                /* get newer search from the history list */
                if ((history = get_history_newer(history_list)) != NULL) {
@@ -421,6 +423,18 @@ int nanogetstr(int allowtabs, const char *buf, const char *def,
                break;
            case '[':
                switch (kbinput = wgetch(edit)) {
+               case 'A':
+#ifndef NANO_SMALL
+                   goto do_upkey;
+#else
+                   break;
+#endif
+               case 'B':
+#ifndef NANO_SMALL
+                   goto do_downkey;
+#else
+                   break;
+#endif
                case 'C':
                    if (x < xend)
                        x++;
@@ -836,7 +850,6 @@ void edit_add(const filestruct *fileptr, int yval, int start
                if (paintlen == COLS)
                    goto skip_step_two;
 
-
   step_two:    /* Second step, we look for starts on this line. */
                start_col = 0;
                while (start_col < start + COLS) {
@@ -1532,19 +1545,15 @@ int do_help(void)
                    case '5':   /* Alt-[-5 = Page Up */
                        wgetch(edit);
                        goto do_pageupkey;
-                       break;
                    case 'V':   /* Alt-[-V = Page Up in Hurd Console */
                    case 'I':   /* Alt-[-I = Page Up - FreeBSD Console */
                        goto do_pageupkey;
-                       break;
                    case '6':   /* Alt-[-6 = Page Down */
                        wgetch(edit);
                        goto do_pagedownkey;
-                       break;
                    case 'U':   /* Alt-[-U = Page Down in Hurd Console */
                    case 'G':   /* Alt-[-G = Page Down - FreeBSD Console */
                        goto do_pagedownkey;
-                       break;
                }
                break;
            }