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/
signature.asc
Description: PGP signature
