tweaks: move two functions to before the ones that call them

This commit is contained in:
Benno Schulenberg 2020-03-19 15:08:07 +01:00
parent c1ca578853
commit bc6645f753
2 changed files with 58 additions and 58 deletions

View File

@ -366,6 +366,51 @@ void add_to_funcs(void (*func)(void), int menus, const char *desc,
#endif
}
/* Parse the given keystring and return the corresponding keycode,
* or return -1 when the string is invalid. */
int keycode_from_string(const char *keystring)
{
if (keystring[0] == '^') {
if (keystring[2] == '\0') {
if (keystring[1] == '/')
return 31;
if (keystring[1] <= '_')
return keystring[1] - 64;
if (keystring[1] == '`')
return 0;
else
return -1;
} else if (strcasecmp(keystring, "^Space") == 0)
return 0;
else
return -1;
} else if (keystring[0] == 'M') {
if (keystring[1] == '-' && keystring[3] == '\0')
return tolower((unsigned char)keystring[2]);
if (strcasecmp(keystring, "M-Space") == 0)
return (int)' ';
else
return -1;
#ifdef ENABLE_NANORC
} else if (strncasecmp(keystring, "Sh-M-", 5) == 0 &&
'a' <= (keystring[5] | 0x20) && (keystring[5] | 0x20) <= 'z' &&
keystring[6] == '\0') {
shifted_metas = TRUE;
return (keystring[5] & 0x5F);
#endif
} else if (keystring[0] == 'F') {
int fn = atoi(&keystring[1]);
if (fn < 1 || fn > 24)
return -1;
return KEY_F0 + fn;
} else if (strcasecmp(keystring, "Ins") == 0)
return KEY_IC;
else if (strcasecmp(keystring, "Del") == 0)
return KEY_DC;
else
return -1;
}
/* Add a key combo to the linked list of shortcuts. */
void add_to_sclist(int menus, const char *scstring, const int keycode,
void (*func)(void), int toggle)
@ -513,51 +558,6 @@ functionptrtype interpret(int *keycode)
}
#endif /* ENABLE_BROWSER || ENABLE_HELP */
/* Parse the given keystring and return the corresponding keycode,
* or return -1 when the string is invalid. */
int keycode_from_string(const char *keystring)
{
if (keystring[0] == '^') {
if (keystring[2] == '\0') {
if (keystring[1] == '/')
return 31;
if (keystring[1] <= '_')
return keystring[1] - 64;
if (keystring[1] == '`')
return 0;
else
return -1;
} else if (strcasecmp(keystring, "^Space") == 0)
return 0;
else
return -1;
} else if (keystring[0] == 'M') {
if (keystring[1] == '-' && keystring[3] == '\0')
return tolower((unsigned char)keystring[2]);
if (strcasecmp(keystring, "M-Space") == 0)
return (int)' ';
else
return -1;
#ifdef ENABLE_NANORC
} else if (strncasecmp(keystring, "Sh-M-", 5) == 0 &&
'a' <= (keystring[5] | 0x20) && (keystring[5] | 0x20) <= 'z' &&
keystring[6] == '\0') {
shifted_metas = TRUE;
return (keystring[5] & 0x5F);
#endif
} else if (keystring[0] == 'F') {
int fn = atoi(&keystring[1]);
if (fn < 1 || fn > 24)
return -1;
return KEY_F0 + fn;
} else if (strcasecmp(keystring, "Ins") == 0)
return KEY_IC;
else if (strcasecmp(keystring, "Del") == 0)
return KEY_DC;
else
return -1;
}
/* These two tags are used elsewhere too, so they are global. */
/* TRANSLATORS: Try to keep the next two strings at most 10 characters. */
const char *exit_tag = N_("Exit");

View File

@ -1439,19 +1439,6 @@ size_t indent_length(const char *line)
#endif
#ifdef ENABLE_JUSTIFY
/* Copy a character from one place to another. */
void copy_character(char **from, char **to)
{
int charlen = char_length(*from);
if (*from == *to) {
*from += charlen;
*to += charlen;
} else
while (--charlen >= 0)
*((*to)++) = *((*from)++);
}
/* Return the length of the quote part of the given line. The "quote part"
* of a line is the largest initial substring matching the quoting regex. */
size_t quote_length(const char *line)
@ -1575,6 +1562,19 @@ void concat_paragraph(linestruct *line, size_t count)
}
}
/* Copy a character from one place to another. */
void copy_character(char **from, char **to)
{
int charlen = char_length(*from);
if (*from == *to) {
*from += charlen;
*to += charlen;
} else
while (--charlen >= 0)
*((*to)++) = *((*from)++);
}
/* In the given line, replace any series of blanks with a single space,
* but keep two spaces (if there are two) after any closing punctuation,
* and remove all blanks from the end of the line. Leave the first skip