bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #45502] [troff] .if, .ie, .el parsing incompatible with Unix V7, DW


From: Dave
Subject: [bug #45502] [troff] .if, .ie, .el parsing incompatible with Unix V7, DWB, and Heirloom Doctools troff
Date: Fri, 5 Apr 2024 12:48:00 -0400 (EDT)

Follow-up Comment #15, bug #45502 (group groff):

[comment #12 comment #12:]
> Wow, it's actually GNU _troff_ that aggressively reads through
> the newline.

That _was_ Carsten's original complaint.

[comment #14 comment #14:]
> That last version of the exhibit is now the basis of the
> regression test, which passes (along with our other 202 tests)
> with this simple patch.

I reiterate my question of comment #2: "Does strictly enforcing the V7 Unix
troff syntax offer any compatibility benefit?  That is, are there correctly
formed historical constructions that would be parsed incorrectly under groff
as a result of this change?"

I realize this would be parsed _differently_:

.if 0
A

But you have to squint pretty hard to see this as a "correctly formed
historical construction": although AT&T troff _allowed_ an empty .if
predicate, CSTR#54 section 16 does not specify this as legal syntax, and it
has no practical application.  If this ever appears in any code intended for
AT&T troff, it's probably the result of a coder who began writing a
conditional then got distracted by a squirrel.

In the GNU age, on the other hand, coders might have written the above
deliberately, noticing that it worked despite not being strictly documented. 
And it's worked for at least two decades, and possibly all the way back to the
Clarkian era.

So it seems to me this proposal breaks back GNU compatibility to achieve
fealty to an AT&T construction that offered no real-world application.  Might
a better solution be to document the difference as a GNU syntactical
extension?


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?45502>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]