readline fix for do-lowercase-version; fix for reading here-documents from aliases

This commit is contained in:
Chet Ramey
2023-12-05 11:54:24 -05:00
parent d5ab50bc02
commit ba57a3e752
15 changed files with 171 additions and 12 deletions
+5 -1
View File
@@ -430,7 +430,11 @@ add_character:
{
f = cxt->keymap[c].function;
if (f == rl_do_lowercase_version)
f = cxt->keymap[_rl_to_lower (c)].function;
{
f = cxt->keymap[_rl_to_lower (c)].function;
if (f == rl_do_lowercase_version)
f = rl_insert;
}
}
if (f == rl_reverse_search_history)
+5 -1
View File
@@ -1124,7 +1124,11 @@ _rl_subseq_result (int r, Keymap map, int key, int got_subseq)
type = m[ANYOTHERKEY].type;
func = m[ANYOTHERKEY].function;
if (type == ISFUNC && func == rl_do_lowercase_version)
r = _rl_dispatch (_rl_to_lower ((unsigned char)key), map);
{
int newkey = _rl_to_lower ((unsigned char)key);
/* check that there is actually a lowercase version to avoid infinite recursion */
r = (newkey != key) ? _rl_dispatch (newkey, map) : 1;
}
else if (type == ISFUNC)
{
/* If we shadowed a function, whatever it is, we somehow need a