diff --git a/bin/sh/histedit.c b/bin/sh/histedit.c index 3ca8a0bcefa7..0d40e1c9ec1a 100644 --- a/bin/sh/histedit.c +++ b/bin/sh/histedit.c @@ -50,6 +50,7 @@ static char sccsid[] = "@(#)histedit.c 8.2 (Berkeley) 5/4/95"; /* * Editline and history functions (and glue). */ +#include "alias.h" #include "shell.h" #include "parser.h" #include "var.h" @@ -671,6 +672,14 @@ static char goto out; matches = rmatches; } + for (const struct alias *ap = NULL; (ap = iteralias(ap)) != NULL;) { + if (strncmp(ap->name, text, curpos) != 0) + continue; + rmatches = add_match(matches, ++i, &size, strdup(ap->name)); + if (rmatches == NULL) + goto out; + matches = rmatches; + } out: free(free_path); if (i == 0) {