Manipulate markers in Frama-C ACSL annotations properly
Merged
JS
2mo ago+353+353+012345678901234567890123456789-51-51-01234567890123456789
Summary by cubic
Splits glued closing */ markers in Frama-C ACSL annotations onto their own line, and fixes the packer deleting a rule run stranded at a paragraph's end.
ACSL closer handling
- Moves a glued
*/onto its own line, aligned under the opener's*, while keeping every token of the annotation intact. - Whitespace between the last clause and the closer moves with it; whitespace inside the body is never touched.
- Vetoes the split for trailing annotations, bare CRs, interior cppcheck suppressions, and closer spellings already using
@*/.
Rule borrowing fix
- Tries every split point (not just one word) when borrowing from the line above, and folds a stranded rule run onto that line so the next pass can't remove it.