as #4527 describes there is inconsistency between `by`, `case` and `next` on the one hand who, if the goal isn’t closed, put squiggly underlines on the first line, and `.`, which so far only squiggled the dot (which is a very short symbol!) With this change the same mechanism as used by `case`, namely `withCaseRef`, is also used for `.`. There is an argument for the status quo: The `.` tactic is more commonly used with further tactics on the same line, and thus there is now a higher risk that the user might think that the first tactic is broken. But * the same argument does apply to `by` and `case` where there was an intentional choice to do it this way * consistency and * a squiggly line just under the short `.` is easy to miss, so it is actually better to underlining more here (at least until we have a better way to indicate incomplete proofs, which I have hopes for) Fixes #4527, at least most of it.
46 lines
885 B
Text
46 lines
885 B
Text
tacUnsolvedGoalsErrors.lean:2:14-3:8: error: unsolved goals
|
||
p q r : Prop
|
||
h1 : p ∨ q
|
||
h2 : p → q
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:4:2-5:9: error: unsolved goals
|
||
p q r : Prop
|
||
h1 : p ∨ q
|
||
h2 : p → q
|
||
this : q
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:10:2-10:3: error: unsolved goals
|
||
p q r : Prop
|
||
h1 : p ∨ q
|
||
h2 : p → q
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:11:2-12:9: error: unsolved goals
|
||
p q r : Prop
|
||
h1 : p ∨ q
|
||
h2 : p → q
|
||
this : q
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:17:9-17:10: error: unsolved goals
|
||
case inl
|
||
p q r : Prop
|
||
h2 : p → q
|
||
h✝ : p
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:19:9-19:10: error: unsolved goals
|
||
case inr
|
||
p q r : Prop
|
||
h2 : p → q
|
||
h✝ : q
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:26:2-27:8: error: unsolved goals
|
||
case inl
|
||
p q r : Prop
|
||
h2 : p → q
|
||
h✝ : p
|
||
⊢ q
|
||
tacUnsolvedGoalsErrors.lean:28:2-29:8: error: unsolved goals
|
||
case inr
|
||
p q r : Prop
|
||
h2 : p → q
|
||
h✝ : q
|
||
⊢ q
|