aboutsummaryrefslogtreecommitdiff
path: root/generic
diff options
context:
space:
mode:
authorDavid Aspinall2008-01-15 12:55:45 +0000
committerDavid Aspinall2008-01-15 12:55:45 +0000
commitb6df2a92a13b5d4ef1ca846be8e1fafb40be4358 (patch)
treef15138eec5c49c3654a1555fea27e879a02fead5 /generic
parentd243de19ec0e5c57e979a34df0229d7fc02f94a5 (diff)
New files.
Diffstat (limited to 'generic')
-rw-r--r--generic/pg-vars.el154
1 files changed, 154 insertions, 0 deletions
diff --git a/generic/pg-vars.el b/generic/pg-vars.el
new file mode 100644
index 00000000..620dbacb
--- /dev/null
+++ b/generic/pg-vars.el
@@ -0,0 +1,154 @@
+;;; pg-custom.el --- Proof General global variables
+;;
+;; Copyright (C) 2008 LFCS Edinburgh.
+;; Author: David Aspinall <David.Aspinall@ed.ac.uk> and others
+;; License: GPL (GNU GENERAL PUBLIC LICENSE)
+;;
+;;; Commentary:
+;;
+;; Global variables used in several files.
+;;
+;;
+
+;;; Code:
+
+;;;
+;;; Early variables
+;;;
+(defvar proof-assistant-cusgrp nil
+ "Symbol for the customization group of the user options for the proof assistant.
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site, from the name given in
+proof-assistant-table.")
+
+(defvar proof-assistant-internals-cusgrp nil
+ "Symbol for the customization group of the PG internal settings proof assistant.
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site, from the name given in
+proof-assistant-table.")
+
+(defvar proof-assistant ""
+ "Name of the proof assistant Proof General is using.
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site, from names given in proof-assistant-table.")
+
+(defvar proof-assistant-symbol nil
+ "Symbol for the proof assistant Proof General is using.
+Used for automatic configuration based on standard variable names.
+Settings will be found by looking for names beginning with this
+symbol as a prefix.
+Non-nil indicates PG has been initialised for an assistant.
+If this is nil, the hook functions in `proof-ready-for-assistant-hook'
+are yet to be run.
+
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site, from the symbols given in
+`proof-assistant-table'.")
+
+(defvar proof-mode-for-shell nil
+ "Mode function for proof shell buffers.
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site to <PA>-shell-mode.")
+
+(defvar proof-mode-for-response nil
+ "Mode function for proof response buffer (and trace buffer, if used).
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site to <PA>-response-mode.")
+
+(defvar proof-mode-for-goals nil
+ "Mode for proof state display buffers.
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site to <PA>-goals-mode.")
+
+(defvar proof-mode-for-script nil
+ "Mode for proof script buffers.
+Do not change this variable! It is set automatically by the mode
+stub defined in proof-site to <PA>-mode.")
+
+(defvar proof-ready-for-assistant-hook nil
+ "Hook functions to run after PG is configured for a proof assistant.
+These functions allow late initialisation, once the choice of prover
+has been set.")
+
+;;;
+;;; Later variables
+;;; (could be separated to cut down Emacs env pollution)
+;;;
+
+(defvar proof-shell-busy nil
+ "A lock indicating that the proof shell is processing.
+When this is non-nil, proof-shell-ready-prover will give
+an error.")
+
+(defvar proof-included-files-list nil
+ "List of files currently included in proof process.
+This list contains files in canonical truename format
+\(see `file-truename').
+
+Whenever a new file is being processed, it gets added to this list
+via the proof-shell-process-file configuration settings.
+When the prover retracts a file, this list is resynchronised via the
+proof-shell-retract-files-regexp and proof-shell-compute-new-files-list
+configuration settings.
+
+Only files which have been *fully* processed should be included here.
+Proof General itself will automatically add the filenames of a script
+buffer which has been completely read when scripting is deactivated.
+It will automatically remove the filename of a script buffer which
+is completely unread when scripting is deactivated.
+
+NB: Currently there is no generic provision for removing files which
+are only partly read-in due to an error, so ideally the proof assistant
+should only output a processed message when a file has been successfully
+read.")
+
+(defvar proof-script-buffer nil
+ "The currently active scripting buffer or nil if none.")
+
+(defvar proof-previous-script-buffer nil
+ "Previous value of proof-script-buffer, recorded when scripting turned off.
+This can be used to help multiple file handling.")
+
+(defvar proof-shell-buffer nil
+ "Process buffer where the proof assistant is run.")
+
+(defvar proof-goals-buffer nil
+ "The goals buffer.")
+
+(defvar proof-response-buffer nil
+ "The response buffer.")
+
+(defvar proof-trace-buffer nil
+ "A tracing buffer for storing tracing output from the proof shell.
+See `proof-shell-trace-output-regexp' for details.")
+
+(defvar proof-thms-buffer nil
+ "A buffer for displaying a list of theorems from the proof assistant.
+See `proof-shell-thm-display-regexp' for details.")
+
+(defvar proof-shell-error-or-interrupt-seen nil
+ "Flag indicating that an error or interrupt has just occurred.
+Set to 'error or 'interrupt if one was observed from the proof
+assistant during the last group of commands.")
+
+(defvar pg-response-next-error nil
+ "Error counter in response buffer to count for next error message.")
+
+(defvar proof-shell-proof-completed nil
+ "Flag indicating that a completed proof has just been observed.
+If non-nil, the value counts the commands from the last command
+of the proof (starting from 1).")
+
+;; TODO da: remove proof-terminal-string. At the moment some
+;; commands need to have the terminal string, some don't.
+;; It's used variously in proof-script and proof-shell, which
+;; is another mess. [Shell mode implicitly assumes script mode
+;; has been configured].
+;; We should assume commands are terminated at the specific level.
+
+(defvar proof-terminal-string nil
+ "End-of-line string for proof process.")
+
+
+(provide 'pg-vars)
+;; pg-vars.el ends here