aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaxime Dénès2020-10-15 15:31:51 +0200
committerGaëtan Gilbert2021-02-24 15:09:15 +0100
commit068031ff7da092c1e2d35db27d713b9606960c42 (patch)
tree2a3e2ae6a82e60a76ef31659ff305d70a4b2ea39 /doc
parent264aba2484312a2172cd36dd9b89ed66e4f38864 (diff)
Infrastructure for fine-grained debug flags
Diffstat (limited to 'doc')
-rw-r--r--doc/changelog/07-vernac-commands-and-options/13202-debug-infra.rst19
-rw-r--r--doc/sphinx/proof-engine/tactics.rst15
-rw-r--r--doc/sphinx/proof-engine/vernacular-commands.rst8
-rw-r--r--doc/sphinx/proofs/automatic-tactics/logic.rst4
-rw-r--r--doc/sphinx/proofs/writing-proofs/rewriting.rst10
5 files changed, 38 insertions, 18 deletions
diff --git a/doc/changelog/07-vernac-commands-and-options/13202-debug-infra.rst b/doc/changelog/07-vernac-commands-and-options/13202-debug-infra.rst
new file mode 100644
index 0000000000..cd1ac3a35a
--- /dev/null
+++ b/doc/changelog/07-vernac-commands-and-options/13202-debug-infra.rst
@@ -0,0 +1,19 @@
+- **Added:**
+ :opt:`Debug` to control debug messages, functioning similarly to the warning system
+ (`#13202 <https://github.com/coq/coq/pull/13202>`_,
+ by Maxime Dénès and Gaëtan Gilbert).
+ The following flags have been converted (such that ``Set Flag`` becomes ``Set Debug "flag"``):
+
+ - ``Debug Unification`` to ``unification``
+
+ - ``Debug HO Unification`` to ``ho-unification``
+
+ - ``Debug Tactic Unification`` to ``tactic-unification``
+
+ - ``Congruence Verbose`` to ``congruence``
+
+ - ``Debug Cbv`` to ``cbv``
+
+ - ``Debug RAKAM`` to ``RAKAM``
+
+ - ``Debug Ssreflect`` to ``ssreflect``
diff --git a/doc/sphinx/proof-engine/tactics.rst b/doc/sphinx/proof-engine/tactics.rst
index 665bae7077..071fcbee11 100644
--- a/doc/sphinx/proof-engine/tactics.rst
+++ b/doc/sphinx/proof-engine/tactics.rst
@@ -675,10 +675,10 @@ Applying theorems
:tacn:`notypeclasses refine`: it performs type checking without resolution of
typeclasses, does not perform beta reductions or shelve the subgoals.
- .. flag:: Debug Unification
-
- Enables printing traces of unification steps used during
- elaboration/typechecking and the :tacn:`refine` tactic.
+ :opt:`Debug` ``"unification"`` enables printing traces of
+ unification steps used during elaboration/typechecking and the
+ :tacn:`refine` tactic. ``"ho-unification"`` prints information
+ about higher order heuristics.
.. tacn:: apply @term
:name: apply
@@ -1040,10 +1040,9 @@ Applying theorems
when the instantiation of a variable cannot be found
(cf. :tacn:`eapply` and :tacn:`apply`).
-.. flag:: Debug Tactic Unification
-
- Enables printing traces of unification steps in tactic unification.
- Tactic unification is used in tactics such as :tacn:`apply` and :tacn:`rewrite`.
+:opt:`Debug` ``"tactic-unification"`` enables printing traces of
+unification steps in tactic unification. Tactic unification is used in
+tactics such as :tacn:`apply` and :tacn:`rewrite`.
.. _managingthelocalcontext:
diff --git a/doc/sphinx/proof-engine/vernacular-commands.rst b/doc/sphinx/proof-engine/vernacular-commands.rst
index 8db16fff69..37d605360d 100644
--- a/doc/sphinx/proof-engine/vernacular-commands.rst
+++ b/doc/sphinx/proof-engine/vernacular-commands.rst
@@ -865,6 +865,14 @@ Controlling display
interpreted from left to right, so in case of an overlap, the flags on the
right have higher priority, meaning that `A,-A` is equivalent to `-A`.
+.. opt:: Debug "{+, {? - } @ident }"
+
+ Configures the display of debug messages. Each :n:`@ident` enables debug messages
+ for that component, while :n:`-@ident` disables messages for the component.
+ ``all`` activates or deactivates all other components. ``backtrace`` controls printing of
+ error backtraces.
+
+ :cmd:`Test` `Debug` displays the list of components and their enabled/disabled state.
.. opt:: Printing Width @natural
This command sets which left-aligned part of the width of the screen is used
diff --git a/doc/sphinx/proofs/automatic-tactics/logic.rst b/doc/sphinx/proofs/automatic-tactics/logic.rst
index 5aaded2726..3f1f5d46c5 100644
--- a/doc/sphinx/proofs/automatic-tactics/logic.rst
+++ b/doc/sphinx/proofs/automatic-tactics/logic.rst
@@ -194,9 +194,7 @@ Solvers for logic and equality
additional arguments can be given to congruence by filling in the holes in the
terms given in the error message, using the `with` clause.
- .. flag:: Congruence Verbose
-
- Makes :tacn:`congruence` print debug information.
+ :opt:`Debug` ``"congruence"`` makes :tacn:`congruence` print debug information.
.. tacn:: btauto
diff --git a/doc/sphinx/proofs/writing-proofs/rewriting.rst b/doc/sphinx/proofs/writing-proofs/rewriting.rst
index f286533d78..8c000a4aa7 100644
--- a/doc/sphinx/proofs/writing-proofs/rewriting.rst
+++ b/doc/sphinx/proofs/writing-proofs/rewriting.rst
@@ -559,9 +559,7 @@ the conversion in hypotheses :n:`{+ @ident}`.
on the profile file to see the results. Consult the ``perf`` documentation
for more details.
-.. flag:: Debug Cbv
-
- This flag makes :tacn:`cbv` (and its derivative :tacn:`compute`) print
+ :opt:`Debug` ``"Cbv"`` makes :tacn:`cbv` (and its derivative :tacn:`compute`) print
information about the constants it encounters and the unfolding decisions it
makes.
@@ -662,10 +660,8 @@ the conversion in hypotheses :n:`{+ @ident}`.
This applies :tacn:`simpl` only to the :n:`{+ @natural}` applicative subterms whose
head occurrence is :n:`@qualid` (or :n:`@string`).
-.. flag:: Debug RAKAM
-
- This flag makes :tacn:`cbn` print various debugging information.
- ``RAKAM`` is the Refolding Algebraic Krivine Abstract Machine.
+:opt:`Debug` ``"RAKAM"`` makes :tacn:`cbn` print various debugging information.
+``RAKAM`` is the Refolding Algebraic Krivine Abstract Machine.
.. tacn:: unfold @qualid
:name: unfold