diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2020-10-06 13:37:07 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2020-10-06 13:42:27 +0200 |
commit | d78cf10f04723b513e8b7b065a878643de777ed8 (patch) | |
tree | 9e1e92a5518be5362af2c509682740a01d101936 | |
parent | 572a7cb8044c896f6c3701e188ca38e3807da064 (diff) | |
download | xK-d78cf10f04723b513e8b7b065a878643de777ed8.tar.gz xK-d78cf10f04723b513e8b7b065a878643de777ed8.tar.xz xK-d78cf10f04723b513e8b7b065a878643de777ed8.zip |
degesch: fix prompt not showing up after change
When a backlog helper was running and the prompt changed,
it failed to restore within input_rl_show().
Since before input_rl_show() is called the prompt is empty
and in input_rl__restore() it will be changed to the new
version, just skip invoking any Readline functions within
input_rl_set_prompt() when the prompt is hidden. Simple
and straight-forward.
This bug is what I hinted at in the previous commit.
-rw-r--r-- | degesch.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -321,17 +321,15 @@ input_rl_set_prompt (void *input, char *prompt) struct input_rl *self = input; cstr_set (&self->prompt, prompt); - if (!self->active) + if (!self->active || self->prompt_shown <= 0) return; // First reset the prompt to work around a bug in readline rl_set_prompt (""); - if (self->prompt_shown > 0) - rl_redisplay (); + rl_redisplay (); rl_set_prompt (self->prompt); - if (self->prompt_shown > 0) - rl_redisplay (); + rl_redisplay (); } static void |