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.
5 lines
78 B
Text
5 lines
78 B
Text
example : True := by
|
|
. skip
|
|
--^ collectDiagnostics
|
|
skip
|
|
-- foo
|