gbranden pushed a commit to branch master
in repository groff.

commit 00b993ea60c18e1a3336dfefdb8a2f334f232c7d
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Apr 25 08:16:00 2026 -0500

    doc/groff.texi.in: Clarify line output procedure.
    
    * Document interaction with traps.
    * Document application of adjustment and marginal annotations (line
      numbers and margin characters).
    * Favor "recall" over "see" for for backward references.
    * Break input lines in a roff-friendly way.
---
 doc/groff.texi.in | 75 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 62 insertions(+), 13 deletions(-)

diff --git a/doc/groff.texi.in b/doc/groff.texi.in
index 4ab293db2..636acf8f3 100644
--- a/doc/groff.texi.in
+++ b/doc/groff.texi.in
@@ -14856,13 +14856,14 @@ is negative; the vertical spacing is then set to the 
smallest possible
 positive value, the vertical motion quantum (as found in the @code{.V}
 register).
 
-@w{@samp{.vs 0}} isn't saved in a diversion since it doesn't result in
-a vertical motion.  You must explicitly issue this request before
-interpolating the diversion.
+@w{@samp{.vs 0}}
+isn't saved in a diversion since it doesn't result in a vertical motion.
+You must explicitly issue this request
+before interpolating the diversion if you desire its effect.
 
 The read-only register
 @code{.v}
-contains the vertical spacing.
+interpolates the vertical spacing.
 @endDefreq
 
 @need 200
@@ -14874,15 +14875,30 @@ When a break occurs, GNU @code{troff} performs the 
following procedure.
 @item
 @cindex extra pre-vertical line space (@code{\x})
 @cindex line space, extra pre-vertical (@code{\x})
-Move the drawing position vertically by the @dfn{extra pre-vertical line
-space}, the minimum of all negative @code{\x} escape sequence arguments
-in the pending output line.
+Move the drawing position vertically by the
+@dfn{extra pre-vertical line space},
+the minimum of all negative
+@code{\x}
+escape sequence arguments in the pending output line.
+If this motion springs a
+vertical position trap,@footnote{@xref{Vertical Position Traps}.}
+including
+the implicit page trap,@footnote{@xref{The Implicit Page Trap}.}
+interrupt this procedure.
 
 @item
 Move the drawing position vertically by the vertical line spacing.
+If this motion springs a trap,
+including the implicit page trap,
+interrupt this procedure.
 
 @item
-Write out the pending output line.
+Apply any configured adjustment
+and marginal annotations@footnote{@xref{Output Line Annotation}.},
+and append the pending output line
+to the current diversion@footnote{@xref{Diversions}.}
+(often,
+the output device's current page).
 
 @item
 @cindex extra post-vertical line space (@code{\x})
@@ -14890,20 +14906,53 @@ Write out the pending output line.
 Move the drawing position vertically by the @dfn{extra post-vertical line
 space}, the maximum of all positive @code{\x} escape sequence arguments
 in the line that has just been output.
+If this motion springs a trap,
+including the implicit page trap,
+abort this procedure.
 
 @item
 @cindex post-vertical line spacing
 @cindex line spacing, post-vertical (@code{pvs})
 Move the drawing position vertically by the @dfn{post-vertical line
 spacing} (see below).
+If this motion springs a trap,
+including the implicit page trap,
+abort this procedure.
 @end itemize
 
+If the break procedure is interrupted or aborted
+because a vertical position trap is sprung,
+GNU
+@command{troff} @c GNU
+updates the values of the
+@code{.ne}
+and
+@code{.trunc}
+registers.@footnote{@xref{Page Location Traps}.}
+Encountering the implicit page trap
+(@slanted{ibid.})
+does not alter them.
+
 @cindex double-spacing (@code{vs}, @code{pvs})
-Prefer @code{vs} or @code{pvs} over @code{ls} to produce double-spaced
-documents.  @code{vs} and @code{pvs} have finer granularity than
-@code{ls}; moreover, some preprocessors assume single spacing.
-@xref{Manipulating Spacing}, regarding the @code{\x} escape sequence and
-the @code{ls} request.
+Prefer
+@code{vs}
+or
+@code{pvs}
+over
+@code{ls}
+to produce double-spaced documents.
+@code{vs}
+and
+@code{pvs}
+have finer granularity than
+@code{ls};
+moreover, some preprocessors assume single spacing.
+Recall @ref{Manipulating Spacing},
+regarding the
+@code{\x}
+escape sequence and the
+@code{ls}
+request.
 
 @DefreqList {pvs, [@Var{space}]}
 @DefreqItem {pvs, @t{+}@Var{space}}

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to