aboutsummaryrefslogtreecommitdiffhomepage
path: root/generic
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>1999-11-13 15:01:13 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>1999-11-13 15:01:13 +0000
commitaaea65e54a7baa5575f612487df6041cfc807e35 (patch)
tree8f25a1e2490681b0f6697f384f5ed82db272aefb /generic
parent2f3a49dab41d79e386a00a6d658a6de6df89aaee (diff)
Beginnings of improved version of goal..no save regions.
Diffstat (limited to 'generic')
-rw-r--r--generic/proof-script.el20
1 files changed, 16 insertions, 4 deletions
diff --git a/generic/proof-script.el b/generic/proof-script.el
index d237ab5d..f5a81ca0 100644
--- a/generic/proof-script.el
+++ b/generic/proof-script.el
@@ -955,6 +955,8 @@ the ACS is marked in the current buffer. If CMD does not match any,
;;FIXME tms: needs implementation
nil)
+(defvar proof-previous-proof-completed nil
+ "Copy of proof-shell-proof-completed from previous scripting command.")
(defun proof-done-advancing (span)
"The callback function for assert-until-point."
@@ -963,6 +965,8 @@ the ACS is marked in the current buffer. If CMD does not match any,
(if (not (span-live-p span))
;; FIXME da: Sometimes this function is called with a destroyed
;; extent as argument. When? Isn't this a bug?
+ ;; (one case would be if the buffer is killed while
+ ;; a proof is completing)
;; NB: this patch doesn't work! Are spans being destroyed
;; sometime *during* this code??
(proof-debug "Proof General idiosyncrasy: proof-done-advancing called with a dead span!")
@@ -973,20 +977,21 @@ the ACS is marked in the current buffer. If CMD does not match any,
(proof-set-queue-start end)
(setq cmd (span-property span 'cmd))
(cond
- ;; Comments just get highlighted
+ ;; * Comments just get highlighted
((eq (span-property span 'type) 'comment)
(set-span-property span 'mouse-face 'highlight))
;; "ACS" for future implementation
;; ((proof-check-atomic-sequents-lists span cmd end))
- ;; Save command seen, now we'll amalgamate spans.
+ ;; * Save command seen, now we'll amalgamate spans.
((and (proof-string-match proof-save-command-regexp cmd)
(funcall proof-really-save-command-p span cmd))
(let (nam gspan next)
;; First, clear the proof completed flag
(setq proof-shell-proof-completed nil)
+ (setq proof-previous-proof-completed nil)
;; Try to set the name of the theorem from the save
(and proof-save-with-hole-regexp
@@ -1034,10 +1039,17 @@ the ACS is marked in the current buffer. If CMD does not match any,
(and proof-lift-global
(funcall proof-lift-global gspan)))))
- ;; Goal command just processed, no nested goals allowed.
+ ;; NEW CASE:
+ ;; Proof completed in *previous* command, no nested goals
+ ;; allowed. We make a fake goal-save from any previous
+ ;; goal to the command before the present one.
+
+
+
+ ;; * Goal command just processed, no nested goals allowed.
;; We make a fake goal-save from any previous
;; goal to the command before the present one.
- ;; (This is a hack for Isabelle to allow smooth
+ ;; (This is a hack for Isabelle and LEGO to allow smooth
;; undoing in proofs which have no "qed" statements).
;; FIXME: abstract common part of this case and case above,
;; to improve code by making a useful subroutine.