From 894c45bef4de37d2f035ba064c9b2d57c7820255 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Wed, 6 May 2015 22:01:48 +0200 Subject: degesch: fix readline initialization --- degesch.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/degesch.c b/degesch.c index 851971c..0b7ee9c 100644 --- a/degesch.c +++ b/degesch.c @@ -220,17 +220,23 @@ static char **app_readline_completion (const char *text, int start, int end); static void input_start (struct input *self, const char *program_name) { - (void) program_name; - using_history (); // This can cause memory leaks, or maybe even a segfault. Funny, eh? stifle_history (HISTORY_LIMIT); - rl_readline_name = PROGRAM_NAME; + const char *slash = strrchr (program_name, '/'); + rl_readline_name = slash ? ++slash : program_name; rl_startup_hook = app_readline_init; rl_catch_sigwinch = false; - rl_callback_handler_install (self->prompt, on_readline_input); + + // TODO: global constant + rl_basic_word_break_characters = " \t"; + rl_completer_word_break_characters = NULL; rl_attempted_completion_function = app_readline_completion; + + hard_assert (self->prompt != NULL); + rl_callback_handler_install (self->prompt, on_readline_input); + self->prompt_shown = 1; self->active = true; } @@ -5531,6 +5537,7 @@ main (int argc, char *argv[]) init_poller_events (&ctx); init_buffers (&ctx); + refresh_prompt (&ctx); input_start (&ctx.input, argv[0]); buffer_activate (&ctx, ctx.server.buffer); -- cgit v1.2.3-70-g09d2