diff options
author | Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net> | 2018-03-08 12:45:37 +0100 |
---|---|---|
committer | Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net> | 2018-04-29 20:45:05 +0200 |
commit | d94fef210a63db4ff34251afe093041912a7cbde (patch) | |
tree | b807e02ad0186efce46f6deae2631fd4616c7523 /pretyping | |
parent | 6879320384e63793ff9447d4aaddc919bac540ec (diff) |
Strict focusing using Default Goal Selector.
We add a [SelectAlreadyFocused] constructor to [goal_selector] (read
"!") which causes a failure when there's not exactly 1 goal and
otherwise is a noop.
Then [Set Default Goal Selector "!".] puts us in "strict focusing"
mode where we can only run tactics if we have only one goal or use a
selector.
Closes #6689.
Diffstat (limited to 'pretyping')
-rw-r--r-- | pretyping/vernacexpr.ml | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/pretyping/vernacexpr.ml b/pretyping/vernacexpr.ml index 4e1c986f1..548689205 100644 --- a/pretyping/vernacexpr.ml +++ b/pretyping/vernacexpr.ml @@ -22,6 +22,7 @@ type class_rawexpr = FunClass | SortClass | RefClass of reference or_by_notation make sense to apply a tactic to it. Hence it the types may look very similar, they do not seem to mean the same thing. *) type goal_selector = + | SelectAlreadyFocused | SelectNth of int | SelectList of (int * int) list | SelectId of Id.t |