URL:
  <https://savannah.gnu.org/bugs/?68286>

                 Summary: [troff] support a zero-argument `ti` invocation to
cancel pending temporary indentation
                   Group: GNU roff
               Submitter: gbranden
               Submitted: Mon 27 Apr 2026 09:05:30 PM UTC
                Category: Core
                Severity: 1 - Wish
              Item Group: Feature change
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Unlocked
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Mon 27 Apr 2026 09:05:30 PM UTC By: G. Branden Robinson <gbranden>
We have a use case in our "story.mm" document.


$ head -n 15 contrib/mm/examples/story.mm
.\" groff -K utf8 -mm
.nr Pt 1
.SP 1i
.\" ti \" XXX: if only we had a way to cancel a pending temporary indent
.ce 3
.B "The Oval Portrait"
.SP
.I "E.\& A.\& Poe"
.SP
.ce 0
.if t .2C
.P
The château into which my valet had ventured to make forcible entrance,
rather than permit me,
in my desperately wounded condition,


An _mm_ author **has** to use _roff_ requests here.  They can't just drop in
`TL` and `AU` as they might with _ms_(7); a document type has to be set up
first.  (If you try, all of DWB 3.3, Heirloom Doctools, Plan 9, and Solaris 10
_troffs_ get angry and refuse to format the document.)

For us, the foregoing works fine.

However, my new post-1.24.1 "style" warning category squawks.


$ ./build/test-groff -ww -k -mm -T utf8 contrib/mm/examples/story.mm | head -n
15
troff:contrib/mm/examples/story.mm:5: warning: ignoring temporary indentation
while centering request in effect [-w style]



                                   ‐ 1 ‐



                            The Oval Portrait

                                E. A. Poe

            The  château  into  which my valet had ventured to make
       forcible entrance, rather than permit me, in my  desperately
       wounded  condition, to pass a night in the open air, was one
       of those piles of commingled gloom and grandeur  which  have


Our _mm_ package sets up a temporary indentation in some header-strap-sprung
stuff.  That holds until text is encountered.  Here, it's stymied by the use
of a request to configure centering.

Above I illustrate where I might cancel this unexpected temporary indentation
in my document.

Of course we might alter _groff mm_ to get itself out of this situation,
relieving this user of having grasp the fact that the macro package configured
a temporary indentation.

...but how?

Once a temporary indentation is configured, you're stuck with it until the
**next** output line is set and spat out into the current diversion.

With normal indentation, applicable to the pending output line, you can jimmy
the indentation as much as you want until the line breaks, at which point its
last configuration wins.

But with a temporary indentation, there's no going back.

There should be.







    _______________________________________________________

Reply to this item at:

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

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

Attachment: signature.asc
Description: PGP signature

Reply via email to