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

This is a lot to digest!  So I'll focus on the point that seems central to the
issue.

[comment #26 comment #26:]
> Here's another clash of terminology we have.  I assert that:
> 
> .hcode \[~o] õ
> 
> ...*is not a reflexive hyphenation code assignment*.

This, I believe, is the clash at the root of this ticket.

> It can't be, because the meaning of "õ" depends on the
> character encoding in a way that "\[~o]" does not.

Clearly, "can't" overstates this, because it _was_ regarded as one in past
groffs.  Additionally, in my example input, at the time that .hcode is run,
the character encoding is known, so it _could_ still be interpreted as
reflexive.

These facts suggest two possible ways forward.
* Use character-encoding knowledge, if available at the time .hcode is run, to
interpret any 8-bit arguments; or
* Decide this is a back-compatibility-breaking change.  This should then
require two other things, and suggest an optional third:
        * A justification for what larger purpose is being served by the 
behavior
change;
        * Clear notice in NEWS that the behavior has changed;
        * Optionally, a warning when the user invokes an .hcode that previously 
did
one thing and now does another.

I get the resistance to warn about something that's not actually incorrect.
(Though, arguably, that's exactly what a "warning" is.)  But in this instance,
the effect of an .hcode behavior change will typically only be visible in a
document at some remove from its cause.  Users who might otherwise spend
significant and frustrating time tracking down the source of a change could
instead be given a helpful arrow pointing directly to it.

For hyphenation in particular, even the smallest changes (in wording, in paper
or margin size, in any number of other things) can affect where words are
broken throughout a document.  So it's just as plausible that after a groff
upgrade, a user will see no change at all to their document, even though its
interpretation of some .hcode calls does something different, simply because
of where word breaks happen to fall.  The change in behavior may only occur
during a later, possibly quite minor, revision of the document.  This is why,
for this change in particular, it's especially useful for groff to emit notice
that .hcode is doing something new.


    _______________________________________________________

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