diff --git a/ChangeLog b/ChangeLog index b6f95a47..011adc9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,8 @@ CVS code - added at the bottom of the history (but which was not in the history) would not be preserved after scrolling down to the blank bottom entry and then scrolling back up. (DLR) + - Add handler for Alt-[-H and F as home and end when -K is + used. Basically a workaround until a cleaner way can be found. - configure.ac: - Change the program used to detect a broken regexec() function so that it works properly, using information found at diff --git a/winio.c b/winio.c index fa010d12..491046d8 100644 --- a/winio.c +++ b/winio.c @@ -294,10 +294,12 @@ int nanogetstr(int allowtabs, const char *buf, const char *def, #endif case NANO_HOME_KEY: case KEY_HOME: + do_home: x = 0; break; case NANO_END_KEY: case KEY_END: + do_end: x = xend; break; case KEY_RIGHT: @@ -485,6 +487,12 @@ int nanogetstr(int allowtabs, const char *buf, const char *def, if (x > 0) x--; break; + case 'F': + goto do_end; + break; + case 'H': + goto do_home; + break; case '1': case '7': x = 0;