[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/8] doc/bash.1: use consistent inter-paragraph spacing
From: |
G. Branden Robinson |
Subject: |
[PATCH 1/8] doc/bash.1: use consistent inter-paragraph spacing |
Date: |
Wed, 10 Jan 2024 10:18:02 -0600 |
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
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 1/8] doc/bash.1: use consistent inter-paragraph spacing,
G. Branden Robinson <=