Follow-up Comment #28, bug #66919 (group groff):

Also, this older remark has bearing on my last comment.


[comment #19 comment #19:]
> But generally in language development, if you break someone's
> reliance on undefined behavior, you don't owe them an apology
> and possibly not even notice.

True, and I argued exactly that in my last reply to Deri in bug #50770.  But
we need to be scrupulous in how we define "undefined."

A formal language specification tells you exactly what the defined behavior
is, and therefore, by implication, what is undefined.  The roff language has
never had such a spec.

Even absent that, documentation might specifically call out certain
constructions as having undefined behavior.

But undocumented does not necessarily imply undefined (unless the
documentation so states); it could merely mean no one's written it down yet.
And if that's the case, it's perfectly reasonable for users to determine the
behavior experimentally.  (In many cases, you've done that in order _to_ write
something down.)  And when that experimentally determined behavior persists
across multiple releases across multiple decades, it becomes harder to justify
changing it with impunity just because no one's gotten around to writing down
what it did across all those releases and all those decades.


    _______________________________________________________

Reply to this item at:

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

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

Attachment: signature.asc
Description: PGP signature

Reply via email to