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.
Now that I've learnt what exactly these characters are and how they
ended up in attribute strings, we can just eliminate them and disable
`backlog_helper_strip_formatting`. Saner defaults, again.
I've also added skipping of terminfo delay sequences, so now it's less
of an issue to pipe raw attribute sequences into backlog helpers.
Upstreamed after who knows how long, in a slightly modified form.
The marker looks fairly ugly without this and defaults should be
desirable.
It's possible to get the previous behaviour by resetting the separator
character in the configuration to an empty string. It might be
a better idea in general to just disallow this value with a special
validation callback, so that there's only one way to do it.
However given that without fancy-prompt.lua, an optional plugin,
the long line stands out considerably, it might actually be a good
idea to keep the old behaviour as the default. I'm torn.
Right now we don't care about the situation where the string occupies
more than one terminal cell or is some Unicode BS. User's problem.
I've come to the conclusion that copyright mostly just stands in the way
of software development. In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.
The updated mail address, also used in my author/committer lines,
is shorter and looks nicer. People rarely interact anyway.
Reliability enhancement for Linux.
This feature was created for ponymap, however we don't care about an
extra syscall in most places. Doing it right even saves lines.
- send a QUIT on C-c, too
- shut down the connection on /disconnect, too
Connection management is one of the few fucked up parts
that remain in that state for historical reasons.