Several features were hard coded on. Stop that. List tab completion
authorEric Andersen <andersen@codepoet.org>
Fri, 16 Feb 2001 20:26:50 +0000 (20:26 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 16 Feb 2001 20:26:50 +0000 (20:26 -0000)
as working (thanks Vladimir!) and taking 4k.
 -Erik

Config.h
cmdedit.c
shell/cmdedit.c

index 3fffb67..087c727 100644 (file)
--- a/Config.h
+++ b/Config.h
 // 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]#"
 #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
index 6fd80fd..0979189 100644 (file)
--- a/cmdedit.c
+++ b/cmdedit.c
 
 #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
 #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. */
 
index 6fd80fd..0979189 100644 (file)
 
 #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
 #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. */