Commit b8b6652
Fix comment before
`let x = value (* comment *) in` was being broken across multiple lines
regardless of configuration because comments near the `in` keyword were
formatted with `force_break` as their prefix, which unconditionally
forced the containing hvbox to vertical mode.
Fix: change `~pro:force_break` to `~pro:(break 1 0)` in two places in
fmt_value_binding — the comment is now a regular break that becomes a
space when the hvbox fits horizontally. When the content exceeds the
margin, the box still goes vertical naturally.
This also fixes a non-idempotency: previously, `let x = v (* c *) in`
and its pre-broken equivalent produced different outputs. The bug
affects all profiles (default, ocamlformat, janestreet, ahrefs).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>in forcing unnecessary line break in let bindings1 parent 6a4b647 commit b8b6652
29 files changed
Lines changed: 60 additions & 222 deletions
File tree
- lib
- test/passing
- refs.ahrefs
- refs.default
- refs.janestreet
- refs.ocamlformat
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4886 | 4886 | | |
4887 | 4887 | | |
4888 | 4888 | | |
4889 | | - | |
| 4889 | + | |
4890 | 4890 | | |
4891 | 4891 | | |
4892 | 4892 | | |
| |||
4965 | 4965 | | |
4966 | 4966 | | |
4967 | 4967 | | |
4968 | | - | |
| 4968 | + | |
4969 | 4969 | | |
4970 | 4970 | | |
4971 | 4971 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
| 306 | + | |
310 | 307 | | |
311 | 308 | | |
312 | 309 | | |
313 | 310 | | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
| 311 | + | |
318 | 312 | | |
319 | 313 | | |
320 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
| 306 | + | |
310 | 307 | | |
311 | 308 | | |
312 | 309 | | |
313 | 310 | | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
| 311 | + | |
318 | 312 | | |
319 | 313 | | |
320 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
| 306 | + | |
310 | 307 | | |
311 | 308 | | |
312 | 309 | | |
313 | 310 | | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
| 311 | + | |
318 | 312 | | |
319 | 313 | | |
320 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
| 306 | + | |
310 | 307 | | |
311 | 308 | | |
312 | 309 | | |
313 | 310 | | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
| 311 | + | |
318 | 312 | | |
319 | 313 | | |
320 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
| 25 | + | |
29 | 26 | | |
30 | 27 | | |
31 | 28 | | |
32 | 29 | | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
| 30 | + | |
37 | 31 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
31 | | - | |
| 29 | + | |
32 | 30 | | |
33 | 31 | | |
34 | 32 | | |
| |||
37 | 35 | | |
38 | 36 | | |
39 | 37 | | |
40 | | - | |
41 | | - | |
42 | | - | |
| 38 | + | |
43 | 39 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | | - | |
| 25 | + | |
28 | 26 | | |
29 | 27 | | |
30 | 28 | | |
31 | 29 | | |
32 | | - | |
33 | | - | |
34 | | - | |
| 30 | + | |
35 | 31 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
| 279 | + | |
283 | 280 | | |
284 | 281 | | |
285 | 282 | | |
286 | 283 | | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
| 284 | + | |
291 | 285 | | |
292 | 286 | | |
293 | 287 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
| 279 | + | |
283 | 280 | | |
284 | 281 | | |
285 | 282 | | |
286 | 283 | | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
| 284 | + | |
291 | 285 | | |
292 | 286 | | |
293 | 287 | | |
| |||
0 commit comments