diff --git a/src/browser.c b/src/browser.c index 6d28e18a..7b2a3676 100644 --- a/src/browser.c +++ b/src/browser.c @@ -160,6 +160,7 @@ char *do_browser(char *path, DIR *dir) /* Redraw the screen. */ case NANO_REFRESH_KEY: total_redraw(); + kbinput = ERR; break; case NANO_HELP_KEY: #ifndef DISABLE_HELP @@ -351,11 +352,9 @@ char *do_browser(char *path, DIR *dir) goto change_browser_directory; } - /* Display the file list if we don't have a key, we do have a - * key and the selected file has changed, or if we haven't - * updated the screen already. */ - if ((kbinput == ERR || old_selected == selected) && kbinput != - NANO_REFRESH_KEY) + /* Display the file list if we don't have a key, or if we do + * have a key and the selected file has changed. */ + if (kbinput == ERR || old_selected == selected) browser_refresh(); kbinput = get_kbinput(edit, &meta_key, &func_key); diff --git a/src/help.c b/src/help.c index dc1a74af..799e131b 100644 --- a/src/help.c +++ b/src/help.c @@ -107,6 +107,7 @@ void do_help(void (*refresh_func)(void)) #endif case NANO_REFRESH_KEY: total_redraw(); + kbinput = ERR; break; case NANO_PREVPAGE_KEY: if (line > editwinrows - 2) @@ -138,11 +139,9 @@ void do_help(void (*refresh_func)(void)) break; } - /* Display the help text if we don't have a key, we do have a - * key and the help text has moved, or if we haven't updated the - * screen already. */ - if ((kbinput == ERR || line != old_line) && kbinput != - NANO_REFRESH_KEY) { + /* Display the help text if we don't have a key, or if we do + * have a key and the help text has moved. */ + if (kbinput == ERR || line != old_line) { blank_edit(); /* Calculate where in the text we should be, based on the