aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--etc/ProofGeneral.spec4
-rw-r--r--generic/proof-site.el393
-rw-r--r--html/devel.html38
-rw-r--r--html/develdownload.php18
4 files changed, 30 insertions, 423 deletions
diff --git a/etc/ProofGeneral.spec b/etc/ProofGeneral.spec
index abd55689..0c2d9b2b 100644
--- a/etc/ProofGeneral.spec
+++ b/etc/ProofGeneral.spec
@@ -1,12 +1,12 @@
Summary: Proof General, Emacs interface for Proof Assistants
Name: ProofGeneral
-Version: 3.4pre020718
+Version: 3.4pre020719
Release: 1
Group: Applications/Editors/Emacs
Copyright: LFCS, University of Edinburgh
Url: http://www.proofgeneral.org/
Packager: David Aspinall <da@dcs.ed.ac.uk>
-Source: http://www.proofgeneral.org/ProofGeneral-3.4pre020718.tar.gz
+Source: http://www.proofgeneral.org/ProofGeneral-3.4pre020719.tar.gz
BuildRoot: /tmp/ProofGeneral-root
PreReq: /sbin/install-info
Prefixes: /usr/share/emacs /usr/bin /usr/info
diff --git a/generic/proof-site.el b/generic/proof-site.el
index d4e83b25..e69de29b 100644
--- a/generic/proof-site.el
+++ b/generic/proof-site.el
@@ -1,393 +0,0 @@
-;; proof-site.el -- Loading stubs for Proof General.
-;; Configuration for site and choice of provers.
-;;
-;; Copyright (C) 1998-2002 LFCS Edinburgh.
-;; Author: David Aspinall <da@dcs.ed.ac.uk>
-;; License: GPL (GNU GENERAL PUBLIC LICENSE)
-;;
-;; $Id$
-;;
-;; NB: Normally you will not need to edit this file.
-;;
-
-(if (featurep 'proof-site)
- nil ; don't load twice
-
-(if (or (not (boundp 'emacs-major-version))
- (< emacs-major-version 20))
- (error "Proof General is not compatible with Emacs %s" emacs-version))
-
-(defgroup proof-general nil
- "Customization of Proof General."
- :group 'external
- :group 'processes
- :prefix "proof-")
-
-
-;; This customization group gathers together
-;; the internals of Proof General which control
-;; configuration to different proof assistants.
-;; This is for development purposes rather than
-;; user-level customization, so this group does
-;; not belong to 'proof-general (or any other group).
-(defgroup proof-general-internals nil
- "Customization of Proof General internals."
- :prefix "proof-")
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Directories
-;;
-(defun proof-home-directory-fn ()
- "Used to set proof-home-directory"
- (let ((s (getenv "PROOFGENERAL_HOME")))
- (if s
- (if (string-match "/$" s) s (concat s "/"))
- (let ((curdir
- (or
- (and load-in-progress (file-name-directory load-file-name))
- (file-name-directory (buffer-file-name)))))
- (file-name-directory (substring curdir 0 -1))))))
-
-(defcustom proof-home-directory
- (proof-home-directory-fn)
- "Directory where Proof General is installed. Ends with slash.
-Default value taken from environment variable `PROOFGENERAL_HOME' if set,
-otherwise based on where the file `proof-site.el' was loaded from.
-You can use customize to set this variable."
- :type 'directory
- :group 'proof-general-internals)
-
-(defcustom proof-images-directory
- (concat proof-home-directory "images/")
- "Where Proof General image files are installed. Ends with slash."
- :type 'directory
- :group 'proof-general-internals)
-
-(defcustom proof-info-directory
- (concat proof-home-directory "doc/")
- "Where Proof General Info files are installed. Ends with slash."
- :type 'directory
- :group 'proof-general-internals)
-
-;; Add the info directory to the end of Emacs Info path if need be.
-;; It's easier to do this after Info has loaded because of the
-;; complicated way the Info-directory-list is set.
-
-(eval-after-load
- "info"
- '(or (member proof-info-directory Info-directory-list)
- (progn
- (setq Info-directory-list
- (cons proof-info-directory
- Info-directory-list))
- ;; Clear cache of info dir
- (setq Info-dir-contents nil))))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Master table of supported proof assistants.
-;;
-(defcustom proof-assistant-table
- (apply
- 'append
- (mapcar
- ;; Discard entries whose directories have been removed.
- (lambda (dne)
- (let ((atts (file-attributes (concat proof-home-directory
- (symbol-name (car dne))))))
- (if (and atts (eq 't (car atts)))
- (list dne)
- nil)))
- '(;; For demonstration instance of Proof General,
- ;; export PROOFGENERAL_ASSISTANTS=demoisa.
- ;;
- ;; To use Isabelle/Isar instead of classic Isabelle,
- ;; export PROOFGENERAL_ASSISTANTS=isar
- ;;
- (demoisa "Isabelle Demo" "\\.ML$")
- (isa "Isabelle" "\\.ML$\\|\\.thy$")
- (isar "Isabelle/Isar" "\\.thy$")
- (lego "LEGO" "\\.l$")
- (coq "Coq" "\\.v$")
- (phox "PhoX" "\\.phx$")
- ;; The following provers are not fully supported,
- ;; and have only preliminary support written
- ;; (please volunteer to improve them!)
- (hol98 "HOL" "\\.sml$")
- (acl2 "ACL2" "\\.acl2$")
- (twelf "Twelf" "\\.elf$")
- ;; The following provers have experimental support
- (plastic "Plastic" "\\.lf$")
- ;; Next line for testing only
- ;; (pgip "PGIP/Isa" "\\.ML$\\|\\.thy$")
- )))
- "*Proof General's table of supported proof assistants.
-Extend this table to add a new proof assistant.
-Each entry is a list of the form
-
- (SYMBOL NAME AUTOMODE-REGEXP)
-
-The NAME is a string, naming the proof assistant.
-The SYMBOL is used to form the name of the mode for the
-assistant, `SYMBOL-mode', run when files with AUTOMODE-REGEXP
-are visited. SYMBOL is also used to form the name of the
-directory and elisp file for the mode, which will be
-
- PROOF-HOME-DIRECTORY/SYMBOL/SYMBOL.el
-
-where `PROOF-HOME-DIRECTORY' is the value of the
-variable proof-home-directory."
- :type '(repeat (list symbol string string))
- :group 'proof-general-internals)
-
-
-
-
-
-;; A utility function. Is there an alternative?
-(defun proof-string-to-list (s separator)
- "Return the list of words in S separated by SEPARATOR.
-If S is nil, return empty list."
- (if s
- (let ((end-of-word-occurence (string-match (concat separator "+") s)))
- (if (not end-of-word-occurence)
- (if (string= s "")
- nil
- (list s))
- (cons (substring s 0 end-of-word-occurence)
- (proof-string-to-list
- (substring s
- (string-match (concat "[^" separator "]")
- s end-of-word-occurence))
- separator))))))
-
-(defcustom proof-assistants nil
- (concat
- "*Choice of proof assistants to use with Proof General.
-A list of symbols chosen from:"
- (apply 'concat (mapcar (lambda (astnt)
- (concat " '" (symbol-name (car astnt))))
- proof-assistant-table))
-".\nEach proof assistant defines its own instance of Proof General,
-providing session control, script management, etc. Proof General
-will be started automatically for the assistants chosen here.
-To avoid accidently invoking a proof assistant you don't have,
-only select the proof assistants you (or your site) may need.
-
-You can select which proof assistants you want by setting this
-variable before `proof-site.el' is loaded, or by setting
-the environment variable `PROOFGENERAL_ASSISTANTS' to the
-symbols you want, for example \"lego isa\". Or you can
-edit the file `proof-site.el' itself.
-
-Note: to change proof assistant, you must start a new Emacs session.")
- :type (cons 'set
- (mapcar (lambda (astnt)
- (list 'const ':tag (car (cdr astnt)) (car astnt)))
- proof-assistant-table))
- :group 'proof-general)
-
-
-;; Extend load path for the generic files.
-(let ((proof-lisp-path
- (concat proof-home-directory "generic/")))
- (or (member proof-lisp-path load-path)
- (setq load-path
- (cons proof-lisp-path load-path))))
-
-;; During compilation from the Makefile, generic is on the load path.
-;; Add all of the prover directories.
-;; FIXME: this doesn't work quite right. We want to test
-;; whether we are running during a compilation. How?
-; (eval-when-compile
-; (dolist (assistant proof-assistant-table)
-; (let ((path (concat proof-home-directory
-; (concat (symbol-name (car assistant)) "/"))))
-; (or (member path load-path)
-; (setq load-path
-; (cons path load-path))))))
-
-(defun proof-ready-for-assistant (assistant-name assistantsym)
- "Configure PG for ASSISTANT-NAME, symbol ASSISTANTSYM."
- (let*
- ((sname (symbol-name assistantsym))
- (cusgrp-rt
- ;; Normalized a bit to remove spaces and funny characters
- ;; FIXME UGLY compatibility hack
- ;; (can use cl macro `substitute' but want to avoid cl here)
- (if (fboundp 'replace-in-string)
- ;; XEmacs
- (replace-in-string (downcase assistant-name) "/\\|[ \t]+" "-")
- ;; FSF
- (subst-char-in-string
- ?/ ?\-
- (subst-char-in-string ?\ ?\- (downcase assistant-name)))))
- ;; END compatibility hack
- (cusgrp (intern cusgrp-rt))
- (cus-internals (intern (concat cusgrp-rt "-config")))
- ;; NB: Dir name for each prover is the same as its symbol name!
- (elisp-dir sname)
- (loadpath-elt (concat proof-home-directory elisp-dir "/")))
- (eval `(progn
- ;; Make a customization group for this assistant
- (defgroup ,cusgrp nil
- ,(concat "Customization of user options for " assistant-name
- " Proof General.")
- :group 'proof-general)
- ;; And another one for internals
- (defgroup ,cus-internals nil
- ,(concat "Customization of internal settings for "
- assistant-name " configuration.")
- :group 'proof-general-internals
- :prefix ,(concat sname "-"))
-
- ;; Set the proof-assistant configuration variables
- ;; NB: tempting to use customize-set-variable: wrong!
- ;; Here we treat customize as extended docs for these
- ;; variables.
- (setq proof-assistant-cusgrp (quote ,cusgrp))
- (setq proof-assistant-internals-cusgrp (quote ,cus-internals))
- (setq proof-assistant ,assistant-name)
- (setq proof-assistant-symbol (quote ,assistantsym))
- ;; Extend the load path if necessary
- (if (not (member ,loadpath-elt load-path))
- (setq load-path (cons ,loadpath-elt load-path)))))))
-
-;; Now add auto-loads and load-path elements to support the
-;; proof assistants selected, and define a stub
-(let ((assistants
- (or (mapcar 'intern
- (proof-string-to-list
- (getenv "PROOFGENERAL_ASSISTANTS") " "))
- proof-assistants
- (mapcar (lambda (astnt) (car astnt)) proof-assistant-table))))
- (while assistants
- (let*
- ((assistant (car assistants)) ; compiler bogus warning here
- (nameregexp
- (or
- (cdr-safe
- (assoc assistant
- proof-assistant-table))
- (error "proof-site: symbol " (symbol-name assistant)
- "is not in proof-assistant-table")))
- (assistant-name (car nameregexp))
- (regexp (car (cdr nameregexp)))
- (sname (symbol-name assistant))
- ;; NB: File name for each prover is the same as its symbol name!
- (elisp-file sname)
- ;; NB: Mode name for each prover is <symbol name>-mode!
- (proofgen-mode (intern (concat sname "-mode")))
- ;; NB: Customization group for each prover is its l.c.'d name!
-
- ;; Stub to do some automatic initialization and load
- ;; the specific code.
- (mode-stub
- `(lambda ()
- ,(concat
- "Major mode for editing scripts for proof assistant "
- assistant-name
- ".\nThis is a stub which loads the real function.")
- (interactive)
- ;; Give a message and stop loading if proof-assistant is
- ;; already set: things go wrong if proof general is
- ;; loaded for more than one prover.
- (cond
- ((and (boundp 'proof-assistant)
- (not (string-equal proof-assistant "")))
- (or (string-equal proof-assistant ,assistant-name)
- ;; If Proof General was partially loaded last time
- ;; and mode function wasn't redefined, be silent.
- (message
- (concat
- ,assistant-name
- " Proof General error: Proof General already in use for "
- proof-assistant))))
- (t
- ;; prepare variables and load path
- (proof-ready-for-assistant ,assistant-name
- (quote ,assistant))
- ;; load the real mode and invoke it.
- (load-library ,elisp-file)
- (,proofgen-mode))))))
-
- (setq auto-mode-alist
- (cons (cons regexp proofgen-mode) auto-mode-alist))
-
- (fset proofgen-mode mode-stub)
-
- (setq assistants (cdr assistants))
- )))
-
-;; WARNING: do not edit below here
-;; (the next constant is set automatically, also its form is
-;; relied upon in proof-config.el, for proof-splash-contents)
-(defconst proof-general-version "Proof General Version 3.4pre020718. Released by da."
- "Version string identifying Proof General release.")
-
-;; Now define a few autoloads and basic variables.
-
-;; 1.8.01: add a dummy package-provide command so proof-autoloads
-;; is compatible with FSF Emacs. Needed for next provide
-;; (otherwise would be in proof-compat.el).
-(or (fboundp 'package-provide)
- (defun package-provide (name &rest attributes)
- "Dummy version of XEmacs function for FSF compatibility."))
-
-
-(require 'proof-autoloads) ; autoloaded functions
-
-(defcustom 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."
- :type 'sexp
- :group 'prover-config)
-
-(defcustom 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."
- :type 'sexp
- :group 'prover-config)
-
-(defcustom 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 the name given in
-proof-assistant-table."
- :type 'string
- :group 'prover-config)
-
-(defcustom 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.
-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."
- :type 'sexp
- :group 'prover-config)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;
-;;; Architecture flags
-;;;
-
-(eval-and-compile
-(defvar proof-running-on-XEmacs (string-match "XEmacs" emacs-version)
- "Non-nil if Proof General is running on XEmacs.")
-(defvar proof-running-on-Emacs21 (and (not proof-running-on-XEmacs)
- (>= emacs-major-version 21))
- "Non-nil if Proof General is running on GNU Emacs 21 or later.")
-;; rough test for XEmacs on win32, anyone know about GNU Emacs on win32?
-(defvar proof-running-on-win32 (fboundp 'win32-long-file-name)
- "Non-nil if Proof General is running on a win32 system."))
-
-(provide 'proof-site))
-;; proof-site.el ends here
diff --git a/html/devel.html b/html/devel.html
index cc912c42..f3460042 100644
--- a/html/devel.html
+++ b/html/devel.html
@@ -10,14 +10,14 @@ users.
<li>
Download the latest <a href="develdownload.html">development release:
<!-- WARNING! Line below automatically edited by makefile. -->
- <b>ProofGeneral-3.4pre020718</b></a>
+ <b>ProofGeneral-3.4pre020719</b></a>
<!-- end WARNING -->
<br>
or <a href="ProofGeneral">browse</a> the development distribution.
<br>
Check the
<!-- WARNING! Line below automatically edited by makefile. -->
-<?php fileshow("ProofGeneral-3.4pre020718/CHANGES","CHANGES"); ?> file
+<?php fileshow("ProofGeneral-3.4pre020719/CHANGES","CHANGES"); ?> file
<!-- End Warning. -->
for a summary of changes since the last stable version.
</li>
@@ -52,7 +52,7 @@ Take a look at some Proof General <a href="projects.html">project proposals</a>.
<li>
Read the
developer's
-<?php fileshow("ProofGeneral-3.4pre020718/README.devel","README file"); ?>,
+<?php fileshow("ProofGeneral-3.4pre020719/README.devel","README file"); ?>,
with development hints and tips.
</li>
</ul>
@@ -61,7 +61,7 @@ with development hints and tips.
<ul>
<li>
Read the brief list of planned
-<?php fileshow("ProofGeneral-3.4pre020718/TODO","things to do "); ?>
+<?php fileshow("ProofGeneral-3.4pre020719/TODO","things to do "); ?>
for Proof General.
</ul>
<ul>
@@ -69,14 +69,14 @@ for Proof General.
<a name="lowleveltodo">See our current low-level lists of things to do</a>,
for the
<!-- WARNING! Lines below automatically edited by makefile. -->
- <?php fileshow("ProofGeneral-3.4pre020718/todo","generic base"); ?>,
+ <?php fileshow("ProofGeneral-3.4pre020719/todo","generic base"); ?>,
<br>
and for each prover:
- <?php fileshow("ProofGeneral-3.4pre020718/lego/todo","lego to do"); ?>,
- <?php fileshow("ProofGeneral-3.4pre020718/coq/todo","coq to do"); ?>,
- <?php fileshow("ProofGeneral-3.4pre020718/isa/todo","isa to do"); ?>,
- <?php fileshow("ProofGeneral-3.4pre020718/isar/todo","isar to do"); ?>,
- <?php fileshow("ProofGeneral-3.4pre020718/hol98/todo","hol to do"); ?>.
+ <?php fileshow("ProofGeneral-3.4pre020719/lego/todo","lego to do"); ?>,
+ <?php fileshow("ProofGeneral-3.4pre020719/coq/todo","coq to do"); ?>,
+ <?php fileshow("ProofGeneral-3.4pre020719/isa/todo","isa to do"); ?>,
+ <?php fileshow("ProofGeneral-3.4pre020719/isar/todo","isar to do"); ?>,
+ <?php fileshow("ProofGeneral-3.4pre020719/hol98/todo","hol to do"); ?>.
<!-- end WARNING -->
</li>
</ul>
@@ -93,15 +93,15 @@ which can be used in other programs.
<!-- <ul> -->
<!-- <li> -->
<!-- Browse source files from the current pre-release: -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-site.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-config.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-script.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-shell.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-toolbar.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-syntax.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-splash.el") ?>, -->
-<!-- <?php fileshow("ProofGeneral-3.4pre020718/generic/proof-easy-config.el") ?>. -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-site.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-config.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-script.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-shell.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-toolbar.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-syntax.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-splash.el") ?>, -->
+<!-- <?php fileshow("ProofGeneral-3.4pre020719/generic/proof-easy-config.el") ?>. -->
<!-- </ul> -->
diff --git a/html/develdownload.php b/html/develdownload.php
index 11996dea..80126bdd 100644
--- a/html/develdownload.php
+++ b/html/develdownload.php
@@ -24,7 +24,7 @@ Please <a href="register">register</a> if you haven't done so already.
<!-- WARNING! Line below automatically edited by makefile. -->
-<h2><a name="doc">Manual for ProofGeneral-3.4pre020718</a></h2>
+<h2><a name="doc">Manual for ProofGeneral-3.4pre020719</a></h2>
<!-- End Warning. -->
<p>
The manual included with the pre-release may be
@@ -46,27 +46,27 @@ or
<!-- WARNING! Line below automatically edited by makefile. -->
-<h2><a name="prerel">Pre-release: ProofGeneral-3.4pre020718</a></h2>
+<h2><a name="prerel">Pre-release: ProofGeneral-3.4pre020719</a></h2>
<p>
Check the
<!-- WARNING! Line below automatically edited by makefile. -->
-<?php fileshow("ProofGeneral-3.4pre020718/CHANGES","CHANGES"); ?> file
+<?php fileshow("ProofGeneral-3.4pre020719/CHANGES","CHANGES"); ?> file
<!-- End Warning. -->
for a summary of changes since the last stable
version, and notes about work-in-progress. </p>
<table width="80%" cellspacing=8>
<tr><td width=150>gzip'ed tar file</td>
<!-- WARNING! Lines below automatically edited by makefile. -->
-<td><?php download_link("ProofGeneral-3.4pre020718.tar.gz") ?></td>
+<td><?php download_link("ProofGeneral-3.4pre020719.tar.gz") ?></td>
</tr>
<tr>
<td>zip file</td>
-<td><?php download_link("ProofGeneral-3.4pre020718.zip") ?></td>
+<td><?php download_link("ProofGeneral-3.4pre020719.zip") ?></td>
</tr>
<tr>
<td>RPM package </td>
-<td><?php download_link("ProofGeneral-3.4pre020718-1.noarch.rpm") ?></td>
+<td><?php download_link("ProofGeneral-3.4pre020719-1.noarch.rpm") ?></td>
</tr>
<tr>
<td>individual files</td>
@@ -105,7 +105,7 @@ the <a href="download#install">stable version download</a>.
<!-- WARNING! Line below automatically edited by makefile. -->
-<h2><a name="devel">Complete archive of ProofGeneral-3.4pre020718 for developers</a></h2>
+<h2><a name="devel">Complete archive of ProofGeneral-3.4pre020719 for developers</a></h2>
<!-- End Warning. -->
<p>
@@ -114,7 +114,7 @@ This archive is a snapshot from our CVS repository.
<ul>
<li> gzip'ed tar file:
<!-- WARNING! Line below automatically edited by makefile. -->
- <?php download_link("ProofGeneral-3.4pre020718-devel.tar.gz") ?>
+ <?php download_link("ProofGeneral-3.4pre020719-devel.tar.gz") ?>
<!-- End Warning. -->
</li>
</ul>
@@ -127,7 +127,7 @@ The complete archive also includes:
(see <a href="devel#lowleveltodo">the developers page</a>)
and the detailed
<!-- WARNING! Line below automatically edited by makefile. -->
- <?php fileshow("ProofGeneral-3.4pre020718/ChangeLog","ChangeLog"); ?>,
+ <?php fileshow("ProofGeneral-3.4pre020719/ChangeLog","ChangeLog"); ?>,
<!-- End Warning. -->
</li>
<li> developer's Makefile used to generate documentation files