Hi, Jürgen,
Just to keep you updated, what seems to be happening is that after a few rounds opening and closing external editor processes, the
CIN << uni;
in LineEditContext::insert_char(Unicode uni) isn't getting the character to the screen. I still haven't figured out why, but I'm still hacking at it. It doesn't appear to be directly related to the EINTR patch in LineInput::get_uni(), though at least stdin has to be cleared when errno == EINTR.
-- Chris
On 02/08/18 13:12, Chris Moller wrote:
I agree with you. I'm not all that pleased
with it either, mostly because I don't understand why it
works--it was something suggested by someone on
StackOverflow.
Whatever is going on seems to be the result of
the EINTR out of the fgetc()--I'll try to look more closely at
that. I'll also try your save-state suggestion. It seems to
be a highly intermittent thing, which, in combination with
fork()/exec()/terminate, possibly suggests a race condition
somewhere.
--Chris