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