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



Reply via email to