diff --git a/ChangeLog b/ChangeLog index c2c788b4e43147d5bddef94981dadc25d68c48d8..4c4c199822e5ff4f02c711f97c6b4d8264e21e16 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,17 @@ CVS code - +- General: + - Miscellaneous comment fixes. (DLR) +- nano.c: + allow_pending_sigwinch() + - Simplify by using the "?" operator instead of an if clause. + (DLR) + do_verbatim_input() + - If constant cursor position display is on when we finish, make + sure the cursor position is displayed properly. (DLR) + main() + - When constant cursor position display is on, only display the + cursor position if there are no keys waiting in the buffer. + (DLR) GNU nano 1.3.8 - 2005.06.30 - General: diff --git a/src/files.c b/src/files.c index 3ca03e55a1c361fa9da56c0248c844ee68a60244..c4bd32656c9cf44ca2db27321d1c044a41f69d8c 100644 --- a/src/files.c +++ b/src/files.c @@ -2339,6 +2339,7 @@ char *input_tab(char *buf, size_t *place, bool *lastwastab, bool *list) if ((match + 1) % columns == 0) editline++; } + wrefresh(edit); *list = TRUE; } @@ -2899,6 +2900,7 @@ char *histfilename(void) return nanohist; } +/* Load histories from ~/.nano_history. */ void load_history(void) { char *nanohist = histfilename(); diff --git a/src/nano.c b/src/nano.c index c6a8eb60eefddf1d0f0e2c9df5a634fa9d689499..5da58473cf3db7962a119a048921aaee09bbb182 100644 --- a/src/nano.c +++ b/src/nano.c @@ -1299,6 +1299,11 @@ void do_verbatim_input(void) do_output(output, kbinput_len, TRUE); free(output); + + /* If constant cursor position display is on, make sure the current + * cursor position is properly displayed on the statusbar. */ + if (ISSET(CONST_UPDATE)) + do_cursorpos(TRUE); } void do_backspace(void) @@ -3683,10 +3688,7 @@ void allow_pending_sigwinch(bool allow) sigset_t winch; sigemptyset(&winch); sigaddset(&winch, SIGWINCH); - if (allow) - sigprocmask(SIG_UNBLOCK, &winch, NULL); - else - sigprocmask(SIG_BLOCK, &winch, NULL); + sigprocmask(allow ? SIG_UNBLOCK : SIG_BLOCK, &winch, NULL); } #endif /* !NANO_SMALL */ @@ -3911,7 +3913,7 @@ int do_input(bool *meta_key, bool *func_key, bool *s_or_t, bool if (have_shortcut) { switch (input) { - /* Handle the "universal" statusbar prompt shortcuts. */ + /* Handle the "universal" edit window shortcuts. */ case NANO_XON_KEY: statusbar(_("XON ignored, mumble mumble.")); break; @@ -4682,9 +4684,10 @@ int main(int argc, char **argv) /* Make sure the cursor is in the edit window. */ reset_cursor(); - /* If constant cursor position display is on, display the - * current cursor position on the statusbar. */ - if (ISSET(CONST_UPDATE)) + /* If constant cursor position display is on, and there are no + * keys waiting in the buffer, display the current cursor + * position on the statusbar. */ + if (ISSET(CONST_UPDATE) && get_buffer_len() == 0) do_cursorpos(TRUE); currshortcut = main_list;