Follow-up Comment #24, bug #65474 (group groff): [comment #23 comment #23:] > [comment #11 comment #11:] > > Solaris 10 /usr/bin/nroff outputs "CASE a", which is what I'd expect. > > Heirloom troff does as well. > > > gnroff outputs "NOTREACHED", which is surprising. > > My guess at the end of comment #16 was wrong. This, it turns out, is an application of bug #45502. In a nutshell, groff diverges from other troffs when given an .if or .ie with an empty branch (no content after the conditional), which is what the ". ie '1'2'" line has. Put any content after that test, and all the troffs produce the same output.
I think my recast[1] of the relevant material in our Texinfo manual is a reliable guide to interpretation. 5.23.2 if-then -------------- -- Request: .if cond-expr anything Evaluate the conditional expression COND-EXPR, and if it evaluates true (or to a positive value), interpret the remainder of the line ANYTHING as if it were an input line. Recall from *note Invoking Requests:: that any quantity of spaces between arguments to requests serves only to separate them; leading spaces in ANYTHING are thus not seen. ANYTHING effectively _cannot_ be omitted; if COND-EXPR is true and ANYTHING is empty, the newline at the end of the control line is interpreted as a blank input line (and therefore a blank text line). super\c tanker .nr force-word-break 1 super\c .if ((\n[force-word-break] = 1) & \n[.int]) tanker => supertanker super tanker [1] from September 2022, [https://git.savannah.gnu.org/cgit/groff.git/commit/?id=66b7cb51ba9439f8a93cef1ea4e44b6d11a952df commit 66b7cb51ba] _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?65474> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/