bug-groff
[Top][All Lists]
Advanced

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

[bug #59795] interaction of .na and '.ad l' documented incorrectly


From: G. Branden Robinson
Subject: [bug #59795] interaction of .na and '.ad l' documented incorrectly
Date: Sat, 23 Jan 2021 05:39:36 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

Update of bug #59795 (project groff):

              Item Group:     Incorrect behaviour => Documentation          
                  Status:               Need Info => In Progress            
                 Summary: [PATCH] troff/env.cpp: fix wrong restoration of line
adjustment after  '.na' and '.ad' => interaction of .na and '.ad l' documented
incorrectly

    _______________________________________________________

Follow-up Comment #5:

Thanks, Dave.  You're right; Bjarni's example in bug #55579 exposes a
legitimately confusing point.  I'm attaching a slight revision of his
reproducer from that bug that I think reveals the situation more clearly. 
Thanks for providing it, Bjarni.

Without worrying about the numeric values of the .j register, I think we can
say that .na causes the previous adjustment mode to be remembered _if the
adjustment mode isn't already "l" (off)_, and that .na is a no-op if the
current adjustment mode is "l", and vice versa.

I strongly feel that we should not burden the documentation with details of
the implementation of the .j register or the numerical representation of the
adjustment modes.  All a user needs to know is that they can save .j into
another register and interpolate that saved value into the argument of an .ad
request.  It seems that Heirloom Doctools troff and GNU roff happen to use the
same implementation, but that should be treated as a coincidence.

I'm working on a rewrite of the "Manipulating Filling and Adjustment" node of
our Texinfo manual right now to clean this up.

Here's the output of my reproducer, based on Bjarni's.  It's the same in
Heirloom and groff.


Adjustment type is 1.   Line  to
test adjustment.
Adjustment type is 0.  Line to
test adjustment.
Adjustment type is 0.  Line to
test adjustment.
Adjustment type is 1.   Line  to
test adjustment.


    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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