diff --git a/ChangeLog b/ChangeLog index 8c812c1502ca8135a3a6b2dac8c042c82b26c34d..96ee66168e11e47d038f542e1963179de0290e4c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -38,6 +38,9 @@ CVS code - do_insertfile() - Wrap one reference to NANO_EXTCMD_KEY in a NANO_SMALL #ifdef. (DLR) + - Save the already-typed answer when switching from "Insert + File" to "Execute Command" mode via Ctrl-X, just in case we + started typing a command before switching. (DLR) add_open_files() - Make the saving of marked status in open_files->file_flags work properly again; a tweak to the ISSET() macro in 1.3.0 @@ -152,6 +155,9 @@ CVS code - efficiency tweaks. (David Benbennick) DLR: Tweak to follow the old behavior of adding non-blank strings entered at the "Replace: " prompt to the search history. (DLR) + do_gotoline() + - Simplify the edit_update() call depending on the value of + save_pos. (David Benbennick) do_bracket() - Add efficiency tweaks. (David Benbennick) DLR: Remove reliance on the hardcoded bracket string length; instead, only diff --git a/src/files.c b/src/files.c index ea9dd368b9eee01ab1b2cb6369f84e93795fe4c5..35610dc3f719351a38e4f3cd606343a9c1581c4f 100644 --- a/src/files.c +++ b/src/files.c @@ -501,7 +501,7 @@ int do_insertfile(int loading_file) #endif /* ENABLE_MULTIBUFFER */ if (i == NANO_EXTCMD_KEY) { - int ts = statusq(TRUE, extcmd_list, "", NULL, + int ts = statusq(TRUE, extcmd_list, answer, NULL, _("Command to execute")); if (ts == -1 || answer == NULL || answer[0] == '\0') { statusbar(_("Cancelled")); diff --git a/src/search.c b/src/search.c index 9ce635c39a45d4f8a40894b9f43a7bb43c251ccf..020eb4db9628b58fa86af029082d577715c550b7 100644 --- a/src/search.c +++ b/src/search.c @@ -829,7 +829,7 @@ int do_gotoline(int line, int save_pos) line = atoi(answer); - /* Bounds check */ + /* Bounds check. */ if (line <= 0) { statusbar(_("Come on, be reasonable")); display_main_list(); @@ -842,12 +842,10 @@ int do_gotoline(int line, int save_pos) current_x = 0; - /* if save_pos is nonzero, don't change the cursor position when - updating the edit window */ - if (save_pos) - edit_update(current, NONE); - else - edit_update(current, CENTER); + /* If save_pos is nonzero, don't change the cursor position when + * updating the edit window. */ + edit_update(current, save_pos ? NONE : CENTER); + placewewant = 0; display_main_list(); return 1;