1
1

tweaks: prepare for improvements to do_home() and do_end()

These improvements will eventually make do_home() and do_end() take
parameters.  Since the global function lists can hold only functions
without parameters, preemptively add do_home_void() and do_end_void(),
and make the global function lists use them.
Этот коммит содержится в:
David Lawrence Ramsey 2017-01-22 14:09:15 -06:00 коммит произвёл Benno Schulenberg
родитель 52087408ef
Коммит d8189703b1
5 изменённых файлов: 23 добавлений и 11 удалений

Просмотреть файл

@ -831,9 +831,9 @@ void shortcut_init(void)
add_to_funcs(do_next_word_void, MMAIN,
N_("Next Word"), IFSCHELP(nano_nextword_msg), TOGETHER, VIEW);
add_to_funcs(do_home, MMAIN,
add_to_funcs(do_home_void, MMAIN,
N_("Home"), IFSCHELP(nano_home_msg), TOGETHER, VIEW);
add_to_funcs(do_end, MMAIN,
add_to_funcs(do_end_void, MMAIN,
N_("End"), IFSCHELP(nano_end_msg), TOGETHER, VIEW);
add_to_funcs(do_up_void, MMAIN|MBROWSER,
@ -1114,10 +1114,10 @@ void shortcut_init(void)
}
add_to_sclist(MMOST, "M-Space", 0, do_prev_word_void, 0);
add_to_sclist(MMOST, "^Space", 0, do_next_word_void, 0);
add_to_sclist((MMOST & ~MBROWSER), "^A", 0, do_home, 0);
add_to_sclist((MMOST & ~MBROWSER), "Home", KEY_HOME, do_home, 0);
add_to_sclist((MMOST & ~MBROWSER), "^E", 0, do_end, 0);
add_to_sclist((MMOST & ~MBROWSER), "End", KEY_END, do_end, 0);
add_to_sclist((MMOST & ~MBROWSER), "^A", 0, do_home_void, 0);
add_to_sclist((MMOST & ~MBROWSER), "Home", KEY_HOME, do_home_void, 0);
add_to_sclist((MMOST & ~MBROWSER), "^E", 0, do_end_void, 0);
add_to_sclist((MMOST & ~MBROWSER), "End", KEY_END, do_end_void, 0);
add_to_sclist(MMAIN|MHELP|MBROWSER, "^P", 0, do_up_void, 0);
add_to_sclist(MMAIN|MHELP|MBROWSER, "Up", KEY_UP, do_up_void, 0);
add_to_sclist(MMAIN|MHELP|MBROWSER, "^N", 0, do_down_void, 0);
@ -1489,9 +1489,9 @@ sc *strtosc(const char *input)
!strcasecmp(input, "nextline"))
s->scfunc = do_down_void;
else if (!strcasecmp(input, "home"))
s->scfunc = do_home;
s->scfunc = do_home_void;
else if (!strcasecmp(input, "end"))
s->scfunc = do_end;
s->scfunc = do_end_void;
else if (!strcasecmp(input, "pageup") ||
!strcasecmp(input, "prevpage"))
s->scfunc = do_page_up;

Просмотреть файл

@ -373,6 +373,11 @@ void do_home(void)
update_line(openfile->current, openfile->current_x);
}
void do_home_void(void)
{
do_home();
}
/* Move to the end of the current line. */
void do_end(void)
{
@ -387,6 +392,11 @@ void do_end(void)
ensure_line_is_visible();
}
void do_end_void(void)
{
do_end();
}
/* If scroll_only is FALSE, move up one line. If scroll_only is TRUE,
* scroll up one line without scrolling the cursor. */
void do_up(bool scroll_only)

Просмотреть файл

@ -125,9 +125,9 @@ int do_statusbar_input(bool *ran_func, bool *finished)
else if (s->scfunc == do_next_word_void)
do_statusbar_next_word();
#endif
else if (s->scfunc == do_home)
else if (s->scfunc == do_home_void)
do_statusbar_home();
else if (s->scfunc == do_end)
else if (s->scfunc == do_end_void)
do_statusbar_end();
/* When in restricted mode at the "Write File" prompt and the
* filename isn't blank, disallow any input and deletion. */

Просмотреть файл

@ -386,7 +386,9 @@ bool do_next_word(bool allow_punct, bool allow_update);
void do_next_word_void(void);
void ensure_line_is_visible(void);
void do_home(void);
void do_home_void(void);
void do_end(void);
void do_end_void(void);
void do_up(bool scroll_only);
void do_up_void(void);
void do_down(bool scroll_only);

Просмотреть файл

@ -350,7 +350,7 @@ void parse_syntax(char *ptr)
bool is_universal(void (*func))
{
if (func == do_left || func == do_right ||
func == do_home || func == do_end ||
func == do_home_void || func == do_end_void ||
func == do_prev_word_void || func == do_next_word_void ||
func == do_verbatim_input || func == do_cut_text_void ||
func == do_delete || func == do_backspace ||