From 493211dbd924520e6842f3e5d7c8fd1b3cbf1485 Mon Sep 17 00:00:00 2001 From: Clément Pit--Claudel Date: Fri, 10 Jun 2016 17:15:29 -0400 Subject: Reset proof-script-buffer to nil if -ready-prover fails Fixes #65 --- generic/proof-script.el | 8 ++++++-- generic/proof-shell.el | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'generic') diff --git a/generic/proof-script.el b/generic/proof-script.el index 3a24595e..a9c55353 100644 --- a/generic/proof-script.el +++ b/generic/proof-script.el @@ -1240,12 +1240,16 @@ activation is considered to have failed and an error is given." (assert (null proof-script-buffer) "Bug in proof-activate-scripting: deactivate failed.") - ;; Set the active scripting buffer, and initialise regions + ;; Set the active scripting buffer (setq proof-script-buffer (current-buffer)) ;; Fire up the prover (or check it's going the right way). - (proof-shell-ready-prover queuemode) + (condition-case-unless-debug err + (proof-shell-ready-prover queuemode) + (error (setq proof-script-buffer nil) + (signal (car err) (cdr err)))) + ;; Initialise regions (if (proof-locked-region-empty-p) ; leave alone if non-empty (proof-init-segmentation)) diff --git a/generic/proof-shell.el b/generic/proof-shell.el index 4f89963e..64eee4c8 100644 --- a/generic/proof-shell.el +++ b/generic/proof-shell.el @@ -379,7 +379,10 @@ process command." (setq proof-shell-buffer (get-buffer (concat "*" proc "*"))) (unless (proof-shell-live-buffer) - ;; Give error now if shell buffer isn't live (process exited) + ;; Give error now if shell buffer isn't live (process exited). We also + ;; set the process filter to nil to avoid processing error messages + ;; related to the process exit. + (set-process-filter (get-buffer-process proof-shell-buffer) nil) (setq proof-shell-buffer nil) (error "Starting process: %s..failed" prog-command-line))) -- cgit v1.2.3