aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Aspinall1999-11-29 12:46:23 +0000
committerDavid Aspinall1999-11-29 12:46:23 +0000
commitdebfa48c5cda791a4e8939918936f3ed5713d4d2 (patch)
treed3031cfaeea0d630c5c34349a3aec30ff4154a52
parenta166643ad31a9a1be7c546709c8c2d59d056873a (diff)
Comments about improved handling of urgent message markers, following
jrl's bug report about duplication of occasional urgent messages. The correct fix is to set proof-shell-eager-annotation-start-length properly.
-rw-r--r--generic/proof-shell.el20
1 files changed, 17 insertions, 3 deletions
diff --git a/generic/proof-shell.el b/generic/proof-shell.el
index 4fbdceee..b0c09c52 100644
--- a/generic/proof-shell.el
+++ b/generic/proof-shell.el
@@ -1096,6 +1096,11 @@ proof-shell-exec-loop, to process the next item."
;; before using proof-shell-insert.
(set-marker proof-marker (point))
+ ;; FIXME: possible improvement. Make for post 3.0 releases
+ ;; in case of problems.
+ ;; (set-marker proof-shell-urgent-message-marker (point))
+ ;; (set-marker proof-shell-urgent-message-scanner (point))
+
;; FIXME da: this space fudge is actually a visible hack:
;; the response string begins with a space and a newline.
(insert proof-shell-insert-space-fudge)
@@ -1443,12 +1448,21 @@ This is a subroutine of proof-shell-filter."
;; If the search for the starting annotation was unsuccessful,
;; set the scanner marker to the limit of the last search for
;; the starting annotation, less the maximal length of the
- ;; annotation.
+ ;; annotation.
(set-marker
proof-shell-urgent-message-scanner
(min
- (- (point) proof-shell-eager-annotation-start-length)
- (1- (process-mark (get-buffer-process (current-buffer))))))
+ ;; NB: possible fix here not included: a test to be sure we
+ ;; don't go back before the start of the command! This
+ ;; fixes a minor problem which is possible duplication
+ ;; of urgent messages which are less than
+ ;; proof-shell-eager-annotation-start-length characters.
+ ;; But if proof-general is configured properly, there
+ ;; should never be any such messages!
+ ;; (max
+ ;; (marker-position proof-marker)
+ (- (point) proof-shell-eager-annotation-start-length)
+ (1- (process-mark (get-buffer-process (current-buffer)))))))
;; Otherwise, the search for the ending annotation was
;; unsuccessful, so we set the scanner marker to the start of
;; the annotation found.