diff --git a/msh.c b/msh.c index efba6a1ee..230d74f5a 100644 --- a/msh.c +++ b/msh.c @@ -3331,11 +3331,19 @@ void (*f)(); int key; { if (*wp != NULL) { - for (; *wp != NULL; wp++) + for (; *wp != NULL; wp++) { + if (isassign(*wp)) { + char *cp; + assign(*wp, COPYV); + for (cp = *wp; *cp != '='; cp++) + ; + *cp = '\0'; + } if (checkname(*wp)) (*f)(lookup(*wp)); else badid(*wp); + } } else putvlist(key, 1); } diff --git a/shell/msh.c b/shell/msh.c index efba6a1ee..230d74f5a 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -3331,11 +3331,19 @@ void (*f)(); int key; { if (*wp != NULL) { - for (; *wp != NULL; wp++) + for (; *wp != NULL; wp++) { + if (isassign(*wp)) { + char *cp; + assign(*wp, COPYV); + for (cp = *wp; *cp != '='; cp++) + ; + *cp = '\0'; + } if (checkname(*wp)) (*f)(lookup(*wp)); else badid(*wp); + } } else putvlist(key, 1); }