Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
prooftree: wait for show-goal commands at proof end
This commit solves the following problem: At the end of a proof with proof-tree display, a number of show goal requests from prooftree must possibly be processed, before prooftree sends the confirm-proof-complete message to signal that Proof General can continue. For Coq these show goal commands must be sent to Coq before the dependent evar line is switched off and the result must be processed by Proof General, therefore before `proof-tree-external-display' is switched off. Proof General must therefore stop processing the queue region after the command that finished the proof until all show goals are processed, the dependend evar line is off and `proof-tree-external-display' is nil again. This is achieved by only keeping the priority actions on proof-action-list and moving whatever remains to proof-tree--delayed-actions and setting proof-second-action-list-active. This way only priority actions (read show goal commands) are processed until prooftree signals completion and the stuff on proof-tree--delayed-actions is moved back. To implement this, I introduced (again) an urgent action (proof-tree-check-proof-finish), which checks for the end of the proof or the arrival of the last priority action connected with the current proof-tree display (tagged 'proof-tree-last-item and queued by the call back proof-tree-confirm-proof-complete).
- Loading branch information