commit d8189703b1b45abac93893d32db28da59ffe6618
parent 52087408ef2a6ac6981cb8c5e4daaaca9cf78f4a
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sun, 22 Jan 2017 14:09:15 -0600
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.
Diffstat:
5 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/src/global.c b/src/global.c
@@ -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;
diff --git a/src/move.c b/src/move.c
@@ -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)
diff --git a/src/prompt.c b/src/prompt.c
@@ -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. */
diff --git a/src/proto.h b/src/proto.h
@@ -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);
diff --git a/src/rcfile.c b/src/rcfile.c
@@ -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 ||