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