* src/*: Retire iso_me_harder_funcmap based on suggestion by <bernd.spaeth@gmx.net>

This does add 20KB to nano's executable size but it gets rid of a lot of indirection
          that makes people stomach turn.  There are several new stub functions and need of more
          tidying as a result of this.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4527 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
Chris Allegretta 2011-02-07 14:45:56 +00:00
parent 3d411188f6
commit 637daa85c5
13 changed files with 578 additions and 755 deletions

View File

@ -1,5 +1,9 @@
2011-02-06 Chris Allegretta <chrisa@asty.org>
* files.c (write_file) - Fix problems with writing the backup file (albeit interactively)
* src/*: Retire iso_me_harder_funcmap based on suggestion by <bernd.spaeth@gmx.net>
This does add 20KB to nano's executable size but it gets rid of a lot of indirection
that makes people stomach turn. There are several new stub functions and need of more
tidying as a result of this.
* files.c (write_file): Fix problems with writing the backup file (albeit interactively)
with new function prompt_failed_backupwrite(), allows more secure handling of problems
with failing to write the backup file compared to 'allow_insecure_backup'.
* winio.c (edit_redraw): Removed unused variable

View File

@ -156,7 +156,7 @@ char *do_browser(char *path, DIR *dir)
* time, put back the Enter key so that it's
* read in. */
if (old_selected == selected)
unget_kbinput(sc_seq_or(DO_ENTER, 0), FALSE, FALSE);
unget_kbinput(sc_seq_or(do_enter_void, 0), FALSE, FALSE);
}
}
#endif /* !DISABLE_MOUSE */
@ -169,9 +169,9 @@ char *do_browser(char *path, DIR *dir)
if (!f)
break;
if (f->scfunc == TOTAL_REFRESH) {
if (f->scfunc == total_refresh) {
total_redraw();
} else if (f->scfunc == DO_HELP_VOID) {
} else if (f->scfunc == do_help_void) {
#ifndef DISABLE_HELP
do_browser_help();
curs_set(0);
@ -179,33 +179,33 @@ char *do_browser(char *path, DIR *dir)
nano_disabled_msg();
#endif
/* Search for a filename. */
} else if (f->scfunc == DO_SEARCH) {
} else if (f->scfunc == do_search) {
curs_set(1);
do_filesearch();
curs_set(0);
/* Search for another filename. */
} else if (f->scfunc == DO_RESEARCH) {
} else if (f->scfunc == do_research) {
do_fileresearch();
} else if (f->scfunc == DO_PAGE_UP) {
} else if (f->scfunc == do_page_up) {
if (selected >= (editwinrows + fileline % editwinrows) *
width)
selected -= (editwinrows + fileline % editwinrows) *
width;
else
selected = 0;
} else if (f->scfunc == DO_PAGE_DOWN) {
} else if (f->scfunc == do_page_down) {
selected += (editwinrows - fileline % editwinrows) *
width;
if (selected > filelist_len - 1)
selected = filelist_len - 1;
} else if (f->scfunc == FIRST_FILE_MSG) {
} else if (f->scfunc == do_first_file) {
if (meta_key)
selected = 0;
} else if (f->scfunc == LAST_FILE_MSG) {
} else if (f->scfunc == do_last_file) {
if (meta_key)
selected = filelist_len - 1;
/* Go to a specific directory. */
} else if (f->scfunc == GOTO_DIR_MSG) {
} else if (f->scfunc == goto_dir_void) {
curs_set(1);
i = do_prompt(TRUE,
@ -238,7 +238,7 @@ char *do_browser(char *path, DIR *dir)
* answer in ans, so that the file list is displayed
* again, the prompt is displayed again, and what we
* typed before at the prompt is displayed again. */
unget_kbinput(sc_seq_or(DO_GOTOLINECOLUMN_VOID, 0), FALSE, FALSE);
unget_kbinput(sc_seq_or(do_gotolinecolumn_void, 0), FALSE, FALSE);
ans = mallocstrcpy(ans, answer);
continue;
}
@ -285,19 +285,19 @@ char *do_browser(char *path, DIR *dir)
free(path);
path = new_path;
goto change_browser_directory;
} else if (f->scfunc == DO_UP_VOID) {
} else if (f->scfunc == do_up_void) {
if (selected >= width)
selected -= width;
} else if (f->scfunc == DO_LEFT) {
} else if (f->scfunc == do_left) {
if (selected > 0)
selected--;
} else if (f->scfunc == DO_DOWN_VOID) {
} else if (f->scfunc == do_down_void) {
if (selected + width <= filelist_len - 1)
selected += width;
} else if (f->scfunc == DO_RIGHT) {
} else if (f->scfunc == do_right) {
if (selected < filelist_len - 1)
selected++;
} else if (f->scfunc == DO_ENTER) {
} else if (f->scfunc == do_enter_void) {
/* We can't move up from "/". */
if (strcmp(filelist[selected], "/..") == 0) {
statusbar(_("Can't move up a directory"));
@ -355,7 +355,7 @@ char *do_browser(char *path, DIR *dir)
/* Start over again with the new path value. */
goto change_browser_directory;
/* Abort the file browser. */
} else if (f->scfunc == DO_EXIT) {
} else if (f->scfunc == do_exit) {
abort = TRUE;
}
}
@ -552,32 +552,32 @@ void parse_browser_input(int *kbinput, bool *meta_key, bool *func_key)
if (!*meta_key) {
switch (*kbinput) {
case ' ':
*kbinput = sc_seq_or(DO_PAGE_DOWN, 0);
*kbinput = sc_seq_or(do_page_down, 0);
break;
case '-':
*kbinput = sc_seq_or(DO_PAGE_UP, 0);
*kbinput = sc_seq_or(do_page_up, 0);
break;
case '?':
#ifndef DISABLE_HELP
*kbinput = sc_seq_or(DO_HELP_VOID, 0);
*kbinput = sc_seq_or(do_help_void, 0);
#endif
break;
/* Cancel equivalent to Exit here. */
case 'E':
case 'e':
*kbinput = sc_seq_or(DO_EXIT, 0);
*kbinput = sc_seq_or(do_exit, 0);
break;
case 'G':
case 'g':
*kbinput = sc_seq_or(GOTO_DIR_MSG, 0);
*kbinput = sc_seq_or(goto_dir_void, 0);
break;
case 'S':
case 's':
*kbinput = sc_seq_or(DO_ENTER, 0);
*kbinput = sc_seq_or(do_enter_void, 0);
break;
case 'W':
case 'w':
*kbinput = sc_seq_or(DO_SEARCH, 0);
*kbinput = sc_seq_or(do_search, 0);
break;
}
}
@ -841,18 +841,18 @@ int filesearch_init(void)
#endif
} else
#ifndef NANO_TINY
if (s && s->scfunc == CASE_SENS_MSG) {
if (s && s->scfunc == case_sens_void) {
TOGGLE(CASE_SENSITIVE);
backupstring = mallocstrcpy(backupstring, answer);
return 1;
} else if (s && s->scfunc == BACKWARDS_MSG) {
} else if (s && s->scfunc == backwards_void) {
TOGGLE(BACKWARDS_SEARCH);
backupstring = mallocstrcpy(backupstring, answer);
return 1;
} else
#endif
#ifdef HAVE_REGEX_H
if (s && s->scfunc == REGEXP_MSG) {
if (s && s->scfunc == regexp_void) {
TOGGLE(USE_REGEXP);
backupstring = mallocstrcpy(backupstring, answer);
return 1;

View File

@ -869,14 +869,14 @@ void do_insertfile(
#ifndef NANO_TINY
#ifdef ENABLE_MULTIBUFFER
if (s && s->scfunc == NEW_BUFFER_MSG) {
if (s && s->scfunc == new_buffer_void) {
/* Don't allow toggling if we're in view mode. */
if (!ISSET(VIEW_MODE))
TOGGLE(MULTIBUFFER);
continue;
} else
#endif
if (s && s->scfunc == EXT_CMD_MSG) {
if (s && s->scfunc == ext_cmd_void) {
execute = !execute;
continue;
}
@ -886,7 +886,7 @@ void do_insertfile(
#endif /* !NANO_TINY */
#ifndef DISABLE_BROWSER
if (s && s->scfunc == TO_FILES_MSG) {
if (s && s->scfunc == to_files_void) {
char *tmp = do_browse_from(answer);
if (tmp == NULL)
@ -2079,7 +2079,7 @@ bool do_writeout(bool exiting)
s = get_shortcut(currmenu, &i, &meta_key, &func_key);
#ifndef DISABLE_BROWSER
if (s && s->scfunc == TO_FILES_MSG) {
if (s && s->scfunc == to_files_void) {
char *tmp = do_browse_from(answer);
if (tmp == NULL)
@ -2091,26 +2091,26 @@ bool do_writeout(bool exiting)
} else
#endif /* !DISABLE_BROWSER */
#ifndef NANO_TINY
if (s && s->scfunc == DOS_FORMAT_MSG) {
if (s && s->scfunc == dos_format_void) {
openfile->fmt = (openfile->fmt == DOS_FILE) ? NIX_FILE :
DOS_FILE;
continue;
} else if (s && s->scfunc == MAC_FORMAT_MSG) {
} else if (s && s->scfunc == mac_format_void) {
openfile->fmt = (openfile->fmt == MAC_FILE) ? NIX_FILE :
MAC_FILE;
continue;
} else if (s && s->scfunc == BACKUP_FILE_MSG) {
} else if (s && s->scfunc == backup_file_void) {
TOGGLE(BACKUP_FILE);
continue;
} else
#endif /* !NANO_TINY */
if (s && s->scfunc == PREPEND_MSG) {
if (s && s->scfunc == prepend_void) {
append = (append == PREPEND) ? OVERWRITE : PREPEND;
continue;
} else if (s && s->scfunc == APPEND_MSG) {
} else if (s && s->scfunc == append_void) {
append = (append == APPEND) ? OVERWRITE : APPEND;
continue;
} else if (s && s->scfunc == DO_HELP_VOID) {
} else if (s && s->scfunc == do_help_void) {
continue;
}

File diff suppressed because it is too large Load Diff

View File

@ -145,35 +145,35 @@ void do_help(void (*refresh_func)(void))
if (!f)
continue;
if (f->scfunc == TOTAL_REFRESH) {
if (f->scfunc == total_refresh) {
total_redraw();
break;
} else if (f->scfunc == DO_PAGE_UP) {
} else if (f->scfunc == do_page_up) {
if (line > editwinrows - 2)
line -= editwinrows - 2;
else
line = 0;
} else if (f->scfunc == DO_PAGE_DOWN) {
} else if (f->scfunc == do_page_down) {
if (line + (editwinrows - 1) < last_line)
line += editwinrows - 2;
} else if (f->scfunc == DO_UP_VOID) {
} else if (f->scfunc == do_up_void) {
if (line > 0)
line--;
} else if (f->scfunc == DO_DOWN_VOID) {
} else if (f->scfunc == do_down_void) {
if (line + (editwinrows - 1) < last_line)
line++;
} else if (f->scfunc == DO_FIRST_LINE) {
} else if (f->scfunc == do_first_line) {
if (meta_key)
line = 0;
break;
} else if (f->scfunc == DO_LAST_LINE) {
} else if (f->scfunc == do_last_line) {
if (meta_key) {
if (line + (editwinrows - 1) < last_line)
line = last_line - (editwinrows - 1);
}
break;
/* Abort the help browser. */
} else if (f->scfunc == DO_EXIT) {
} else if (f->scfunc == do_exit) {
abort = TRUE;
break;
}
@ -407,7 +407,7 @@ void help_init(void)
size_t endis_len = strlen(_("enable/disable"));
for (s = sclist; s != NULL; s = s->next)
if (s->scfunc == DO_TOGGLE)
if (s->scfunc == do_toggle_void)
allocsize += strlen(_(flagtostr(s->toggle))) + endis_len + 9;
}
@ -478,7 +478,7 @@ void help_init(void)
/* And the toggles... */
if (currmenu == MMAIN)
for (s = sclist; s != NULL; s = s->next)
if (s->scfunc == DO_TOGGLE)
if (s->scfunc == do_toggle_void)
ptr += sprintf(ptr, "(%s)\t\t\t%s %s\n",
s->keystr, _(flagtostr(s->toggle)), _("enable/disable"));
@ -507,15 +507,15 @@ void parse_help_input(int *kbinput, bool *meta_key, bool *func_key)
switch (*kbinput) {
/* For consistency with the file browser. */
case ' ':
*kbinput = sc_seq_or(DO_PAGE_UP, 0);
*kbinput = sc_seq_or(do_page_up, 0);
break;
case '-':
*kbinput = sc_seq_or(DO_PAGE_DOWN, 0);;
*kbinput = sc_seq_or(do_page_down, 0);;
break;
/* Cancel is equivalent to Exit here. */
case 'E':
case 'e':
*kbinput = sc_seq_or(DO_EXIT, 0);;
*kbinput = sc_seq_or(do_exit, 0);;
break;
}
}

View File

@ -1063,7 +1063,11 @@ void do_exit(void)
display_main_list();
}
/* Another placeholder for function mapping */
void do_cancel(void)
{
;
}
static struct sigaction pager_oldaction, pager_newaction; /* Original and temporary handlers for SIGINT. */
static bool pager_sig_failed = FALSE; /* Did sigaction() fail without changing the signal handlers? */
@ -1386,6 +1390,12 @@ void do_toggle(int flag)
statusbar("%s %s", desc, enabled ? _("enabled") :
_("disabled"));
}
/* Bleh */
void do_toggle_void(void)
{
;
}
#endif /* !NANO_TINY */
/* Disable extended input and output processing in our terminal
@ -1581,7 +1591,7 @@ int do_input(bool *meta_key, bool *func_key, bool *s_or_t, bool
* for verbatim input, turn off prepending of wrapped
* text. */
if (have_shortcut && (!have_shortcut || s == NULL || s->scfunc !=
DO_VERBATIM_INPUT))
do_verbatim_input))
wrap_reset();
#endif
@ -1616,10 +1626,10 @@ int do_input(bool *meta_key, bool *func_key, bool *s_or_t, bool
default:
/* If the function associated with this shortcut is
* cutting or copying text, indicate this. */
if (s->scfunc == DO_CUT_TEXT_VOID
if (s->scfunc == do_cut_text_void
#ifndef NANO_TINY
|| s->scfunc == DO_COPY_TEXT || s->scfunc ==
DO_CUT_TILL_END
|| s->scfunc == do_copy_text || s->scfunc ==
do_cut_till_end
#endif
)
cut_copy = TRUE;
@ -1631,13 +1641,13 @@ int do_input(bool *meta_key, bool *func_key, bool *s_or_t, bool
print_view_warning();
else {
#ifndef NANO_TINY
if (s->scfunc == DO_TOGGLE)
if (s->scfunc == do_toggle_void)
do_toggle(s->toggle);
else {
#else
{
#endif
iso_me_harder_funcmap(s->scfunc);
s->scfunc();
#ifdef ENABLE_COLOR
if (f && !f->viewok && openfile->syntax != NULL
&& openfile->syntax->nmultis > 0) {

View File

@ -422,7 +422,7 @@ typedef struct sc {
/* The actual sequence to check on the the type is determined */
int menu;
/* What list does this apply to */
short scfunc;
void (*scfunc)(void);
/* The function we're going to run */
int toggle;
/* If a toggle, what we're toggling */
@ -434,7 +434,7 @@ typedef struct sc {
} sc;
typedef struct subnfunc {
short scfunc;
void (*scfunc)(void);
/* What function is this */
int menus;
/* In what menus does this function applu */
@ -743,9 +743,9 @@ enum
#define TOGGLE_MAC_KEY NANO_META_M
/* Extra bits for the undo function */
#define UNDO_DEL_DEL (1<<0)
#define UNDO_DEL_BACKSPACE (1<<1)
#define UNDO_SPLIT_MADENEW (1<<2)
#define UNdel_del (1<<0)
#define UNdel_backspace (1<<1)
#define UNsplit_madenew (1<<2)
/* Since in ISO C you can't pass around function pointers anymore,
let's make some integer macros for function names, and then I
@ -754,160 +754,6 @@ enum
#endif /* !NANO_TINY */
#define CASE_SENS_MSG 1
#define BACKWARDS_MSG 2
#define REGEXP_MSG 3
#define WHEREIS_NEXT_MSG 4
#define FIRST_FILE_MSG 5
#define LAST_FILE_MSG 6
#define GOTO_DIR_MSG 7
#define TOTAL_REFRESH 8
#define DO_HELP_VOID 9
#define DO_SEARCH 10
#define DO_PAGE_UP 11
#define DO_PAGE_DOWN 12
#define DO_UP_VOID 13
#define DO_LEFT 14
#define DO_DOWN_VOID 15
#define DO_RIGHT 16
#define DO_ENTER 17
#define DO_EXIT 18
#define NEW_BUFFER_MSG 19
#define EXT_CMD_MSG 20
#define TO_FILES_MSG 21
#define DOS_FORMAT_MSG 23
#define MAC_FORMAT_MSG 24
#define BACKUP_FILE_MSG 25
#define PREPEND_MSG 26
#define APPEND_MSG 27
#define DO_FIRST_LINE 28
#define DO_LAST_LINE 29
#define DO_TOGGLE 30
#define GOTOTEXT_MSG 31
#define NO_REPLACE_MSG 32
#define DO_BACKSPACE 33
#define DO_DELETE 34
#define DO_TAB 35
#define DO_VERBATIM_INPUT 36
#define SWITCH_TO_NEXT_BUFFER_VOID 37
#define SWITCH_TO_PREV_BUFFER_VOID 38
#define DO_END 39
#define DO_HOME 40
#define NEXT_HISTORY_MSG 41
#define PREV_HISTORY_MSG 42
#define DO_REDO 43
#define DO_UNDO 44
#define DO_WORDLINECHAR_COUNT 45
#define DO_FIND_BRACKET 46
#define DO_PREV_WORD_VOID 47
#define DO_SUSPEND_VOID 48
#define CANCEL_MSG 49
#define DO_WRITEOUT_VOID 50
#define DO_INSERTFILE_VOID 51
#define DO_CUT_TEXT_VOID 52
#define DO_UNCUT_TEXT 53
#define DO_CURSORPOS_VOID 54
#define DO_GOTOLINECOLUMN_VOID 55
#define DO_REPLACE 56
#define DO_JUSTIFY_VOID 57
#define DO_PARA_BEGIN_VOID 58
#define DO_PARA_END_VOID 59
#define DO_FULL_JUSTIFY 60
#define DO_MARK 61
#define DO_RESEARCH 62
#define DO_COPY_TEXT 63
#define DO_INDENT_VOID 64
#define DO_UNINDENT 65
#define DO_SCROLL_UP 66
#define DO_SCROLL_DOWN 67
#define DO_NEXT_WORD_VOID 68
#define DO_CUT_TILL_END 69
#define NANO_GOTODIR_MSG 70
#define NANO_LASTFILE_MSG 71
#define NANO_FIRSTFILE_MSG 72
#define INSERT_FILE_MSG 73
#define NANO_MULTIBUFFER_MSG 74
#define NANO_EXECUTE_MSG 75
#define NANO_BACKUP_MSG 76
#define NANO_PREPEND_MSG 77
#define NANO_APPEND_MSG 78
#define NANO_MAC_MSG 79
#define NANO_DOS_MSG 80
#define NANO_TOFILES_MSG 81
#define NANO_NEXT_HISTORY_MSG 82
#define NANO_PREV_HISTORY_MSG 83
#define NANO_REGEXP_MSG 84
#define NANO_REVERSE_MSG 85
#define NANO_CASE_MSG 86
#define NANO_SUSPEND_MSG 87
#define SUSPEND_MSG 88
#define NANO_REFRESH_MSG 89
#define REFRESH_MSG 90
#define NANO_WORDCOUNT_MSG 91
#define NANO_FULLJUSTIFY_MSG 92
#define FULLJSTIFY_MSG 93
#define XOFF_COMPLAINT 94
#define XON_COMPLAINT 95
#define NANO_CUT_TILL_END_MSG 96
#define NANO_BACKSPACE_MSG 97
#define NANO_DELETE_MSG 98
#define NANO_ENTER_MSG 99
#define NANO_TAB_MSG 100
#define NANO_VERBATIM_MSG 101
#define NANO_NEXTFILE_MSG 102
#define NANO_PREVFILE_MSG 103
#define NANO_SCROLLDOWN_MSG 104
#define NANO_SCROLLUP_MSG 105
#define NANO_BRACKET_MSG 106
#define NANO_PARAEND_MSG 107
#define END_OF_PAR_MSG 108
#define NANO_PARABEGIN_MSG 109
#define BEG_OF_PAR_MSG 110
#define NANO_END_MSG 111
#define NANO_HOME_MSG 112
#define NANO_NEXTLINE_MSG 113
#define NANO_PREVLINE_MSG 114
#define NANO_PREVWORD_MSG 115
#define NANO_NEXTWORD_MSG 116
#define NANO_BACK_MSG 117
#define NANO_FORWARD_MSG 118
#define NANO_REDO_MSG 119
#define NANO_UNDO_MSG 120
#define NANO_UNINDENT_MSG 121
#define NANO_INDENT_MSG 122
#define NANO_COPY_MSG 123
#define NANO_WHEREIS_NEXT_MSG 124
#define NANO_MARK_MSG 125
#define NANO_REPLACE_MSG 126
#define REPLACE_MSG 127
#define NANO_GOTOLINE_MSG 128
#define NANO_LASTLINE_MSG 129
#define NANO_FIRSTLINE_MSG 130
#define NANO_SPELL_MSG 131
#define DO_SPELL 132
#define NANO_CURSORPOS_MSG 133
#define NANO_UNCUT_MSG 134
#define GET_HELP_MSG 135
#define NANO_HELP_MSG 136
#define NANO_CANCEL_MSG 137
#define NANO_EXIT_MSG 138
#define EXIT_MSG 139
#define NANO_EXITBROWSER_MSG 140
#define NANO_WRITEOUT_MSG 141
#define NANO_DISABLED_MSG 142
#define NANO_INSERT_MSG 143
#define WHEREIS_MSG 144
#define NANO_WHEREIS_MSG 145
#define NANO_PREVPAGE_MSG 146
#define NANO_NEXTPAGE_MSG 147
#define NANO_CUT_MSG 148
#define DO_CUT_TEXT 149
#define DO_NEXT_WORD 150
#define DO_PREV_WORD 151
#define VIEW TRUE
#define NOVIEW FALSE

View File

@ -152,38 +152,38 @@ int do_statusbar_input(bool *meta_key, bool *func_key, bool *have_shortcut,
}
if (*have_shortcut) {
if (s->scfunc == DO_TAB || s->scfunc == DO_ENTER)
if (s->scfunc == do_tab || s->scfunc == do_enter_void)
;
else if (s->scfunc == TOTAL_REFRESH)
else if (s->scfunc == total_refresh)
total_statusbar_refresh(refresh_func);
else if (s->scfunc == DO_CUT_TEXT) {
else if (s->scfunc == do_cut_text_void) {
/* If we're using restricted mode, the filename
* isn't blank, and we're at the "Write File"
* prompt, disable Cut. */
if (!ISSET(RESTRICTED) || openfile->filename[0] ==
'\0' || currmenu != MWRITEFILE)
do_statusbar_cut_text();
} else if (s->scfunc == DO_RIGHT)
} else if (s->scfunc == do_right)
do_statusbar_right();
else if (s->scfunc == DO_LEFT)
else if (s->scfunc == do_left)
do_statusbar_left();
#ifndef NANO_TINY
else if (s->scfunc == DO_NEXT_WORD)
else if (s->scfunc == do_next_word_void)
do_statusbar_next_word(FALSE);
else if (s->scfunc == DO_PREV_WORD)
else if (s->scfunc == do_prev_word_void)
do_statusbar_prev_word(FALSE);
#endif
else if (s->scfunc == DO_HOME)
else if (s->scfunc == do_home)
do_statusbar_home();
else if (s->scfunc == DO_END)
else if (s->scfunc == do_end)
do_statusbar_end();
#ifndef NANO_TINY
else if (s->scfunc == DO_FIND_BRACKET)
else if (s->scfunc == do_find_bracket)
do_statusbar_find_bracket();
#endif
else if (s->scfunc == DO_VERBATIM_INPUT) {
else if (s->scfunc == do_verbatim_input) {
/* If we're using restricted mode, the filename
* isn't blank, and we're at the "Write File"
* prompt, disable verbatim input. */
@ -201,18 +201,18 @@ int do_statusbar_input(bool *meta_key, bool *func_key, bool *have_shortcut,
* to indicate that we're done. */
if (got_enter) {
get_input(NULL, 1);
input = sc_seq_or(DO_ENTER, 0);
input = sc_seq_or(do_enter_void, 0);
*finished = TRUE;
}
}
} else if (s->scfunc == DO_DELETE) {
} else if (s->scfunc == do_delete) {
/* If we're using restricted mode, the filename
* isn't blank, and we're at the "Write File"
* prompt, disable Delete. */
if (!ISSET(RESTRICTED) || openfile->filename[0] ==
'\0' || currmenu != MWRITEFILE)
do_statusbar_delete();
} else if (s->scfunc == DO_BACKSPACE) {
} else if (s->scfunc == do_backspace) {
/* If we're using restricted mode, the filename
* isn't blank, and we're at the "Write File"
* prompt, disable Backspace. */
@ -230,7 +230,7 @@ int do_statusbar_input(bool *meta_key, bool *func_key, bool *have_shortcut,
if (s->scfunc != 0 && s->execute == TRUE) {
*ran_func = TRUE;
if (f && (!ISSET(VIEW_MODE) || (f->viewok)))
iso_me_harder_funcmap(f->scfunc);
f->scfunc();
}
*finished = TRUE;
}
@ -979,19 +979,19 @@ fprintf(stderr, "get_prompt_string: answer = \"%s\", statusbar_x = %lu\n", answe
s = get_shortcut(currmenu, &kbinput, meta_key, func_key);
if (s)
if (s->scfunc == CANCEL_MSG || s->scfunc == DO_ENTER)
if (s->scfunc == do_cancel || s->scfunc == do_enter_void)
break;
#ifndef DISABLE_TABCOMP
if (s && s->scfunc != DO_TAB)
if (s && s->scfunc != do_tab)
tabbed = FALSE;
#endif
#ifndef DISABLE_TABCOMP
#ifndef NANO_TINY
if (s && s->scfunc == DO_TAB) {
if (s && s->scfunc == do_tab) {
if (history_list != NULL) {
if (last_kbinput != sc_seq_or(DO_TAB, NANO_CONTROL_I))
if (last_kbinput != sc_seq_or(do_tab, NANO_CONTROL_I))
complete_len = strlen(answer);
if (complete_len > 0) {
@ -1007,10 +1007,10 @@ fprintf(stderr, "get_prompt_string: answer = \"%s\", statusbar_x = %lu\n", answe
&statusbar_x, &tabbed, refresh_func, list);
update_statusbar_line(answer, statusbar_x);
} else
} else
#endif /* !DISABLE_TABCOMP */
#ifndef NANO_TINY
if (s && s->scfunc == PREV_HISTORY_MSG) {
if (s && s->scfunc == get_history_older_void) {
if (history_list != NULL) {
/* If we're scrolling up at the bottom of the
* history list and answer isn't blank, save answer
@ -1038,7 +1038,7 @@ fprintf(stderr, "get_prompt_string: answer = \"%s\", statusbar_x = %lu\n", answe
* statusbar prompt. */
finished = FALSE;
}
} else if (s && s->scfunc == NEXT_HISTORY_MSG) {
} else if (s && s->scfunc == get_history_newer_void) {
if (history_list != NULL) {
/* Get the newer search from the history list and
* save it in answer. If there is no newer search,
@ -1070,7 +1070,7 @@ fprintf(stderr, "get_prompt_string: answer = \"%s\", statusbar_x = %lu\n", answe
}
} else
#endif /* !NANO_TINY */
if (s && s->scfunc == DO_HELP_VOID) {
if (s && s->scfunc == do_help_void) {
update_statusbar_line(answer, statusbar_x);
/* This key has a shortcut list entry when it's used to
@ -1114,7 +1114,7 @@ fprintf(stderr, "get_prompt_string: answer = \"%s\", statusbar_x = %lu\n", answe
* we've finished putting in an answer, reset the statusbar cursor
* position too. */
if (s) {
if (s->scfunc == CANCEL_MSG || s->scfunc == DO_ENTER ||
if (s->scfunc == do_cancel || s->scfunc == do_enter_void ||
ran_func) {
statusbar_x = old_statusbar_x;
statusbar_pww = old_pww;
@ -1201,9 +1201,9 @@ int do_prompt(bool allow_tabs,
/* If we left the prompt via Cancel or Enter, set the return value
* properly. */
if (s && s->scfunc == CANCEL_MSG)
if (s && s->scfunc == do_cancel)
retval = -1;
else if (s && s->scfunc == DO_ENTER)
else if (s && s->scfunc == do_enter_void)
retval = (*answer == '\0') ? -2 : 0;
blank_statusbar();
@ -1311,7 +1311,7 @@ int do_yesno_prompt(bool all, const char *msg)
kbinput = get_kbinput(bottomwin, &meta_key, &func_key);
s = get_shortcut(currmenu, &kbinput, &meta_key, &func_key);
if (s && s->scfunc == CANCEL_MSG)
if (s && s->scfunc == do_cancel)
ok = -1;
#ifndef DISABLE_MOUSE
else if (kbinput == KEY_MOUSE) {
@ -1343,7 +1343,7 @@ int do_yesno_prompt(bool all, const char *msg)
}
}
#endif /* !DISABLE_MOUSE */
else if (s && s->scfunc == TOTAL_REFRESH) {
else if (s && s->scfunc == total_refresh) {
total_redraw();
continue;
} else {

View File

@ -460,6 +460,7 @@ void allow_pending_sigwinch(bool allow);
#endif
#ifndef NANO_TINY
void do_toggle(int flag);
void do_toggle_void(void);
#endif
void disable_extended_io(void);
#ifdef USE_SLANG
@ -611,6 +612,8 @@ filestruct *find_history(const filestruct *h_start, const filestruct
void update_history(filestruct **h, const char *s);
char *get_history_older(filestruct **h);
char *get_history_newer(filestruct **h);
void get_history_older_void(void);
void get_history_newer_void(void);
#ifndef DISABLE_TABCOMP
char *get_history_completion(filestruct **h, const char *s, size_t len);
#endif
@ -631,6 +634,7 @@ void do_undo(void);
void do_redo(void);
#endif
void do_enter(bool undoing);
void do_enter_void(void);
#ifndef NANO_TINY
RETSIGTYPE cancel_command(int signal);
bool execute_command(const char *command);
@ -752,7 +756,7 @@ int get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts);
#endif
const sc *get_shortcut(int menu, int *kbinput, bool
*meta_key, bool *func_key);
const sc *first_sc_for(int menu, short func);
const sc *first_sc_for(int menu, void (*func)(void));
void blank_line(WINDOW *win, int y, int x, int n);
void blank_titlebar(void);
void blank_topbar(void);
@ -793,7 +797,7 @@ int strtomenu(char *input);
void assign_keyinfo(sc *s);
void xon_complaint(void);
void xoff_complaint(void);
int sc_seq_or (short func, int defaultval);
int sc_seq_or (void (*func)(void), int defaultval);
void do_suspend_void(void);
extern const char *cancel_msg;
@ -820,7 +824,6 @@ extern const char *backup_file_msg;
extern const char *gototext_msg;
extern const char *new_buffer_msg;
void iso_me_harder_funcmap(short func);
void enable_nodelay(void);
void disable_nodelay(void);
@ -832,4 +835,22 @@ extern const char *regexp_msg;
void do_credits(void);
#endif
/* May as just throw these here since they are just placeholders */
void do_cancel(void);
void case_sens_void(void);
void regexp_void(void);
void gototext_void(void);
void to_files_void(void);
void dos_format_void(void);
void mac_format_void(void);
void append_void(void);
void prepend_void(void);
void backup_file_void(void);
void new_buffer_void(void);
void backwards_void(void);
void goto_dir_void(void);
void no_replace_void(void);
void ext_cmd_void(void);
#endif /* !PROTO_H */

View File

@ -863,7 +863,7 @@ static void check_vitals_mapped(void)
subnfunc *f;
int v;
#define VITALS 5
short vitals[VITALS] = { DO_EXIT, DO_EXIT, CANCEL_MSG, CANCEL_MSG, CANCEL_MSG };
void (*vitals[VITALS])(void) = { do_exit, do_exit, do_cancel, do_cancel, do_cancel };
int inmenus[VITALS] = { MMAIN, MHELP, MWHEREIS, MREPLACE, MGOTOLINE };
for (v = 0; v < VITALS; v++) {

View File

@ -138,7 +138,7 @@ int search_init(bool replacing, bool use_answer)
int i = 0;
char *buf;
sc *s;
char func = 0;
void (*func)(void);
bool meta_key = FALSE, func_key = FALSE;
static char *backupstring = NULL;
/* The search string we'll be using. */
@ -236,26 +236,25 @@ int search_init(bool replacing, bool use_answer)
#endif
;
#ifndef NANO_TINY
} else if (func == CASE_SENS_MSG) {
} else if (func == case_sens_void) {
TOGGLE(CASE_SENSITIVE);
backupstring = mallocstrcpy(backupstring, answer);
return 1;
} else if (func == BACKWARDS_MSG) {
} else if (func == backwards_void) {
TOGGLE(BACKWARDS_SEARCH);
backupstring = mallocstrcpy(backupstring, answer);
return 1;
#endif
#ifdef HAVE_REGEX_H
} else if (func == REGEXP_MSG) {
} else if (func == regexp_void) {
TOGGLE(USE_REGEXP);
backupstring = mallocstrcpy(backupstring, answer);
return 1;
#endif
} else if (func == DO_REPLACE ||
func == NO_REPLACE_MSG) {
} else if (func == do_replace || func == no_replace_void) {
backupstring = mallocstrcpy(backupstring, answer);
return -2; /* Call the opposite search function. */
} else if (func == DO_GOTOLINECOLUMN_VOID) {
} else if (func == do_gotolinecolumn_void) {
do_gotolinecolumn(openfile->current->lineno,
openfile->placewewant + 1, TRUE, TRUE, FALSE,
TRUE);
@ -310,7 +309,7 @@ bool findnextstr(
if (time(NULL) - lastkbcheck > 1) {
lastkbcheck = time(NULL);
f = getfuncfromkey(edit);
if (f && f->scfunc == CANCEL_MSG) {
if (f && f->scfunc == do_cancel) {
statusbar(_("Cancelled"));
return FALSE;
}
@ -1044,7 +1043,7 @@ void do_gotolinecolumn(ssize_t line, ssize_t column, bool use_answer,
s = get_shortcut(currmenu, &i, &meta_key, &func_key);
if (s && s->scfunc == GOTOTEXT_MSG) {
if (s && s->scfunc == gototext_void) {
/* Keep answer up on the statusbar. */
search_init(TRUE, TRUE);
@ -1431,6 +1430,16 @@ char *get_history_newer(filestruct **h)
return (*h)->data;
}
/* More placeholders */
void get_history_newer_void(void)
{
;
}
void get_history_older_void(void)
{
;
}
#ifndef DISABLE_TABCOMP
/* Move h to the next string that's a tab completion of the string s,
* looking at only the first len characters of s, and return that

View File

@ -481,7 +481,7 @@ void do_undo(void)
strcpy(&data[u->begin + strlen(u->strdata)], &f->data[u->begin]);
free(f->data);
f->data = data;
if (u->xflags == UNDO_DEL_BACKSPACE)
if (u->xflags == UNdel_backspace)
openfile->current_x += strlen(u->strdata);
break;
#ifndef DISABLE_WRAPPING
@ -626,7 +626,7 @@ void do_redo(void)
#ifndef DISABLE_WRAPPING
case SPLIT:
undidmsg = _("line wrap");
if (u->xflags & UNDO_SPLIT_MADENEW)
if (u->xflags & UNsplit_madenew)
prepend_wrap = TRUE;
do_wrap(f, TRUE);
renumber(f);
@ -741,6 +741,11 @@ void do_enter(bool undoing)
edit_refresh_needed = TRUE;
}
/* Need this again... */
void do_enter_void(void) {
do_enter(FALSE);
}
#ifndef NANO_TINY
/* Send a SIGKILL (unconditional kill) to the forked process in
* execute_command(). */
@ -1016,8 +1021,8 @@ void update_undo(undo_type action)
if (fs->current_x == u->begin) {
/* They're deleting */
if (!u->xflags)
u->xflags = UNDO_DEL_DEL;
else if (u->xflags != UNDO_DEL_DEL) {
u->xflags = UNdel_del;
else if (u->xflags != UNdel_del) {
add_undo(action);
return;
}
@ -1030,8 +1035,8 @@ void update_undo(undo_type action)
} else if (fs->current_x == u->begin - 1) {
/* They're backspacing */
if (!u->xflags)
u->xflags = UNDO_DEL_BACKSPACE;
else if (u->xflags != UNDO_DEL_BACKSPACE) {
u->xflags = UNdel_backspace;
else if (u->xflags != UNdel_backspace) {
add_undo(action);
return;
}
@ -1071,7 +1076,7 @@ void update_undo(undo_type action)
case SPLIT:
/* This will only be called if we made a completely new line,
and as such we should note that so we can destroy it later */
u->xflags = UNDO_SPLIT_MADENEW;
u->xflags = UNsplit_madenew;
break;
#endif /* DISABLE_WRAPPING */
case UNSPLIT:
@ -2281,7 +2286,7 @@ void do_justify(bool full_justify)
&finished, FALSE);
s = get_shortcut(currmenu, &kbinput, &meta_key, &func_key);
if (s && s->scfunc == DO_UNCUT_TEXT) {
if (s && s->scfunc == do_uncut_text) {
/* Splice the justify buffer back into the file, but only if we
* actually justified something. */
if (first_par_line != NULL) {

View File

@ -497,36 +497,36 @@ int parse_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
if (retval != ERR) {
switch (retval) {
case NANO_CONTROL_8:
retval = ISSET(REBIND_DELETE) ? sc_seq_or(DO_DELETE, 0) :
sc_seq_or(DO_BACKSPACE, 0);
retval = ISSET(REBIND_DELETE) ? sc_seq_or(do_delete, 0) :
sc_seq_or(do_backspace, 0);
break;
case KEY_DOWN:
#ifdef KEY_SDOWN
/* ncurses and Slang don't support KEY_SDOWN. */
case KEY_SDOWN:
#endif
retval = sc_seq_or(DO_DOWN_VOID, *kbinput);
retval = sc_seq_or(do_down_void, *kbinput);
break;
case KEY_UP:
#ifdef KEY_SUP
/* ncurses and Slang don't support KEY_SUP. */
case KEY_SUP:
#endif
retval = sc_seq_or(DO_UP_VOID, *kbinput);
retval = sc_seq_or(do_up_void, *kbinput);
break;
case KEY_LEFT:
#ifdef KEY_SLEFT
/* Slang doesn't support KEY_SLEFT. */
case KEY_SLEFT:
#endif
retval = sc_seq_or(DO_LEFT, *kbinput);
retval = sc_seq_or(do_left, *kbinput);
break;
case KEY_RIGHT:
#ifdef KEY_SRIGHT
/* Slang doesn't support KEY_SRIGHT. */
case KEY_SRIGHT:
#endif
retval = sc_seq_or(DO_RIGHT, *kbinput);
retval = sc_seq_or(do_right, *kbinput);
break;
#ifdef KEY_SHOME
/* HP-UX 10-11 and Slang don't support KEY_SHOME. */
@ -534,36 +534,36 @@ int parse_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
#endif
case KEY_A1: /* Home (7) on numeric keypad with
* NumLock off. */
retval = sc_seq_or(DO_HOME, *kbinput);
retval = sc_seq_or(do_home, *kbinput);
break;
case KEY_BACKSPACE:
retval = sc_seq_or(DO_BACKSPACE, *kbinput);
retval = sc_seq_or(do_backspace, *kbinput);
break;
#ifdef KEY_SDC
/* Slang doesn't support KEY_SDC. */
case KEY_SDC:
if (ISSET(REBIND_DELETE))
retval = sc_seq_or(DO_DELETE, *kbinput);
retval = sc_seq_or(do_delete, *kbinput);
else
retval = sc_seq_or(DO_BACKSPACE, *kbinput);
retval = sc_seq_or(do_backspace, *kbinput);
break;
#endif
#ifdef KEY_SIC
/* Slang doesn't support KEY_SIC. */
case KEY_SIC:
retval = sc_seq_or(DO_INSERTFILE_VOID, *kbinput);
retval = sc_seq_or(do_insertfile_void, *kbinput);
break;
#endif
case KEY_C3: /* PageDown (4) on numeric keypad with
* NumLock off. */
retval = sc_seq_or(DO_PAGE_DOWN, *kbinput);
retval = sc_seq_or(do_page_down, *kbinput);
break;
case KEY_A3: /* PageUp (9) on numeric keypad with
* NumLock off. */
retval = sc_seq_or(DO_PAGE_UP, *kbinput);
retval = sc_seq_or(do_page_up, *kbinput);
break;
case KEY_ENTER:
retval = sc_seq_or(DO_ENTER, *kbinput);
retval = sc_seq_or(do_enter_void, *kbinput);
break;
case KEY_B2: /* Center (5) on numeric keypad with
* NumLock off. */
@ -575,7 +575,7 @@ int parse_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
/* HP-UX 10-11 and Slang don't support KEY_SEND. */
case KEY_SEND:
#endif
retval = sc_seq_or(DO_END, *kbinput);
retval = sc_seq_or(do_end, *kbinput);
break;
#ifdef KEY_BEG
/* Slang doesn't support KEY_BEG. */
@ -591,7 +591,7 @@ int parse_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
/* Slang doesn't support KEY_SCANCEL. */
case KEY_SCANCEL:
#endif
retval = first_sc_for(currmenu, CANCEL_MSG)->seq;
retval = first_sc_for(currmenu, do_cancel)->seq;
break;
#endif
#ifdef KEY_SBEG
@ -604,13 +604,13 @@ int parse_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
#ifdef KEY_SSUSPEND
/* Slang doesn't support KEY_SSUSPEND. */
case KEY_SSUSPEND:
retval = sc_seq_or(DO_SUSPEND_VOID, 0);
retval = sc_seq_or(do_suspend_void, 0);
break;
#endif
#ifdef KEY_SUSPEND
/* Slang doesn't support KEY_SUSPEND. */
case KEY_SUSPEND:
retval = sc_seq_or(DO_SUSPEND_VOID, 0);
retval = sc_seq_or(do_suspend_void, 0);
break;
#endif
#ifdef PDCURSES
@ -758,15 +758,15 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
retval = KEY_B2;
break;
case 'F': /* Esc O F == End on xterm/Terminal. */
retval = sc_seq_or(DO_END, 0);
retval = sc_seq_or(do_end, 0);
break;
case 'H': /* Esc O H == Home on xterm/Terminal. */
retval = sc_seq_or(DO_HOME, 0);;
retval = sc_seq_or(do_home, 0);;
break;
case 'M': /* Esc O M == Enter on numeric keypad with
* NumLock off on VT100/VT220/VT320/xterm/
* rxvt/Eterm. */
retval = sc_seq_or(DO_HOME, 0);;
retval = sc_seq_or(do_home, 0);;
break;
case 'P': /* Esc O P == F1 on VT100/VT220/VT320/Mach
* console. */
@ -831,7 +831,7 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
case 'n': /* Esc O n == Delete (.) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* xterm/rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_DELETE, 0);;
retval = sc_seq_or(do_delete, 0);;
break;
case 'o': /* Esc O o == '/' on numeric keypad with
* NumLock off on VT100/VT220/VT320/xterm/
@ -841,27 +841,27 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
case 'p': /* Esc O p == Insert (0) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_INSERTFILE_VOID, 0);;
retval = sc_seq_or(do_insertfile_void, 0);;
break;
case 'q': /* Esc O q == End (1) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_END, 0);;
retval = sc_seq_or(do_end, 0);;
break;
case 'r': /* Esc O r == Down (2) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_DOWN_VOID, 0);;
retval = sc_seq_or(do_down_void, 0);;
break;
case 's': /* Esc O s == PageDown (3) on numeric
* keypad with NumLock off on VT100/VT220/
* VT320/rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_PAGE_DOWN, 0);;
retval = sc_seq_or(do_page_down, 0);;
break;
case 't': /* Esc O t == Left (4) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_LEFT, 0);;
retval = sc_seq_or(do_left, 0);;
break;
case 'u': /* Esc O u == Center (5) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
@ -871,22 +871,22 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
case 'v': /* Esc O v == Right (6) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_RIGHT, 0);
retval = sc_seq_or(do_right, 0);
break;
case 'w': /* Esc O w == Home (7) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_HOME, 0);
retval = sc_seq_or(do_home, 0);
break;
case 'x': /* Esc O x == Up (8) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_UP_VOID, 0);
retval = sc_seq_or(do_up_void, 0);
break;
case 'y': /* Esc O y == PageUp (9) on numeric keypad
* with NumLock off on VT100/VT220/VT320/
* rxvt/Eterm/Terminal. */
retval = sc_seq_or(DO_PAGE_UP, 0);
retval = sc_seq_or(do_page_up, 0);
break;
}
break;
@ -980,7 +980,7 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
break;
default: /* Esc [ 1 ~ == Home on
* VT320/Linux console. */
retval = sc_seq_or(DO_HOME, 0);;
retval = sc_seq_or(do_home, 0);;
break;
}
}
@ -1031,40 +1031,40 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
default: /* Esc [ 2 ~ == Insert on
* VT220/VT320/Linux console/
* xterm/Terminal. */
retval = sc_seq_or(DO_INSERTFILE_VOID, 0);;
retval = sc_seq_or(do_insertfile_void, 0);;
break;
}
}
break;
case '3': /* Esc [ 3 ~ == Delete on VT220/VT320/
* Linux console/xterm/Terminal. */
retval = sc_seq_or(DO_DELETE, 0);;
retval = sc_seq_or(do_delete, 0);;
break;
case '4': /* Esc [ 4 ~ == End on VT220/VT320/Linux
* console/xterm. */
retval = sc_seq_or(DO_END, 0);;
retval = sc_seq_or(do_end, 0);;
break;
case '5': /* Esc [ 5 ~ == PageUp on VT220/VT320/
* Linux console/xterm/Terminal;
* Esc [ 5 ^ == PageUp on Eterm. */
retval = sc_seq_or(DO_PAGE_UP, 0);;
retval = sc_seq_or(do_page_up, 0);;
break;
case '6': /* Esc [ 6 ~ == PageDown on VT220/VT320/
* Linux console/xterm/Terminal;
* Esc [ 6 ^ == PageDown on Eterm. */
retval = sc_seq_or(DO_PAGE_DOWN, 0);;
retval = sc_seq_or(do_page_down, 0);;
break;
case '7': /* Esc [ 7 ~ == Home on rxvt. */
retval = sc_seq_or(DO_HOME, 0);
retval = sc_seq_or(do_home, 0);
break;
case '8': /* Esc [ 8 ~ == End on rxvt. */
retval = sc_seq_or(DO_END, 0);
retval = sc_seq_or(do_end, 0);
break;
case '9': /* Esc [ 9 == Delete on Mach console. */
retval = sc_seq_or(DO_DELETE, 0);;
retval = sc_seq_or(do_delete, 0);;
break;
case '@': /* Esc [ @ == Insert on Mach console. */
retval = sc_seq_or(DO_INSERTFILE_VOID, 0);;
retval = sc_seq_or(do_insertfile_void, 0);;
break;
case 'A': /* Esc [ A == Up on ANSI/VT220/Linux
* console/FreeBSD console/Mach console/
@ -1087,23 +1087,23 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
break;
case 'F': /* Esc [ F == End on FreeBSD
* console/Eterm. */
retval = sc_seq_or(DO_END, 0);
retval = sc_seq_or(do_end, 0);
break;
case 'G': /* Esc [ G == PageDown on FreeBSD
* console. */
retval = sc_seq_or(DO_PAGE_DOWN, 0);
retval = sc_seq_or(do_page_down, 0);
break;
case 'H': /* Esc [ H == Home on ANSI/VT220/FreeBSD
* console/Mach console/Eterm. */
retval = sc_seq_or(DO_HOME, 0);
retval = sc_seq_or(do_home, 0);
break;
case 'I': /* Esc [ I == PageUp on FreeBSD
* console. */
retval = sc_seq_or(DO_PAGE_UP, 0);
retval = sc_seq_or(do_page_up, 0);
break;
case 'L': /* Esc [ L == Insert on ANSI/FreeBSD
* console. */
retval = sc_seq_or(DO_INSERTFILE_VOID, 0);
retval = sc_seq_or(do_insertfile_void, 0);
break;
case 'M': /* Esc [ M == F1 on FreeBSD console. */
retval = KEY_F(1);
@ -1151,10 +1151,10 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
retval = KEY_F(8);
break;
case 'U': /* Esc [ U == PageDown on Mach console. */
retval = sc_seq_or(DO_PAGE_DOWN, 0);
retval = sc_seq_or(do_page_down, 0);
break;
case 'V': /* Esc [ V == PageUp on Mach console. */
retval = sc_seq_or(DO_PAGE_UP, 0);
retval = sc_seq_or(do_page_up, 0);
break;
case 'W': /* Esc [ W == F11 on FreeBSD console. */
retval = KEY_F(11);
@ -1163,7 +1163,7 @@ int get_escape_seq_kbinput(const int *seq, size_t seq_len)
retval = KEY_F(12);
break;
case 'Y': /* Esc [ Y == End on Mach console. */
retval = sc_seq_or(DO_END, 0);
retval = sc_seq_or(do_end, 0);
break;
case 'Z': /* Esc [ Z == F14 on FreeBSD console. */
retval = KEY_F(14);
@ -1220,13 +1220,13 @@ int get_escape_seq_abcd(int kbinput)
{
switch (tolower(kbinput)) {
case 'a':
return sc_seq_or(DO_UP_VOID, 0);;
return sc_seq_or(do_up_void, 0);;
case 'b':
return sc_seq_or(DO_DOWN_VOID, 0);;
return sc_seq_or(do_down_void, 0);;
case 'c':
return sc_seq_or(DO_RIGHT, 0);;
return sc_seq_or(do_right, 0);;
case 'd':
return sc_seq_or(DO_LEFT, 0);;
return sc_seq_or(do_left, 0);;
default:
return ERR;
}
@ -1746,7 +1746,7 @@ int get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts)
* wheel is equivalent to moving down three lines. */
for (i = 0; i < 3; i++)
unget_kbinput((mevent.bstate & BUTTON4_PRESSED) ?
sc_seq_or(DO_UP_VOID, 0) : sc_seq_or(DO_DOWN_VOID, 0), FALSE,
sc_seq_or(up_void, 0) : sc_seq_or(DO_DOWN_VOID, 0), FALSE,
FALSE);
return 1;