bug-groff
[Top][All Lists]
Advanced

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

[bug #60731] undocumented difference in .ce behavior between groff and t


From: G. Branden Robinson
Subject: [bug #60731] undocumented difference in .ce behavior between groff and traditional troff
Date: Thu, 30 Mar 2023 07:44:37 -0400 (EDT)

Update of bug #60731 (project groff):

                  Status:                    None => Need Info              
             Assigned to:                    None => barx                   

    _______________________________________________________

Follow-up Comment #1:


> The Texinfo manual says .ce centers text "without filling" but is silent on
breaking.

It seems groff's `ce` request implements a procedure that is used nowhere else
in the formatter, such that lines are automatically broken when they reach the
output line length but _not_ filled.

This would look bad in conventional left-adjusted text (like reading emails in
an MUA window too narrow for the text, and which wraps lines crudely), but
presumably it's a sprinkle of DWIM behavior for .ce.

I'm inclined to consider this a documentation issue; to get authentic AT&T
troff output, you need to explicitly turn off filling when using the `ce`
request.


$ cat ATTIC/ce.roff
.ll 4i
.ce 100
This is a small text fragment that shows the differences
between the `.ce' (with and without `.nf`) and the `.ad c' requests.
.ce 0
.sp
.nf
.ce 100
This is a small text fragment that shows the differences
between the `.ce' (with and without `.nf`) and the `.ad c' requests.
.ce 0
.sp
.fi
.ad c
This is a small text fragment that shows the differences
between the `.ce' (with and without `.nf`) and the `.ad c' requests.
.pl \n(nlu
$ groff -Tascii ATTIC/ce.roff # 1.22.4, no difference in Git
This is a small text fragment that shows
            the differences
between  the  `.ce'  (with  and  without
    `.nf`) and the `.ad c' requests.

This is a small text fragment that shows the differences
between the `.ce' (with and without `.nf`) and the `.ad c' requests.

This is a small text fragment that shows
the differences between the `.ce' (with
 and without `.nf`) and the `.ad c' re-
                quests.
$ DWBHOME=~/dwb ~/dwb/bin/nroff ATTIC/ce.roff 
This is a small text fragment that shows the differences
between the `.ce' (with and without `.nf`) and the `.ad c' requests.

This is a small text fragment that shows the differences
between the `.ce' (with and without `.nf`) and the `.ad c' requests.

This is a small text fragment that shows
the differences between the `.ce' (with
   and without `.nf`) and the `.ad c'
               requests.


That the first two specimens of these three produce distinct output in groff
but not in DWB troff suggests to me that this behavior is deliberate.

By the way, you might have noticed that I tested with DWB troff rather than
Heirloom.  This is because, to my knowledge, DWB 3.3 troff is the origin of
Heirloom troff; the latter added many features.

You can try it out yourself.  It seems to have been modified only insofar as
to make it buildable on modern Unix systems without too many screams from the
compiler.


$ git remote -v
origin  https://github.com/n-t-roff/DWB3.3.git (fetch)
origin  https://github.com/n-t-roff/DWB3.3.git (push)


Tossing to you for feedback.


    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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