aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorGravatar Pierre Courtieu <courtieu@lri.fr>2013-07-22 12:21:36 +0000
committerGravatar Pierre Courtieu <courtieu@lri.fr>2013-07-22 12:21:36 +0000
commit32fea19d1bb66593e469b1a8e6ad38f3ae1714bf (patch)
treef4fb2610bdf58c974b1e1d73767c03e0486c0032 /doc
parent41b24ac9992a164382597bbc5a268a36aec667f4 (diff)
Added some information on coq project file in doc.
Diffstat (limited to 'doc')
-rw-r--r--doc/ProofGeneral.texi95
1 files changed, 83 insertions, 12 deletions
diff --git a/doc/ProofGeneral.texi b/doc/ProofGeneral.texi
index 842c8e2f..f00e45c4 100644
--- a/doc/ProofGeneral.texi
+++ b/doc/ProofGeneral.texi
@@ -4258,25 +4258,47 @@ assistant. It supports most of the generic features of Proof General.
@section Coq-specific commands
@kindex C-c C-a C-i
@kindex C-c C-a C-a
+@kindex C-c C-a C-b
@kindex C-c C-a C-s
-@kindex C-c C-a C-e
+@kindex C-c C-a C-)
+@kindex C-c C-a C-p
+@kindex C-c C-a C-c
@kindex C-c C-a C-o
Coq Proof General supplies the following key-bindings:
@table @kbd
@item C-c C-a C-i
-Inserts ``Intros ''
-@item C-c C-a C-a
-Inserts ``Apply ''
+Inserts ``intros '' and also introduces the name of the hypothesis
+proposed by coq on the current goal.
+
@item C-c C-a C-s
-Inserts ``Section ''
-@item C-c C-a C-e
-Inserts ``End <section-name>.'' (this should work well with nested sections).
+Show the goal (enter for the current goal, i <enter> for the ith goal).
+
+Add the prefix C-u to see the answer with all pretty printing options
+temporarily disable (Set Printing All).
+
+@item C-c C-a C-c
+Prompts for ``Check '' query arguments, the default input name is built
+from the identifier under the cursor.
+
+Add the prefix C-u to see the answer with all pretty printing options
+temporarily disable (Set Printing All).
+
+@item C-c C-a C-p
+The same for a ``Print '' query.
+@item C-c C-a C-b
+The same for a ``About '' query.
+@item C-c C-a C-a
+The same for a ``SearchAbout '' query (no C-u prefix).
@item C-c C-a C-o
-Prompts for a SearchIsos argument.
+The same for a Search ``SearchIsos'' (no C-u prefix).
+
+@item C-c C-a C-)
+Inserts ``End <section-name>.'' (this should work well with nested sections).
@end table
+
@node Using the Coq project file
@section Using the Coq project file
@@ -4286,16 +4308,16 @@ the coq load path. You can use file variables (@ref{Using file
variables}) as it was recommended on previous versions of ProofGeneral
but there is now a better way. ProofGeneral knows how to extract this
information from the Coq project file if there is one. The Coq project
-file must be named @code{_CoqProject} and be on the root directory of
-your development.
+file must be named following variable `coq-project-filename' (default:
+@code{_CoqProject}) and be on the root directory of your development.
It should contain something like:
-@lisp
+@verbatim
-R foo bar
-I foo2
-arg -foo3
-@end lisp
+@end verbatim
The intial use of this file is to be given to the @code{coq_makefile}
tool to generate a Makefile (see Coq documentation for details). It is
@@ -4310,6 +4332,55 @@ avoids duplicating informations between these three tools.
For specific (and rare) per file configuration one can still use file
variables (@ref{Using file variables}).
+@menu
+* Changing the name of the coq project file::
+* Disabling the coq project file mechanism::
+@end menu
+
+@node Changing the name of the coq project file
+@subsection Changing the name of the coq project file
+
+One can change the name of the project file by:
+
+(setq coq-project-filename "myprojectfile")
+
+or:
+
+(setq (make-local-variable 'coq-project-filename) "myprojectfile")
+
+If this is for a project, the best is probably to have a .dir-locals.el
+at the root of the project, as explained in @ref{Using file
+variables}. This file should contain something like:
+
+@lisp
+((coq-mode . ((coq-project-filename . "myprojectfile"))))
+@end lisp
+
+or equivalently:
+
+@lisp
+((coq-mode
+ .
+ ((eval
+ .
+ (progn
+ (make-local-variable 'coq-project-filename)
+ (setq coq-project-filename "myprojectfile"))))))
+@end lisp
+
+@node Disabling the coq project file mechanism
+@subsection Disabling the coq project file mechanism
+
+If the variable `coq-use-project-file' is nil, then Proofgeneral will
+not look at project file. therefore you can put this in your config file
+(.emacs) to disable the use of project file:
+
+@lisp
+(setq coq-use-project-file nil)
+@end lisp
+
+You can also use the .dir-locals.el as above to configure this setting
+on a per project basis.
@node Multiple File Support
@section Multiple File Support