On Mon Dec 2, 2024 at 7:05 PM CET, Douglas McIlroy wrote:
> > I have discovered recently that `ne` and `bp` behave differently in
> > regards to pending input lines. `bp` breaks such lines, while `ne`
> > does not. In practice this means that `ne` does not behave like a
> > conditional `bp` as one would reasonably expect.
>
> I invented .ne 55 years ago and have never heard a complaint about its
> design before. It is not a conditional .bp, because that would case a
> line break, which .ne never does, nor should.

I know it does not behave like a conditional `bp` (that was my
entire argument, after all). I have yet to see any explanation
of the rationale behind that behavior, though.

Most explanations I have seen so far more or less amount to the one
given by groff(7):
  .ne d    Break page if distance to next page location trap
           is less than distance d (default scaling unit v).

(i.e. break page if distance to next trap < argument)
CSTR #54 provides a detailed technical description
(better than the above), but no rationale.

Could you please summarize what's the idea behind it?

~ onf

Reply via email to