From 28a78ab62c011820d91ab9edc5ae45196d813a13 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 16 Feb 2001 20:26:50 +0000 Subject: [PATCH] Several features were hard coded on. Stop that. List tab completion as working (thanks Vladimir!) and taking 4k. -Erik --- Config.h | 9 ++++----- cmdedit.c | 20 ++++++++------------ shell/cmdedit.c | 20 ++++++++------------ 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/Config.h b/Config.h index 3fffb673c..087c727c7 100644 --- a/Config.h +++ b/Config.h @@ -262,10 +262,9 @@ // Only relevant if BB_SH is enabled. #define BB_FEATURE_SH_APPLETS_ALWAYS_WIN // -// Enable tab completion in the shell (not yet -// working very well -- so don't turn this on) -// Only relevant if BB_SH is enabled. -#define BB_FEATURE_SH_TAB_COMPLETION +// Enable tab completion in the shell. This is now working quite nicely. +// This feature adds a bit over 4k. Only relevant if BB_SH is enabled. +//#define BB_FEATURE_SH_TAB_COMPLETION // // Enable a simpler shell prompt of the form "path #" // instead of the default "[username@hostname path]#" @@ -277,7 +276,7 @@ #define BB_FEATURE_SH_SIMPLE_PROMPT // // Attempts to match usernames in a ~-prefixed path -//#define BB_FEATURE_USERNAME_COMPLETION +//#define BB_FEATURE_SH_USERNAME_COMPLETION // //Turn on extra fbset options //#define BB_FEATURE_FBSET_FANCY diff --git a/cmdedit.c b/cmdedit.c index 6fd80fd21..097918925 100644 --- a/cmdedit.c +++ b/cmdedit.c @@ -41,12 +41,8 @@ #else -#define BB_FEATURE_SH_COMMAND_EDITING -#define BB_FEATURE_SH_TAB_COMPLETION -#define BB_FEATURE_USERNAME_COMPLETION -#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT -#define BB_FEATURE_BASH_STYLE_PROMT -#define BB_FEATURE_CLEAN_UP +//#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT +//#define BB_FEATURE_BASH_STYLE_PROMT #define TRUE 1 #define FALSE 0 @@ -57,10 +53,10 @@ #ifdef BB_FEATURE_SH_COMMAND_EDITING #ifndef BB_FEATURE_SH_TAB_COMPLETION -#undef BB_FEATURE_USERNAME_COMPLETION +#undef BB_FEATURE_SH_USERNAME_COMPLETION #endif -#if defined(BB_FEATURE_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT) +#if defined(BB_FEATURE_SH_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT) #define BB_FEATURE_GETUSERNAME_AND_HOMEDIR #endif @@ -626,7 +622,7 @@ static int is_execute(const struct stat *st) return FALSE; } -#ifdef BB_FEATURE_USERNAME_COMPLETION +#ifdef BB_FEATURE_SH_USERNAME_COMPLETION static char **username_tab_completion(char *ud, int *num_matches) { @@ -688,7 +684,7 @@ static char **username_tab_completion(char *ud, int *num_matches) return (matches); } } -#endif /* BB_FEATURE_USERNAME_COMPLETION */ +#endif /* BB_FEATURE_SH_USERNAME_COMPLETION */ enum { FIND_EXE_ONLY = 0, @@ -785,7 +781,7 @@ static char **exe_n_cwd_tab_completion(char *command, int *num_matches, strcpy(dirbuf, command); /* set dir only */ dirbuf[(pfind - command) + 1] = 0; -#ifdef BB_FEATURE_USERNAME_COMPLETION +#ifdef BB_FEATURE_SH_USERNAME_COMPLETION if (dirbuf[0] == '~') /* ~/... or ~user/... */ username_tab_completion(dirbuf, 0); #endif @@ -1066,7 +1062,7 @@ static void input_tab(int *lastWasTab) /* Free up any memory already allocated */ input_tab(0); -#ifdef BB_FEATURE_USERNAME_COMPLETION +#ifdef BB_FEATURE_SH_USERNAME_COMPLETION /* If the word starts with `~' and there is no slash in the word, * then try completing this word as a username. */ diff --git a/shell/cmdedit.c b/shell/cmdedit.c index 6fd80fd21..097918925 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c @@ -41,12 +41,8 @@ #else -#define BB_FEATURE_SH_COMMAND_EDITING -#define BB_FEATURE_SH_TAB_COMPLETION -#define BB_FEATURE_USERNAME_COMPLETION -#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT -#define BB_FEATURE_BASH_STYLE_PROMT -#define BB_FEATURE_CLEAN_UP +//#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT +//#define BB_FEATURE_BASH_STYLE_PROMT #define TRUE 1 #define FALSE 0 @@ -57,10 +53,10 @@ #ifdef BB_FEATURE_SH_COMMAND_EDITING #ifndef BB_FEATURE_SH_TAB_COMPLETION -#undef BB_FEATURE_USERNAME_COMPLETION +#undef BB_FEATURE_SH_USERNAME_COMPLETION #endif -#if defined(BB_FEATURE_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT) +#if defined(BB_FEATURE_SH_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT) #define BB_FEATURE_GETUSERNAME_AND_HOMEDIR #endif @@ -626,7 +622,7 @@ static int is_execute(const struct stat *st) return FALSE; } -#ifdef BB_FEATURE_USERNAME_COMPLETION +#ifdef BB_FEATURE_SH_USERNAME_COMPLETION static char **username_tab_completion(char *ud, int *num_matches) { @@ -688,7 +684,7 @@ static char **username_tab_completion(char *ud, int *num_matches) return (matches); } } -#endif /* BB_FEATURE_USERNAME_COMPLETION */ +#endif /* BB_FEATURE_SH_USERNAME_COMPLETION */ enum { FIND_EXE_ONLY = 0, @@ -785,7 +781,7 @@ static char **exe_n_cwd_tab_completion(char *command, int *num_matches, strcpy(dirbuf, command); /* set dir only */ dirbuf[(pfind - command) + 1] = 0; -#ifdef BB_FEATURE_USERNAME_COMPLETION +#ifdef BB_FEATURE_SH_USERNAME_COMPLETION if (dirbuf[0] == '~') /* ~/... or ~user/... */ username_tab_completion(dirbuf, 0); #endif @@ -1066,7 +1062,7 @@ static void input_tab(int *lastWasTab) /* Free up any memory already allocated */ input_tab(0); -#ifdef BB_FEATURE_USERNAME_COMPLETION +#ifdef BB_FEATURE_SH_USERNAME_COMPLETION /* If the word starts with `~' and there is no slash in the word, * then try completing this word as a username. */