mirror of git://git.sv.gnu.org/nano.git
make sure that the current position in the history list is properly set
to the bottom if we cancel out of the prompt git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2890 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
parent
24b1563068
commit
0e581b3524
|
@ -75,6 +75,9 @@ CVS code -
|
||||||
contains invalid multibyte characters interpreted as normal
|
contains invalid multibyte characters interpreted as normal
|
||||||
characters. Changes to mbstrncasecmp(), mbstrcasestr(),
|
characters. Changes to mbstrncasecmp(), mbstrcasestr(),
|
||||||
mbrevstrcasestr(), findnextstr(), and do_replace_loop(). (DLR)
|
mbrevstrcasestr(), findnextstr(), and do_replace_loop(). (DLR)
|
||||||
|
- Make sure that the current position in the history list is
|
||||||
|
properly set to the bottom if we cancel out of the prompt.
|
||||||
|
New function history_reset(); changes to nanogetstr(). (DLR)
|
||||||
- files.c:
|
- files.c:
|
||||||
open_file()
|
open_file()
|
||||||
- Assert that filename isn't NULL, and don't do anything special
|
- Assert that filename isn't NULL, and don't do anything special
|
||||||
|
|
|
@ -517,6 +517,7 @@ void do_find_bracket(void);
|
||||||
bool history_has_changed(void);
|
bool history_has_changed(void);
|
||||||
#endif
|
#endif
|
||||||
void history_init(void);
|
void history_init(void);
|
||||||
|
void history_reset(const filestruct *h);
|
||||||
filestruct *find_history(filestruct *h_start, filestruct *h_end, const
|
filestruct *find_history(filestruct *h_start, filestruct *h_end, const
|
||||||
char *s, size_t len);
|
char *s, size_t len);
|
||||||
void update_history(filestruct **h, const char *s);
|
void update_history(filestruct **h, const char *s);
|
||||||
|
|
|
@ -1185,6 +1185,15 @@ void history_init(void)
|
||||||
replacebot = replace_history;
|
replacebot = replace_history;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set the current position in the history list h to the bottom. */
|
||||||
|
void history_reset(const filestruct *h)
|
||||||
|
{
|
||||||
|
if (h == search_history)
|
||||||
|
search_history = searchbot;
|
||||||
|
else if (h == replace_history)
|
||||||
|
replace_history = replacebot;
|
||||||
|
}
|
||||||
|
|
||||||
/* Return the first node containing the first len characters of the
|
/* Return the first node containing the first len characters of the
|
||||||
* string s in the history list, starting at h_start and ending at
|
* string s in the history list, starting at h_start and ending at
|
||||||
* h_end, or NULL if there isn't one. */
|
* h_end, or NULL if there isn't one. */
|
||||||
|
|
|
@ -2642,9 +2642,14 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *curranswer,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NANO_SMALL
|
#ifndef NANO_SMALL
|
||||||
/* Free magichistory if we need to. */
|
/* Set the current position in the history list to the bottom and
|
||||||
|
* free magichistory, if we need to. */
|
||||||
|
if (history_list != NULL) {
|
||||||
|
history_reset(*history_list);
|
||||||
|
|
||||||
if (magichistory != NULL)
|
if (magichistory != NULL)
|
||||||
free(magichistory);
|
free(magichistory);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* We finished putting in an answer or ran a normal shortcut's
|
/* We finished putting in an answer or ran a normal shortcut's
|
||||||
|
|
Loading…
Reference in New Issue