Closed alleystoughton closed 11 months ago
This only happens when opening the uci file for the second time in the same emacs session. I noticed that quitting emacs between opening uci files prevents this from happening.
I could not reproduce the race condition. However, same errors happen when uc-frame is deleted (red x button clicked). Somehow selecting a deleted frame does not result in exception, instead the code that fills current buffer, which should be the buffer shown in uc-frame, instead fills script buffer, and we get parsing exception from ucInterpreter. The ucInterpreter.el now checks if uc-frame is among the living frames before any buffer changes are made. Please see if this also solves race condition. Note that once uc-frame is deleted it will never be resurrected (we assume the user does not want to look at uc code).
I still have the race condition, but I don't think this is a problem. The user will learn to let the first load
bring up the UC file frame before continuing.
When proof general starts up, and a load is done, I sometimes find that the
var
command infails, saying
text
was already added. But when I redo theload
, it works. I guess this is a proof general thing where the addition of the variable was run through the interpreter, but proof general doesn't know it should have advanced past it.