aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--etc/README3
-rw-r--r--generic/proof-shell.el5
-rw-r--r--generic/proof.el35
-rw-r--r--todo4
4 files changed, 30 insertions, 17 deletions
diff --git a/etc/README b/etc/README
index 2592516c..4662f711 100644
--- a/etc/README
+++ b/etc/README
@@ -10,3 +10,6 @@ lego Files for testing LEGO Proof General
isa Files for testing Isabelle Proof General
+README this file
+
+example test protocol for example proof script \ No newline at end of file
diff --git a/generic/proof-shell.el b/generic/proof-shell.el
index b2e6dd30..da88bf30 100644
--- a/generic/proof-shell.el
+++ b/generic/proof-shell.el
@@ -363,6 +363,9 @@ This is a list of tuples of the form (type . string). type is either
(incf ip))
(set-buffer proof-pbp-buffer)
(erase-buffer)
+ ;; Perhaps we ought to erase the proof-response-buffer at this
+ ;; point as well. It may contain an error message referring to
+ ;; an *earlier* state in the proof.
(insert (substring out 0 op))
(proof-display-and-keep-buffer proof-pbp-buffer)
@@ -491,6 +494,8 @@ we call `proof-shell-handle-error-hook'. "
(cdr proof-shell-delayed-output)))
(proof-display-and-keep-buffer proof-pbp-buffer)))
+ ;; Perhaps we should erase the buffer in proof-response-buffer, too?
+
;; We extract all text between text matching
;; `proof-shell-error-regexp' and the following prompt.
;; Alternatively one could higlight all output between the
diff --git a/generic/proof.el b/generic/proof.el
index 440c2ab8..ef3e68a6 100644
--- a/generic/proof.el
+++ b/generic/proof.el
@@ -151,21 +151,26 @@ The argument KBL is a list of tuples (k . f) where `k' is a keybinding
(defun proof-display-and-keep-buffer (buffer)
- "Display BUFFER and mark window according to `proof-window-dedicated-p'."
- (let ((window (get-buffer-window buffer 'visible)))
- (save-selected-window
- (save-excursion
- (display-buffer buffer)
- (set-window-dedicated-p (get-buffer-window buffer)
- proof-window-dedicated-p)
- (and window
- (progn (select-window window)
- ;; tms: I don't understand why the point in
- ;; proof-response-buffer is not at the end anyway.
- ;; Is there a superfluous save-excursion somewhere?
- (set-buffer buffer)
- (goto-char (point-max))
- (or (pos-visible-in-window-p) (recenter -1))))))))
+ "Display BUFFER and mark window according to `proof-window-dedicated-p'.
+
+Also ensures that point is visible."
+ (let (window)
+ (save-excursion
+ (set-buffer buffer)
+ (display-buffer buffer)
+ (setq window (get-buffer-window buffer 'visible))
+ (set-window-dedicated-p window proof-window-dedicated-p)
+ (and window
+ (save-selected-window
+ (select-window window)
+
+ ;; tms: I don't understand why the point in
+ ;; proof-response-buffer is not at the end anyway.
+ ;; Is there a superfluous save-excursion somewhere?
+ (goto-char (point-max))
+
+ (or (pos-visible-in-window-p (point) window)
+ (recenter -1)))))))
(defun proof-clean-buffer (buffer)
"Erase buffer and hide from display."
diff --git a/todo b/todo
index 55a6a73a..a870125b 100644
--- a/todo
+++ b/todo
@@ -14,8 +14,6 @@ X (Low) probably not worth wasting time on
* This is a list of things which need doing in the generic interface
====================================================================
-A* Fix display handling problems (tms, all week)
-
A* multiple files bug fix:
It can happen (in Isabelle) that the prover retracts a file
which asks for another to be retracted which is *not* on
@@ -73,6 +71,8 @@ C Remove "FIXME notes" which are just notes I've put in about old
C Check on all FIXME notes.
+C automise testing procedures in etc/
+
C Write proof-define-derived-mode which automatically adds a
call back hook somehow. Propose this to maintainer of derived.el.
(1.5hrs)