hush: optional support for history saving
function old new delta hush_main 945 995 +50 Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
parent
5a0d899ee4
commit
99862cbfad
@ -78,9 +78,9 @@ config FEATURE_EDITING_HISTORY
|
|||||||
config FEATURE_EDITING_SAVEHISTORY
|
config FEATURE_EDITING_SAVEHISTORY
|
||||||
bool "History saving"
|
bool "History saving"
|
||||||
default y
|
default y
|
||||||
depends on ASH && FEATURE_EDITING
|
depends on FEATURE_EDITING
|
||||||
help
|
help
|
||||||
Enable history saving in ash shell.
|
Enable history saving in shells.
|
||||||
|
|
||||||
config FEATURE_TAB_COMPLETION
|
config FEATURE_TAB_COMPLETION
|
||||||
bool "Tab completion"
|
bool "Tab completion"
|
||||||
|
20
shell/hush.c
20
shell/hush.c
@ -146,6 +146,13 @@
|
|||||||
//config: from stdin just like a shell script from a file.
|
//config: from stdin just like a shell script from a file.
|
||||||
//config: No prompt, no PS1/PS2 magic shell variables.
|
//config: No prompt, no PS1/PS2 magic shell variables.
|
||||||
//config:
|
//config:
|
||||||
|
//config:config HUSH_SAVEHISTORY
|
||||||
|
//config: bool "Save command history to .hush_history"
|
||||||
|
//config: default y
|
||||||
|
//config: depends on HUSH_INTERACTIVE && FEATURE_EDITING_SAVEHISTORY
|
||||||
|
//config: help
|
||||||
|
//config: Enable history saving in hush.
|
||||||
|
//config:
|
||||||
//config:config HUSH_JOB
|
//config:config HUSH_JOB
|
||||||
//config: bool "Job control"
|
//config: bool "Job control"
|
||||||
//config: default y
|
//config: default y
|
||||||
@ -7415,7 +7422,20 @@ int hush_main(int argc, char **argv)
|
|||||||
|
|
||||||
#if ENABLE_FEATURE_EDITING
|
#if ENABLE_FEATURE_EDITING
|
||||||
G.line_input_state = new_line_input_t(FOR_SHELL);
|
G.line_input_state = new_line_input_t(FOR_SHELL);
|
||||||
|
# if defined MAX_HISTORY && MAX_HISTORY > 0 && ENABLE_HUSH_SAVEHISTORY
|
||||||
|
{
|
||||||
|
const char *hp = get_local_var_value("HISTFILE");
|
||||||
|
if (!hp) {
|
||||||
|
hp = get_local_var_value("HOME");
|
||||||
|
if (hp) {
|
||||||
|
G.line_input_state->hist_file = concat_path_file(hp, ".hush_history");
|
||||||
|
//set_local_var(xasprintf("HISTFILE=%s", ...));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
G.global_argc = argc;
|
G.global_argc = argc;
|
||||||
G.global_argv = argv;
|
G.global_argv = argv;
|
||||||
/* Initialize some more globals to non-zero values */
|
/* Initialize some more globals to non-zero values */
|
||||||
|
Loading…
Reference in New Issue
Block a user