Patch from vodz, based on bug report from Richard Kojedzinszky:
Richard,
>I have a problem, which I can reproduce now. I am using pre7 version of
>busybox, and the tab completion works fine. I mean, with an empty command
>line I press the TAB twice, and ash shows me the available commands. But
>when i process the profile file below, as
> $ . /etc/profile
>then it stops working, and the double-tab lists the directories available
>from the cwd, and not the commands. Has someone else meet this problem
>before, or am i doing something wrong?
>
>This is my '/etc/profile':
>- ---
># System profile
>
>PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
>export PATH
>trap ":" INT QUIT TERM
>
>export PS1="\h \w # "
Thanks. Patch attached.
--w
vodz
diff --git a/shell/ash.c b/shell/ash.c
index 1fe1e82..e27d2e0 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -4126,9 +4126,6 @@
firstchange = 0;
clearcmdentry(firstchange);
builtinloc = idx_bltin;
-#ifdef CONFIG_FEATURE_COMMAND_TAB_COMPLETION
- cmdedit_path_lookup = newval;
-#endif
}
@@ -6026,6 +6023,7 @@
if (!iflag || parsefile->fd)
nr = safe_read(parsefile->fd, buf, BUFSIZ - 1);
else {
+ cmdedit_path_lookup = pathval();
nr = cmdedit_read_input((char *) cmdedit_prompt, buf);
if(nr == 0) {
/* Ctrl+C presend */