Historically in man(7), the inter-paragraph spacing (equivalently, the
spacing before section and subsection headings, and the value of the PD
register) is 0.4v (or four tenths of a "vee", the distance between
vertically adjacent text baselines) on typesetters, and 1v on terminals
(that is, a blank line).[1]

1.  Replace `sp` requests with `PP` calls for paragraphs that should not
    be (specially) indented.

2.  Replace `sp` requests with `IP` calls for each paragraph that
    continues a discussion begun with a tagged paragraph (`TP`) and
    therefore should be indented the same as its predecessor.

3.  Add `PD` calls to restore normal inter-paragraph spacing when
    separating them inside doubly-nested tagged paragraphs where the
    outer layer of tagged paragraphs disables inter-paragraph spacing
    with `PD 0`.  (The difficulty/tedium of managing such things, as
    well as the "presentationalism" of the `PD` macro is why
    groff_man_style(7) deprecates it.  But it does have the virtue of
    being portable to all man(7) implementations thanks to its presence
    in Seventh Edition Unix man(7) (1979).)

I would like to say that this commit produces no change in nroff-mode
output on any implementation, but that's not quite the case.

Replacing `.sp 0.5` with `PP` caused the amount of inter-paragraph space
to round up to 1v on groff and mandoc.  This measurement "floors" on
nroff traditionally, rounding to zero, as the following command shows.

  printf '.TH foo 1\n.SH Name\na\n.sp 0.5\nb\n' | nroff -man | cat -s

(Use any nroff you like, or simply "mandoc".)

* groff Git
* groff 1.23.0
* groff 1.22.4

The following three implementations show progressively greater, but
arguably not alarming, differences.

* mandoc 1.14.6

As above, plus:

Incorrectly suppresses the restored (non-zero) paragraph spacing at the
following points.

$ sed -n 800,805p doc/bash.1
in decreasing order of precedence:
.IP
.RS
.PD 0
.TP
.B ( \fIexpression\fP )
$ sed -n 8303,8308p doc/bash.1
builtin is invoked.
.IP
.RS
.PD 0
.TP 8
\fB\-o\fP \fIcomp-option\fP

* Heirloom Doctools

As above, plus:

a.  Appears to _fix_ a font selection problem when output piped through
    ul(1) from the Debian "bsdextrautils" 2.36.1 package; the following
    lines are no longer set in a "dim" style on xterm(1).

        if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi

        declare -n ref=$1

b.  The same lines were already getting a blank line rendered after (but
    not before) them, unlike groff(1) and mandoc(1).

c.  The following line is now also styled consistently with its
    successors, instead of being set in a "dim" style.

        BASH_VERSINFO[0]        The major version number (the release).

    (When not piped through "less -R", "BASH_VERSINFO[", "]", and
    "release" appear in reverse video rather than a dim font.)

d.  The blank line that should render in the following is incorrectly
    suppressed.

$ sed -n 2671,2675p doc/bash.1
braces denote optional portions.
.PP
.RS
.PD 0
.TP 10

e.  The "(expression)" and "-o comp-option" lines mentioned under mandoc
    above are set with an _extra_ blank line, instead of mandoc's none.

f.  A blank line no longer renders at the paragraph break in the
    following.  This is correct because at this point in the page (where
    paragraph tagging is 3 levels deep), the configured inter-paragraph
    spacing is zero.  (Whether that is _intended_, and what style rules
    are supposed to apply at various levels of tag nesting, are not
    clear to me.)

$ sed -n 10286,10291p doc/bash.1
.B xtrace
Same as
.BR \-x .
.PP
If
.B \-o

* Documenter's Workbench 3.3

As Heirloom, plus:

g.  Because the number of lines in the formatted output changes, the
    pagination changes as well (as it does with groff(1) when the
    `-rcR=0` option is used when rendering man pages).

h.  The foregoing furthermore changes the parity of line adjustment.
    (In other words, spaces that "justify" the line are sometimes
    inserted from the opposite end.)

[1] Here is my support for my claim, thanks to TUHS.

I elided literal bell characters from System III sources; the resulting
syntax is invalid.  (It was an effort to cope with the prospect of macro
arguments containing embedded double-quotes, but the means of such
embedding was so esoteric in AT&T troff that few users acquired the
skill.)

--
HISTORY/MAN/1979-01-v7/tmac.an:.de PD
HISTORY/MAN/1979-01-v7/tmac.an-.if t .nr )P .4v
HISTORY/MAN/1979-01-v7/tmac.an-.if n .nr )P 1v
HISTORY/MAN/1979-01-v7/tmac.an-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1980-03-3BSD/tmac.an.new:.de PD
HISTORY/MAN/1980-03-3BSD/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1980-03-3BSD/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1980-03-3BSD/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1980-06-SystemIII/an.src:.dePD
HISTORY/MAN/1980-06-SystemIII/an.src-.ift .nr PD .4v
HISTORY/MAN/1980-06-SystemIII/an.src-.ifn .nr PD 1v
HISTORY/MAN/1980-06-SystemIII/an.src-.if!\\$1 .nr PD \\$1v
--
HISTORY/MAN/1980-10-4BSD/tmac.an.new:.de PD
HISTORY/MAN/1980-10-4BSD/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1980-10-4BSD/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1980-10-4BSD/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1982-12-4.1cBSD/tmac.an.new:.de PD
HISTORY/MAN/1982-12-4.1cBSD/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1982-12-4.1cBSD/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1982-12-4.1cBSD/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1983-09-4.2BSD/tmac.an.new:.de PD
HISTORY/MAN/1983-09-4.2BSD/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1983-09-4.2BSD/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1983-09-4.2BSD/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1986-06-4.3BSD/tmac.an.new:.de PD
HISTORY/MAN/1986-06-4.3BSD/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1986-06-4.3BSD/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1986-06-4.3BSD/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1987-01-4.3BSD-UWisc/tmac.an.new:.de PD
HISTORY/MAN/1987-01-4.3BSD-UWisc/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1987-01-4.3BSD-UWisc/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1987-01-4.3BSD-UWisc/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1988-01-Ultrix-11/an.src:.de PD\"paragraph distance
HISTORY/MAN/1988-01-Ultrix-11/an.src-.if t .nr PD .4v
HISTORY/MAN/1988-01-Ultrix-11/an.src-.if n .nr PD 1v
HISTORY/MAN/1988-01-Ultrix-11/an.src-.if !@\\$1@@ .nr PD \\$1v
--
HISTORY/MAN/1988-06-4.3BSD-Tahoe/tmac.an.new:.de PD
HISTORY/MAN/1988-06-4.3BSD-Tahoe/tmac.an.new-.if t .nr )P .4v
HISTORY/MAN/1988-06-4.3BSD-Tahoe/tmac.an.new-.if n .nr )P 1v
HISTORY/MAN/1988-06-4.3BSD-Tahoe/tmac.an.new-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1990-06-4.3BSD-Reno/tmac.an.old:.de PD
HISTORY/MAN/1990-06-4.3BSD-Reno/tmac.an.old-.if t .nr )P .4v
HISTORY/MAN/1990-06-4.3BSD-Reno/tmac.an.old-.if n .nr )P 1v
HISTORY/MAN/1990-06-4.3BSD-Reno/tmac.an.old-.if !"\\$1"" .nr )P \\$1v
--
HISTORY/MAN/1993-06-4.4BSD/tmac.an:.de PD
HISTORY/MAN/1993-06-4.4BSD/tmac.an-.if t .nr )P .4v
HISTORY/MAN/1993-06-4.4BSD/tmac.an-.if n .nr )P 1v
HISTORY/MAN/1993-06-4.4BSD/tmac.an-.if !"\\$1"" .nr )P \\$1v
---
 doc/bash.1 | 139 ++++++++++++++++++++++++-----------------------------
 1 file changed, 63 insertions(+), 76 deletions(-)

diff --git a/doc/bash.1 b/doc/bash.1
index 6e60f7a9..8c2fa229 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -355,12 +355,12 @@ .SH INVOCATION
 expanded value as the name of a file to read and execute.
 .B Bash
 behaves as if the following command were executed:
-.sp .5
+.PP
 .RS
 .if t \f(CWif [ \-n "$BASH_ENV" ]; then . "$BASH_ENV"; fi\fP
 .if n if [ \-n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
 .RE
-.sp .5
+.PP
 but the value of the
 .SM
 .B PATH
@@ -716,6 +716,7 @@ .SS Compound Commands
 and are removed.
 .TP
 \fB[[\fP \fIexpression\fP \fB]]\fP
+.PD
 Return a status of 0 or 1 depending on the evaluation of
 the conditional expression \fIexpression\fP.
 Expressions are composed of the primaries described below under
@@ -729,12 +730,10 @@ .SS Compound Commands
 (the expansions that would occur if the words were enclosed in double quotes).
 Conditional operators such as \fB\-f\fP must be unquoted to be recognized
 as primaries.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 When used with \fB[[\fP, the \fB<\fP and \fB>\fP operators sort
 lexicographically using the current locale.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 When the \fB==\fP and \fB!=\fP operators are used, the string to the
 right of the operator is considered a pattern and matched according
 to the rules described below under \fBPattern Matching\fP,
@@ -748,8 +747,7 @@ .SS Compound Commands
 (\fB!=\fP) the pattern, and 1 otherwise.
 Any part of the pattern may be quoted to force the quoted portion
 to be matched as a string.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 An additional binary operator, \fB=\(ti\fP, is available, with the same
 precedence as \fB==\fP and \fB!=\fP.
 When it is used, the string to the right of the operator is considered
@@ -772,8 +770,7 @@ .SS Compound Commands
 Treat bracket expressions in regular expressions carefully,
 since normal quoting and pattern characters lose their meanings
 between brackets.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 The pattern will match if it matches any part of the string.
 Anchor the pattern using the \fB\(ha\fP and \fB$\fP regular expression
 operators to force it to match the entire string.
@@ -800,12 +797,10 @@ .SS Compound Commands
 .B BASH_REMATCH
 in the global scope; declaring it as a local variable will lead to
 unexpected results.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 Expressions may be combined using the following operators, listed
 in decreasing order of precedence:
-.if t .sp 0.5
-.if n .sp 1
+.IP
 .RS
 .PD 0
 .TP
@@ -1351,12 +1346,12 @@ .SH PARAMETERS
 whose name is passed as an argument to the function.
 For instance, if a variable name is passed to a shell function as its first
 argument, running
-.sp .5
+.PP
 .RS
 .if t \f(CWdeclare \-n ref=$1\fP
 .if n declare \-n ref=$1
 .RE
-.sp .5
+.PP
 inside the function creates a nameref variable \fBref\fP whose value is
 the variable name passed as the first argument.
 References and assignments to \fBref\fP, and changes to its attributes,
@@ -1720,7 +1715,7 @@ .SS Shell Variables
 this instance of
 .BR bash .
 The values assigned to the array members are as follows:
-.sp .5
+.PP
 .RS
 .TP 24
 .B BASH_VERSINFO[\fR0\fP]
@@ -1867,6 +1862,7 @@ .SS Shell Variables
 shell startup.  This variable is readonly.
 .TP
 .B FUNCNAME
+.PD
 An array variable containing the names of all shell functions
 currently in the execution call stack.
 The element with index 0 is the name of any currently-executing
@@ -1884,8 +1880,7 @@ .SS Shell Variables
 .B FUNCNAME
 is unset, it loses its special properties, even if it is
 subsequently reset.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 This variable can be used with \fBBASH_LINENO\fP and \fBBASH_SOURCE\fP.
 Each element of \fBFUNCNAME\fP has corresponding elements in
 \fBBASH_LINENO\fP and \fBBASH_SOURCE\fP to describe the call stack.
@@ -1894,6 +1889,7 @@ .SS Shell Variables
 \fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP.
 The \fBcaller\fP builtin displays the current call stack using this
 information.
+.PD 0
 .TP
 .B GROUPS
 An array variable containing the list of groups of which the current
@@ -2673,7 +2669,7 @@ .SS Shell Variables
 expanded to a time value or other information.
 The escape sequences and their meanings are as follows; the
 braces denote optional portions.
-.sp .5
+.PP
 .RS
 .PD 0
 .TP 10
@@ -3273,7 +3269,7 @@ .SS Parameter Expansion
 .B
 ARITHMETIC EVALUATION
 below).
-.sp 1
+.IP
 If \fIoffset\fP evaluates to a number less than zero, the value
 is used as an offset in characters
 from the end of the value of \fIparameter\fP.
@@ -3284,7 +3280,7 @@ .SS Parameter Expansion
 \fIoffset\fP and that result.
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the \fB:-\fP expansion.
-.sp 1
+.IP
 If \fIparameter\fP is \fB@\fP or \fB*\fP, the result is \fIlength\fP
 positional parameters beginning at \fIoffset\fP.
 A negative \fIoffset\fP is taken relative to one greater than the greatest
@@ -3292,7 +3288,7 @@ .SS Parameter Expansion
 parameter (or 0 if there are no positional parameters).
 It is an expansion error if \fIlength\fP evaluates to a number less than
 zero.
-.sp 1
+.IP
 If \fIparameter\fP is an indexed array name subscripted by @ or *,
 the result is the \fIlength\fP
 members of the array beginning with ${\fIparameter\fP[\fIoffset\fP]}.
@@ -3300,10 +3296,10 @@ .SS Parameter Expansion
 index of the specified array.
 It is an expansion error if \fIlength\fP evaluates to a number less than
 zero.
-.sp 1
+.IP
 Substring expansion applied to an associative array produces undefined
 results.
-.sp 1
+.IP
 Substring indexing is zero-based unless the positional parameters
 are used, in which case the indexing starts at 1 by default.
 If \fIoffset\fP is 0, and the positional parameters are used, \fB$0\fP is
@@ -3465,11 +3461,11 @@ .SS Parameter Expansion
 If \fIstring\fP is null,
 matches of \fIpattern\fP are deleted
 and the \fB/\fP following \fIpattern\fP may be omitted.
-.sp 1
+.IP
 If the \fBpatsub_replacement\fP shell option is enabled using \fBshopt\fP,
 any unquoted instances of \fB&\fP in \fIstring\fP are replaced with the
 matching portion of \fIpattern\fP.
-.sp 1
+.IP
 Quoting any part of \fIstring\fP inhibits replacement in the
 expansion of the quoted portion, including replacement strings stored
 in shell variables.
@@ -3485,7 +3481,7 @@ .SS Parameter Expansion
 shell programmers should quote any occurrences of \fB&\fP
 they want to be taken literally in the replacement
 and ensure any instances of \fB&\fP they want to be replaced are unquoted.
-.sp 1
+.IP
 If the
 .B nocasematch
 shell option is enabled, the match is performed without regard to the case
@@ -3553,7 +3549,7 @@ .SS Parameter Expansion
 The expansion is either a transformation of the value of \fIparameter\fP
 or information about \fIparameter\fP itself, depending on the value of
 \fIoperator\fP.  Each \fIoperator\fP is a single letter:
-.sp 1
+.PP
 .RS
 .PD 0
 .TP
@@ -3617,7 +3613,7 @@ .SS Parameter Expansion
 .BR * ,
 the operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
-.sp 1
+.PP
 The result of the expansion is subject to word splitting and pathname
 expansion as described below.
 .RE
@@ -4091,7 +4087,7 @@ .SS Pathname Expansion
 or more patterns separated by a \fB|\fP.
 Composite patterns may be formed using one or more of the following
 sub-patterns:
-.sp 1
+.PP
 .PD 0
 .RS
 .TP
@@ -4889,7 +4885,7 @@ .SH "CONDITIONAL EXPRESSIONS"
 lexicographically using the current locale.
 When the shell is not in \fIposix mode\fP,
 the \fBtest\fP command sorts using ASCII ordering.
-.sp 1
+.PP
 .PD 0
 .TP
 .B \-a \fIfile\fP
@@ -6511,7 +6507,7 @@ .SS "Readline Conditional Constructs"
 This could be used to bind key sequences to functions useful for
 a specific program.  For instance, the following command adds a
 key sequence that quotes the current or previous word in \fBbash\fP:
-.sp 1
+.PP
 .RS
 .nf
 \fB$if\fP Bash
@@ -6540,7 +6536,7 @@ .SS "Readline Conditional Constructs"
 This directive takes a single filename as an argument and reads commands
 and bindings from that file.  For example, the following directive
 would read \fI/etc/inputrc\fP:
-.sp 1
+.PP
 .RS
 .nf
 \fB$include\fP \^ \fI/etc/inputrc\fP
@@ -8255,13 +8251,13 @@ .SH "SHELL BUILTIN COMMANDS"
 When using the \fB\-F\fP or \fB\-C\fP options, the various shell variables
 set by the programmable completion facilities, while available, will not
 have useful values.
-.sp 1
+.IP
 The matches will be generated in the same way as if the programmable
 completion code had generated them directly from a completion specification
 with the same flags.
 If \fIword\fP is specified, only those completions matching \fIword\fP
 will be displayed.
-.sp 1
+.IP
 The return value is true unless an invalid option is supplied, or no
 matches were generated.
 .TP
@@ -8297,19 +8293,19 @@ .SH "SHELL BUILTIN COMMANDS"
 If any of \fB\-D\fP, \fB\-E\fP, or \fB\-I\fP are supplied, any other
 \fIname\fP arguments are ignored; these completions only apply to the case
 specified by the option.
-.sp 1
+.IP
 The process of applying these completion specifications when word completion
 is attempted is described
 .ie \n(zZ=1 in \fIbash(1)\fP.
 .el above under \fBProgrammable Completion\fP.
-.sp 1
+.IP
 Other options, if specified, have the following meanings.
 The arguments to the \fB\-G\fP, \fB\-W\fP, and \fB\-X\fP options
 (and, if necessary, the \fB\-P\fP and \fB\-S\fP options)
 should be quoted to protect them from expansion before the
 .B complete
 builtin is invoked.
-.sp 1
+.IP
 .RS
 .PD 0
 .TP 8
@@ -8525,7 +8521,7 @@ .SH "SHELL BUILTIN COMMANDS"
 apply to completion on the initial non-assignment word on the line,
 or after a command delimiter such as \fB;\fP or \fB|\fP, which is usually
 command name completion.
-.sp 1
+.IP
 The return value is true unless an invalid option is supplied, an attempt
 is made to modify the options for a \fIname\fP for which no completion
 specification exists, or an output error occurs.
@@ -9017,7 +9013,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .I first
 is not specified, it is set to the previous
 command for editing and \-16 for listing.
-.sp 1
+.IP
 The
 .B \-n
 option suppresses
@@ -9048,7 +9044,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .FN vi
 is used.  When editing is complete, the edited commands are
 echoed and executed.
-.sp 1
+.IP
 In the second form, \fIcommand\fP is re-executed after each instance
 of \fIpat\fP is replaced by \fIrep\fP.
 \fICommand\fP is interpreted the same as \fIfirst\fP above.
@@ -9065,7 +9061,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .if n ``r''
 .if t \f(CWr\fP
 re-executes the last command.
-.sp 1
+.IP
 If the first form is used, the return value is 0 unless an invalid
 option is encountered or
 .I first
@@ -9134,14 +9130,14 @@ .SH "SHELL BUILTIN COMMANDS"
 .B getopts
 within the same shell invocation if a new set of parameters
 is to be used.
-.sp 1
+.IP
 When the end of options is encountered, \fBgetopts\fP exits with a
 return value greater than zero.
 .SM
 .B OPTIND
 is set to the index of the first non-option argument,
 and \fIname\fP is set to ?.
-.sp 1
+.IP
 .B getopts
 normally parses the positional parameters, but if more arguments are
 supplied as
@@ -9149,7 +9145,7 @@ .SH "SHELL BUILTIN COMMANDS"
 values,
 .B getopts
 parses those instead.
-.sp 1
+.IP
 .B getopts
 can report errors in two ways.  If the first character of
 .I optstring
@@ -9165,7 +9161,7 @@ .SH "SHELL BUILTIN COMMANDS"
 character of
 .I optstring
 is not a colon.
-.sp 1
+.IP
 If an invalid option is seen,
 .B getopts
 places ? into
@@ -9181,7 +9177,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .SM
 .B OPTARG
 and no diagnostic message is printed.
-.sp 1
+.IP
 If a required argument is not found, and
 .B getopts
 is not silent,
@@ -9198,7 +9194,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .SM
 .B OPTARG
 is set to the option character found.
-.sp 1
+.IP
 .B getopts
 returns true if an option, specified or unspecified, is found.
 It returns false if the end of options is encountered or an
@@ -9265,10 +9261,10 @@ .SH "SHELL BUILTIN COMMANDS"
 .B \-s
 Display only a short usage synopsis for each \fIpattern\fP
 .PD
-.PP
+.RE
+.IP
 The return status is 0 unless no command matches
 .IR pattern .
-.RE
 .TP
 \fBhistory [\fIn\fP]
 .PD 0
@@ -9672,7 +9668,7 @@ .SH "SHELL BUILTIN COMMANDS"
 control of the \fIformat\fP.
 The \fB\-v\fP option causes the output to be assigned to the variable
 \fIvar\fP rather than being printed to the standard output.
-.sp 1
+.IP
 The \fIformat\fP is a character string which contains three types of objects:
 plain characters, which are simply copied to standard output, character
 escape sequences, which are converted and copied to the standard output, and
@@ -10075,6 +10071,7 @@ .SH "SHELL BUILTIN COMMANDS"
 effective only when job control is enabled.
 .TP 8
 .B \-e
+.PD
 Exit immediately if a
 \fIpipeline\fP (which may consist of a single \fIsimple command\fP),
 a \fIlist\fP,
@@ -10116,8 +10113,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .el above),
 and may cause
 subshells to exit before executing all the commands in the subshell.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 If a compound command or shell function executes in a context
 where \fB\-e\fP is being ignored,
 none of the commands executed within the compound command or function body
@@ -10127,6 +10123,7 @@ .SH "SHELL BUILTIN COMMANDS"
 a context where \fB\-e\fP is ignored, that setting will not have any
 effect until the compound command or the command containing the function
 call completes.
+.PD 0
 .TP 8
 .B \-f
 Disable pathname expansion.
@@ -10289,7 +10286,6 @@ .SH "SHELL BUILTIN COMMANDS"
 .B xtrace
 Same as
 .BR \-x .
-.sp .5
 .PP
 If
 .B \-o
@@ -10515,8 +10511,7 @@ .SH "SHELL BUILTIN COMMANDS"
 option.
 .PP
 The list of \fBshopt\fP options is:
-.if t .sp .5v
-.if n .sp 1v
+.PP
 .PD 0
 .TP 8
 .B array_expand_once
@@ -11019,6 +11014,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .PD 0
 .TP
 \fB[\fP \fIexpr\fP \fB]\fP
+.PD
 Return a status of 0 (true) or 1 (false) depending on
 the evaluation of the conditional expression
 .IR expr .
@@ -11031,8 +11027,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .BR "CONDITIONAL EXPRESSIONS" .
 \fBtest\fP does not accept any options, nor does it accept and ignore
 an argument of \fB\-\-\fP as signifying the end of options.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 Expressions may be combined using the following operators, listed
 in decreasing order of precedence.
 The evaluation depends on the number of arguments; see below.
@@ -11066,8 +11061,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .PP
 \fBtest\fP and \fB[\fP evaluate conditional
 expressions using a set of rules based on the number of arguments.
-.if t .sp 0.5
-.if n .sp 1
+.PP
 .PD 0
 .TP
 0 arguments
@@ -11122,16 +11116,14 @@ .SH "SHELL BUILTIN COMMANDS"
 5 or more arguments
 The expression is parsed and evaluated according to precedence
 using the rules listed above.
-.if t .sp 0.5
-.if n .sp 1
-.LP
-If the shell is not in \fIposix mode\fP, 
+.PD
+.PP
+If the shell is not in \fIposix mode\fP,
 when used with \fBtest\fP or \fB[\fP, the \fB<\fP and \fB>\fP operators
 sort lexicographically using ASCII ordering.
 When the shell is in \fIposix mode\fP, these operators sort using the
 current locale.
 .RE
-.PD
 .TP
 .B times
 Print the accumulated user and system times for the shell and
@@ -11155,8 +11147,7 @@ .SH "SHELL BUILTIN COMMANDS"
 is the null string the signal specified by each
 .I sigspec
 is ignored by the shell and by the commands it invokes.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 If no arguments are supplied,
 .B trap
 displays the actions associated with each trapped signal
@@ -11185,8 +11176,7 @@ .SH "SHELL BUILTIN COMMANDS"
 in a subshell environment (e.g., command substitution) and, as
 long as they are used before \fBtrap\fP is used to change a signal's
 handling, will display the state of its parent's traps.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 The
 .B \-l
 option causes \fBtrap\fP to print a list of signal names and
@@ -11199,8 +11189,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .SM
 .B SIG
 prefix is optional.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 If a
 .I sigspec
 is
@@ -11236,8 +11225,7 @@ .SH "SHELL BUILTIN COMMANDS"
 .I action
 is executed each time a shell function or a script executed with
 the \fB.\fP or \fBsource\fP builtins finishes executing.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 If a
 .I sigspec
 is
@@ -11271,8 +11259,7 @@ .SH "SHELL BUILTIN COMMANDS"
 being inverted using
 .BR ! .
 These are the same conditions obeyed by the \fBerrexit\fP (\fB\-e\fP) option.
-.if t .sp 0.5
-.if n .sp 1
+.IP
 When the shell is not interactive,
 signals ignored upon entry to the shell cannot be trapped or reset.
 Interactive shells permit trapping signals ignored on entry.
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to