X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;ds=sidebyside;f=interactive.c;h=27763eb3c16a819c39479e9411c7fd6109571396;hb=7867cd5da7ace0abb9f3de447aee4057f5e67a12;hp=a145b0dfc56268a8e90e1b011147b282756eab59;hpb=b654beb95ef600a3b1bed5b5a5e079bb17d02c8a;p=paraslash.git diff --git a/interactive.c b/interactive.c index a145b0df..27763eb3 100644 --- a/interactive.c +++ b/interactive.c @@ -183,6 +183,11 @@ void i9e_attach_to_stdout(struct btr_node *producer) EMBRACE(.name = "interactive_stdout", .parent = producer)); } +static void wipe_bottom_line(void) +{ + fprintf(i9ep->stderr_stream, "\r%s\r", i9ep->empty_line); +} + /** * Reset the terminal and save the in-memory command line history. * @@ -193,14 +198,9 @@ void i9e_close(void) char *hf = i9ep->ici->history_file; rl_deprep_terminal(); - fprintf(i9ep->stderr_stream, "\n"); if (hf) write_history(hf); -} - -static void wipe_bottom_line(void) -{ - fprintf(i9ep->stderr_stream, "\r%s\r", i9ep->empty_line); + wipe_bottom_line(); } static void clear_bottom_line(void) @@ -297,7 +297,7 @@ static void i9e_post_select(struct sched *s, struct task *t) rm_btrn: btr_remove_node(&i9ep->stdout_btrn); rl_set_prompt(i9ep->ici->prompt); - rl_forced_update_display(); + rl_redisplay(); out: t->error = 0; } @@ -411,8 +411,7 @@ __printf_2_3 void i9e_log(int ll, const char* fmt,...) if (ll < i9ep->ici->loglevel) return; - if (!i9ep->stdout_btrn) - clear_bottom_line(); + clear_bottom_line(); va_start(argp, fmt); vfprintf(i9ep->stderr_stream, fmt, argp); va_end(argp);