Package: lsof
Version: 4.99.3+dfsg-2
Severity: minor
Tags: patch

   * What led up to the situation?

     Checking for defects with

test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z < "man page"

  [Use "groff -e ' $' <file>" to find trailing spaces.]

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?


troff: backtrace: file 'stdin':956
troff:stdin:956: warning: trailing space in the line


   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.9-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages lsof depends on:
ii  libc6         2.40-3
ii  liblsof0      4.99.3+dfsg-2
ii  libselinux1   3.7-3+b1
ii  libtirpc3t64  1.3.4+ds-1.3+b1

lsof recommends no packages.

lsof suggests no packages.

-- no debconf information
Input file is lsof.8

  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8  <man page>

  The same goes for man pages that are used as an input.

  For a style guide use

  mandoc -T lint

-.-

  So any 'generator' should check its products with the above mentioned
'groff', 'mandoc',  and additionally with 'nroff ...'.

  This is just a simple quality control measure.

  The 'generator' may have to be corrected to get a better man page,
the source file may, and any additional file may.

  Common defects:

  Input text line longer than 80 bytes.

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  Not beginning each input sentence on a new line.
Lines should thus be shorter.

  See man-pages(7), item 'semantic newline'.

-.-

The difference between the formatted output of the original and patched file
can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -u <out1> <out2>

and for groff, using

"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - "

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output of 'diff -u' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -b -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)


-.-.

Output from "mandoc -T lint  lsof.8 ": (shortened list)

      4 input text line longer than 80 bytes
      5 skipping insecure request
     14 skipping paragraph macro

-.-.

Output from "test-groff -mandoc -t -ww -b -z lsof.8 ": (shortened list)

      1 trailing space in the line

-.-.

Output from "mandoc -T lint  lsof.8 ":

mandoc: lsof.8:1:2: ERROR: skipping insecure request: lf
mandoc: lsof.8:2:2: ERROR: skipping insecure request: lf
mandoc: lsof.8:4:2: ERROR: skipping insecure request: lf
mandoc: lsof.8:80:2: ERROR: skipping insecure request: lf
mandoc: lsof.8:88:2: ERROR: skipping insecure request: lf
mandoc: lsof.8:659:118: STYLE: input text line longer than 80 bytes: specifies 
that Linux...
mandoc: lsof.8:661:102: STYLE: input text line longer than 80 bytes: should be 
displayed ...
mandoc: lsof.8:669:83: STYLE: input text line longer than 80 bytes: Note 2: 
POSIX Messag...
mandoc: lsof.8:696:86: STYLE: input text line longer than 80 bytes: output 
contains ptye...
mandoc: lsof.8:986:2: WARNING: skipping paragraph macro: br after br
mandoc: lsof.8:3600:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:3671:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:3769:2: WARNING: skipping paragraph macro: PP empty
mandoc: lsof.8:3776:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:3846:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:3941:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:4012:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:4106:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:4132:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:4164:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:4233:2: WARNING: skipping paragraph macro: PP after SH
mandoc: lsof.8:4312:2: WARNING: skipping paragraph macro: PP empty
mandoc: lsof.8:4642:2: WARNING: skipping paragraph macro: PP after SH
-.-.

-.-.

Change '-' (\-) to '\(en' (en-dash) for a numeric range.
GNU gnulib has recently (2023-06-18) updated its
"build_aux/update-copyright" to recognize "\(en" in man pages.

lsof.8:427:member is larger than the starting one \- e.g., ``0\-7'' or 
``3\-10''.
lsof.8:429:e.g., ``^0\-7'' excludes all file descriptors 0 through 7.
lsof.8:1092:    tcp@foo:1\-10,smtp,99 \- TCP, ports 1 through 10,
lsof.8:3461:    1\-9    dialect\-specific field identifiers (The output
lsof.8:3991:    OpenBSD 2.[89] and 3.[0\-9] for based systems
lsof.8:4389:lsof \-i @wonderland.cc.purdue.edu:513\-515

-.-.

Change two HYPHEN-MINUSES (code 0x2D) to an em-dash (\(em),
if one is intended.
  " \(em " creates a too big gap in the text (in "troff").

An en-dash is usually surrounded by a space,
while an em-dash is used without spaces.
"man" (1 byte characters in input) transforms an en-dash (\(en) to one
HYPHEN-MINUS,
and an em-dash to two HYPHEN-MINUSES without considering the space
around it.
If "--" are two single "-" (end of options) then use "\-\-".

lsof.8:204:Options may be grouped together following a single prefix -- e.g.,
lsof.8:1703:the name -- e.g., ``SO=LINGER=5'', ``SO=QLIM=5'', ``TF=MSS=512''.
lsof.8:2116:The case requires that the absolute path -- i.e., one beginning 
with a
lsof.8:2550:    \fBNOFD\fP      for a Linux /proc/<PID>/fd directory that can't 
be opened --

-.-.

Use the correct macro for the font change of a single argument or
split the argument into two.

1316:.BI \-o

-.-.

Add a backslash, if it is missing after \{ at the end of a line.

962:.ie !\n(.g \{
965:.el \{

-.-.

Use "\e" to print the escape character instead of "\\" (which gets
interpreted in copy mode).

2360:the C ``\\[bfrnt]'' form;
2362:or hexadecimal leading ``\\x'' form (e.g., ``\\xab'').
2363:Space is non\-printable in the COMMAND column (``\\x20'')

-.-.

Find a repeated word

! 976 --> be
! 2132 --> is

-.-.

Strings longer than 3/4 of a standard line length (80)
Use "\:" to split the string at the end of an output line, for example a
long URLs (web address)

963 
[\fI46\fP][\fIprotocol\fP][@\fIhostname\fP\||\|\fIhostaddr\fP][:\fIservice\fP\||\|\fIport\fP]

-.-.

Add a comma (or \&) after "e.g." and "i.e.", or use English words
(man-pages(7)).
Abbreviation points should be protected against being interpreted as
an end of sentence, if they are not, and that independent of the
current place on the line.

912:directs lsof to print human readable sizes, e.g. 123.4K 456.7M.
1732:header), so that it is easy to use programmatically. e.g.

-.-.

Wrong distance between sentences in the input file.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

696:output contains ptyept. In addition, this feature works on Linux kernels 
above 4.13.0.
723:are the same as with pipe endpoint information. The endpoint
731:the same form as that of pipe. This feature works on Linux kernels
912:directs lsof to print human readable sizes, e.g. 123.4K 456.7M.
1422:ignore failed search terms. When
1428:will return an error if any of the search results are empty. The
1433:search results are empty. In addition, missing search terms will not
1732:header), so that it is easy to use programmatically. e.g.
2404:lsof FAQ (The \fBFAQ\fP section gives its location.) for more information.
2612:post\-processing scripts. FD numbers larger than 9999 are abbreviated
2613:to a ``*'' followed by the last three digits. E.g., 10001 appears as
3386:the file descriptor (`f') field. However,
3388:in this version doesn't produce it. This change is for supporting
3390:need the file descriptor field. Specify `f' explicitly if you
3454:             UNIX dialects. The \fB\-h\fP or \fB\-?\fP help output for the

-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.


Line 659, length 118

specifies that Linux pipe, Linux UNIX socket, Linux INET(6) socket closed in a 
local host, Linux pseudoterminal files,

Line 661, length 102

should be displayed with endpoint information and the files of the endpoints 
should also be displayed.

Line 669, length 83

Note 2: POSIX Message Queue file endpoint information is only available when 
mqueue

Line 696, length 86

output contains ptyept. In addition, this feature works on Linux kernels above 
4.13.0.

Line 963, length 93

[\fI46\fP][\fIprotocol\fP][@\fIhostname\fP\||\|\fIhostaddr\fP][:\fIservice\fP\||\|\fIport\fP]

Line 984, length 83

        \fIprotocol\fP is a protocol name \- \fBTCP\fP, \fBUDP\fP or 
\fBUDPLITE\fP.

Line 2550, length 84

        \fBNOFD\fP      for a Linux /proc/<PID>/fd directory that can't be 
opened --

Line 2551, length 83

                the directory path appears in the NAME column, followed by an 
error

Line 3435, length 85

        o       file's offset (0t<decimal> or 0x<hexadecimal>, see \fB\-o\fP 
\fIo\fP)


-.-.

Use \(en (en-dash) for a dash between space characters,
not a minus (\-) or a hyphen (-), except in the NAME section.

lsof.8:1604:displays whatever value - size or offset - is appropriate and
lsof.8:1607:Since some types of files don't have true sizes - sockets, FIFOs,
lsof.8:1608:pipes, etc.\& - lsof displays for their sizes the content amounts in
lsof.8:1617:\- that might otherwise deadlock.
lsof.8:1978:\- are not recorded in the cached path, what
lsof.8:2366:For some dialects - if HASSETLOCALE is defined in the dialect's
lsof.8:2383:be used in place of LANG - e.g., LC_ALL, LC_CTYPE, etc.
lsof.8:2386:language locale support for a dialect also covers wide characters - 
e.g.,
lsof.8:2387:UTF-8 - when HASSETLOCALE and HASWIDECHAR are defined in the 
dialect's
lsof.8:3038:    OPIP            open pending - in progress

-.-.

Split a punctuation mark from a single argument for a two-font macro

1036:.BR 4,
1037:.BR 6,
1906:.BR \-X,

-.-.

The section part for a manual page is set in roman font.

3497:.I xargs (1),

-.-.

End of a block is marked with a "\}" without a period in front of it.
That creates a space character, which forces "groff" to waste processing
time to remove.

964:\}
967:\}

-.-.

Use a character "\(->" instead of plain "->"

685:``\->/dev/pts\fImin\fP\ \fIPID,cmd,FDmode\fP'' or ``\fIPID,cmd,FDmode\fP''.
701:``type=\fITYPE\fP\ \->INO=\fIINODE\fP\ \fIPID,cmd,FDmode\fP'', where
719:`` \-> \fIPID,cmd,FDmode\fP'', where
3176:port, ``\->'', and the two\-part remote address;
3209:or a stream character device name, followed by ``\->'' and the stream name
3210:or a list of stream module names, separated by ``\->'';
3213:names, separated by ``\->'';
3223:or ``PIPE\->'', followed by a Solaris kernel pipe destination address;
3264:when available, followed by ``\->'' and the remote path name or kernel
3280:and ``\->'' if <address1>, the vnode address of this vnode, has been

-.-.

Add missing period (.) for "e.g"

2083:is the base name of a family of multiplexed files \- e.g, AIX's
3157:or the Internet protocol type \- e.g, ``TCP'';
3336:produces output that is suitable for processing by another program \- e.g, 
an

-.-.

Two or more space charaters between printable characters

1114:it must be ``i''.  That causes
1584:provide a complete list.  Some common TCP state names are:
1694:TCP_  and TF_ in the dialect's header files \-
3246:or ``(socketpair: n)'' for a Solaris 2.6, 8, 9  or 10
4333:options \-  with the message:

-.-.

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z ":

troff: backtrace: file 'stdin':956
troff:stdin:956: warning: trailing space in the line

Output from "test-nroff  -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z ":

troff: backtrace: file 'stdin':956
troff:stdin:956: warning: trailing space in the line

-.-.

N.B. Line numbers are sometimes wrong as the file contains ".lf" requests.

">B" changed to ".B"

options -> option in case of "with X or Y option"
--- lsof.8      2024-11-24 17:58:07.978984767 +0000
+++ lsof.8.new  2024-11-24 23:38:13.754971828 +0000
@@ -29,45 +29,58 @@ lsof \- list open files
 ] [
 .B +|\-E
 ] [
-.B +|\-f [cfgGn]
+.B +|\-f
+.RB [ cfgGn ]
 ] [
-.BI \-F " [f]"
+.B \-F
+.RI [ f ]
 ] [
-.BI \-g " [s]"
+.B \-g
+.RI [ s ]
 ] [
-.BI \-i " [i]"
+.B \-i
+.RI [ i ]
 ] [
 .BI \-k " k"
 ] [
 .BI \-K " k"
 ] [
-.BI +|\-L " [l]"
+.B +|\-L
+.RI [ l ]
 ] [
 .BI +|\-m " m"
 ] [
 .B +|\-M
 ] [
-.BI \-o " [o]"
+.B \-o
+.RI [ o ]
 ] [
 .BI \-p " s"
 ] [
-.BI +|\-r " [t[m<fmt>]]"
+.B +|\-r
+.RI [ t [ m<fmt> ]]
 ] [
-.BI \-s " [p:s]"
+.B \-s
+.RI [ p:s ]
 ] [
-.BI \-S " [t]"
+.B \-S
+.RI [ t ]
 ] [
-.BI \-T " [t]"
+.B \-T
+.RI [ t ]
 ] [
 .BI \-u " s"
 ] [
 .B +|\-w
 ] [
-.BI \-x " [fl]"
+.B \-x
+.RI [ f\&l ]
 ] [
-.BI \-z " [z]"
+.B \-z
+.RI [ z ]
 ] [
-.BI \-Z " [Z]"
+.B \-Z
+.RI [ Z ]
 ] [
 .B \-\-
 ] [\fInames\fP]
@@ -115,7 +128,8 @@ will run in repeat mode.
 In repeat mode it will produce output, delay, then repeat the output
 operation until stopped with an interrupt or quit signal.
 See the
-.BI +|\-r " [t[m<fmt>]]"
+.B +|\-r
+.RI [ t [ m<fmt> ]]
 option description for more information.
 .SH OPTIONS
 In the absence of any options,
@@ -123,7 +137,7 @@ In the absence of any options,
 lists all open files belonging to all active processes.
 .PP
 If any list request option is specified, other list requests must be
-specifically requested \- e.g., if
+specifically requested \(en e.g., if
 .B \-U
 is specified for the listing of UNIX socket files, NFS files won't be
 listed unless
@@ -136,7 +150,7 @@ won't be listed unless the
 .B \-U
 option is also specified.
 .PP
-Normally, list options that are specifically stated are ORed \- i.e.,
+Normally, list options that are specifically stated are ORed \(en i.e.,
 specifying the
 .B \-i
 option without an address and the \fB\-u\fPfoo option produces a
@@ -166,7 +180,8 @@ option;
 .TP \w'1)\ 'u
 5)
 the (`^') negated TCP or UDP protocol state names, specified with the
-.BI \-s " [p:s]"
+.B \-s
+.RI [ p:s ]
 option.
 .PP
 Since they represent exclusions, they are applied without ORing or ANDing
@@ -191,9 +206,9 @@ Wherever
 .B \-a
 is placed, it causes the ANDing of all selection options.
 .PP
-Items of the same selection set \- command names, file descriptors,
+Items of the same selection set \(en command names, file descriptors,
 network addresses, process identifiers, user identifiers, zone names,
-security contexts \- are joined in a single ORed set and applied
+security contexts \(en are joined in a single ORed set and applied
 before the result participates in ANDing.
 Thus, for example, specifying \fB\-i\[email protected], \fB\-i\[email protected],
 .BR \-a ,
@@ -201,7 +216,7 @@ and \fB\-u\fPfff,ggg will select the lis
 either login ``fff'' OR ``ggg'' AND have network connections to either
 host aaa.bbb OR ccc.ddd.
 .PP
-Options may be grouped together following a single prefix -- e.g.,
+Options may be grouped together following a single prefix \(en e.g.,
 the option set ``\fB\-a \-b \-C\fP'' may be stated as
 .BR \-abC .
 However, since values are optional following
@@ -232,17 +247,17 @@ field identifier character following the
 .B \-F
 option.
 When ambiguity is possible, start a new option with a `\-'
-character \- e.g., ``\fB\-F \-n\fP''.
+character \(en e.g., ``\fB\-F \-n\fP''.
 If the next option is a file name, follow the possibly ambiguous
-option with ``\-\-'' \- e.g., ``\fB\-F \-\- \fIname\fR''.
+option with ``\-\-'' \(en e.g., ``\fB\-F \-\- \fIname\fR''.
 .PP
 Either the `+' or the `\-' prefix may be applied to a group of options.
 Options that don't take on separate meanings for each
-prefix \- e.g., \fB\-i\fP \- may be grouped under either prefix.
+prefix \(en e.g., \fB\-i\fP \(en may be grouped under either prefix.
 Thus, for example, ``+M \-i'' may be stated as ``+Mi'' and the group
 means the same as the separate options.
 Be careful of prefix grouping when one or more options in the group
-does take on separate meanings under different prefixes \-
+does take on separate meanings under different prefixes \(en
 e.g., \fB+|\-M\fP; ``\-iM'' is not the same request as ``\-i +M''.
 When in doubt, use separate options with appropriate prefixes.
 .TP \w'names'u+4
@@ -276,7 +291,7 @@ symbols, and how they affect
 .B \-b
 causes
 .I lsof
-to avoid kernel functions that might block \-
+to avoid kernel functions that might block \(en
 .IR lstat (2),
 .IR readlink (2),
 and
@@ -424,9 +439,9 @@ Mixed lists are not permitted.
 .IP
 A file descriptor number range may be in the set as long as
 neither member is empty, both members are numbers, and the ending
-member is larger than the starting one \- e.g., ``0\-7'' or ``3\-10''.
-Ranges may be specified for exclusion if they have the `^' prefix \-
-e.g., ``^0\-7'' excludes all file descriptors 0 through 7.
+member is larger than the starting one \(en e.g., ``0\(en7'' or ``3\(en10''.
+Ranges may be specified for exclusion if they have the `^' prefix \(en
+e.g., ``^0\(en7'' excludes all file descriptors 0 through 7.
 .IP
 Multiple file descriptor numbers are joined in a single ORed set before
 participating in AND option selection.
@@ -504,11 +519,11 @@ be followed by a path name.
 recognizes these function letters:
 .IP
 .nf
-       \fB?\fP \- report device cache file paths
-       \fBb\fP \- build the device cache file
-       \fBi\fP \- ignore the device cache file
-       \fBr\fP \- read the device cache file
-       \fBu\fP \- read and update the device cache file
+       \fB?\fP \(en report device cache file paths
+       \fBb\fP \(en build the device cache file
+       \fBi\fP \(en ignore the device cache file
+       \fBr\fP \(en read the device cache file
+       \fBu\fP \(en read and update the device cache file
 .fi
 .IP
 The
@@ -557,7 +572,7 @@ was configured and compiled.
 .B \-h
 and
 .B \-?
-options show the current default prefix \- e.g., ``.lsof''.)
+options show the current default prefix \(en e.g., ``.lsof''.)
 The suffix,
 .IR hostname ,
 is the first component of the host's name returned by
@@ -656,9 +671,11 @@ option.)
 .TP \w'names'u+4
 .B +|\-E
 .B +E
-specifies that Linux pipe, Linux UNIX socket, Linux INET(6) socket closed in a 
local host, Linux pseudoterminal files,
+specifies that Linux pipe, Linux UNIX socket,
+Linux INET(6) socket closed in a local host, Linux pseudoterminal files,
 POSIX Message Queueue implementation in Linux, and Linux eventfd
-should be displayed with endpoint information and the files of the endpoints 
should also be displayed.
+should be displayed with endpoint information
+and the files of the endpoints should also be displayed.
 .IP
 Note 1: UNIX socket file endpoint information is only available when the
 features enabled line of
@@ -666,8 +683,8 @@ features enabled line of
 output contains uxsockept, and psudoterminal endpoint information is only
 available when the features enabled line contains ptyept.
 .IP
-Note 2: POSIX Message Queue file endpoint information is only available when 
mqueue
-file system is mounted.
+Note 2: POSIX Message Queue file endpoint information is only available
+when mqueue file system is mounted.
 .IP
 Pipe endpoint information is displayed in the NAME column in the
 form ``\fIPID,cmd,FDmode\fP'', where
@@ -682,7 +699,7 @@ is the endpoint file's access mode.
 .IP
 Pseudoterminal
 endpoint information is displayed in the NAME column as
-``\->/dev/pts\fImin\fP\ \fIPID,cmd,FDmode\fP'' or ``\fIPID,cmd,FDmode\fP''.
+``\(->/dev/pts\fImin\fP\ \fIPID,cmd,FDmode\fP'' or ``\fIPID,cmd,FDmode\fP''.
 The first form is for a master device; the second, for a slave device.
 .I min
 is a slave device's minor device number; and
@@ -693,12 +710,13 @@ are the same as with pipe endpoint infor
 Note: psudoterminal endpoint information is only available when the features
 enabled line of
 .B \-v
-output contains ptyept. In addition, this feature works on Linux kernels above 
4.13.0.
+output contains ptyept.
+In addition, this feature works on Linux kernels above 4.13.0.
 .IP
 UNIX socket file endpoint information is displayed in the NAME column
 in the form
 .br
-``type=\fITYPE\fP\ \->INO=\fIINODE\fP\ \fIPID,cmd,FDmode\fP'', where
+``type=\fITYPE\fP\ \(->INO=\fIINODE\fP\ \fIPID,cmd,FDmode\fP'', where
 .I TYPE
 is the socket type;
 .I INODE
@@ -716,20 +734,21 @@ output contains uxsockept.
 INET socket file endpoint information is inserted to the value at the
 NAME column in the form
 .br
-`` \-> \fIPID,cmd,FDmode\fP'', where
+`` \(-> \fIPID,cmd,FDmode\fP'', where
 .I "PID, cmd, FD"
 and
 .I mode
-are the same as with pipe endpoint information. The endpoint
-information is available only if the socket is used for local
-IPC; both endpoints bind to the same local IPv4 or IPv6 address.
+are the same as with pipe endpoint information.
+The endpoint information is available
+only if the socket is used for local IPC;
+both endpoints bind to the same local IPv4 or IPv6 address.
 .IP
 POSIX Message Queue file endpoint information is displayed in the NAME
 column in the same form as that of pipe.
 .IP
 eventfd endpoint information is displayed in the NAME column in
-the same form as that of pipe. This feature works on Linux kernels
-above 5.2.0.
+the same form as that of pipe.
+This feature works on Linux kernels above 5.2.0.
 .IP
 Multiple occurrences of this information can appear in a file's
 NAME column.
@@ -738,7 +757,7 @@ NAME column.
 specifies that endpoint supported files should be displayed
 with endpoint information, but not the files of the endpoints.
 .TP \w'names'u+4
-.B +|\-f [cfgGn]
+.BR +|\-f " [" cfgGn ]
 .B f
 by itself clarifies how path name arguments are to be interpreted.
 When followed by
@@ -794,9 +813,9 @@ as in these examples.
 .fi
 .IP
 The listing of information from kernel file structures, requested with the
-.B +f [cfgGn]
+.BR +f " [" cfgGn ]
 option form, is normally
-inhibited, and is not available in whole or part for some dialects \- e.g.,
+inhibited, and is not available in whole or part for some dialects \(en e.g.,
 /proc\-based Linux kernels below 2.6.22.
 When the prefix to
 .B f
@@ -877,9 +896,9 @@ section.
 .IP
 When a field selection character identifies an item
 .I lsof
-does not normally list \- e.g., PPID, selected with
+does not normally list \(en e.g., PPID, selected with
 .BR \-R " \-"
-specification of the field character \- e.g., ``\fB\-FR\fP'' \-
+specification of the field character \(en e.g., ``\fB\-FR\fP'' \(en
 also selects the listing of the item.
 .IP
 When the field selection character list contains the single
@@ -888,7 +907,8 @@ character `?',
 will display a help list of the field identification characters.
 (Escape the `?' character as your shell requires.)
 .TP \w'names'u+4
-.BI \-g " [s]"
+.BR \-g " ["\c
+.IR s ]
 excludes or selects the listing of files for the processes
 whose optional process group IDentification (PGID) numbers are in the
 comma\-separated set
@@ -909,9 +929,10 @@ option also enables the output display o
 When specified without a PGID set that's all it does.
 .TP \w'names'u+4
 .B \-H
-directs lsof to print human readable sizes, e.g. 123.4K 456.7M.
+directs lsof to print human readable sizes,
+e.g., 123.4K 456.7M.
 .TP \w'names'u+4
-.BI \-i " [i]"
+.BR \-i " [" \fIi\fP ]
 selects the listing of files any of whose Internet address
 matches the address specified in \fIi\fP.
 If no address is specified, this option selects the listing of all
@@ -959,12 +980,13 @@ AND option selection.
 An Internet address is specified in the form (Items in square
 brackets are optional.):
 .IP
-.ie !\n(.g \{
-[\fI46\fP][\fIprotocol\fP][@\fIhostname\fP\||\|\fIhostaddr\fP][:\fIservice\fP\||\|\fIport\fP]
-\}
-.el \{
+.ie !\n(.g \{\
+[\fI46\fP][\fIprotocol\fP][@\fIhostname\fP\||\|\fIhostaddr\fP]\
+[:\fIservice\fP\||\|\fIport\fP]
+.\}
+.el \{\
 .RI [ 46 ][ protocol ][@ hostname \||\| hostaddr ][: service \||\| port ]
-\}
+.\}
 .IP
 where:
 .nf
@@ -973,7 +995,7 @@ where:
 .br
                that applies to the following address.
 .br
-               '6' may be be specified only if the UNIX
+               '6' may be specified only if the UNIX
 .br
                dialect supports IPv6.  If neither '4' nor
 .br
@@ -981,7 +1003,7 @@ where:
 .br
                applies to all IP versions.
 .br
-       \fIprotocol\fP is a protocol name \- \fBTCP\fP, \fBUDP\fP or 
\fBUDPLITE\fP.
+       \fIprotocol\fP is a protocol name \(en \fBTCP\fP, \fBUDP\fP or 
\fBUDPLITE\fP.
 .br
 .br
        \fIhostname\fP is an Internet host name.  Unless a
@@ -1004,7 +1026,7 @@ where:
 .br
                addresses may be specified.
 .br
-       \fIservice\fP is an \fI/etc/services\fP name \- e.g., \fBsmtp\fP \-
+       \fIservice\fP is an \fI/etc/services\fP name \(en e.g., \fBsmtp\fP \(en
                or a list of them.
 .br
        \fIport\fP is a port number, or a list of them.
@@ -1032,9 +1054,9 @@ When an open IPv4 network file's address
 the open file's type will be IPv6, not IPv4, and its display will be
 selected by '6', not '4'.
 .IP
-At least one address component \-
-.BR 4,
-.BR 6,
+At least one address component \(en
+.BR 4 ,
+.BR 6 ,
 .IR protocol ,
 .IR hostname ,
 .IR hostaddr ,
@@ -1058,7 +1080,7 @@ name list is specified, the
 .I protocol
 may also need to be specified if the TCP, UDP and UDPLITE port numbers for
 the service name are different.
-Use any case \- lower or upper \- for
+Use any case \(en lower or upper \(en for
 .IR protocol .
 .IP
 .I Service
@@ -1076,42 +1098,43 @@ Here are some sample addresses:
 .nf
 
 .br
-       \-i6 \- IPv6 only
+       \-i6 \(en IPv6 only
 .br
-       TCP:25 \- TCP and port 25
+       TCP:25 \(en TCP and port 25
 .br
-       @1.2.3.4 \- Internet IPv4 host address 1.2.3.4
+       @1.2.3.4 \(en Internet IPv4 host address 1.2.3.4
 .br
-       @[3ffe:1ebc::1]:1234 \- Internet IPv6 host address
+       @[3ffe:1ebc::1]:1234 \(en Internet IPv6 host address
                3ffe:1ebc::1, port 1234
 .br
-       UDP:who \- UDP who service port
+       UDP:who \(en UDP who service port
 .br
-       [email protected]:513 \- TCP, port 513 and host name lsof.itap
+       [email protected]:513 \(en TCP, port 513 and host name lsof.itap
 .br
-       tcp@foo:1\-10,smtp,99 \- TCP, ports 1 through 10,
+       tcp@foo:1\(en10,smtp,99 \(en TCP, ports 1 through 10,
                service name \fIsmtp\fP, port 99, host name foo
 .br
-       tcp@bar:1\-smtp \- TCP, ports 1 through \fIsmtp\fP, host bar
+       tcp@bar:1\(ensmtp \(en TCP, ports 1 through \fIsmtp\fP, host bar
 .br
-       :time \- either TCP, UDP or UDPLITE time service port
+       :time \(en either TCP, UDP or UDPLITE time service port
 .fi
 .TP \w'names'u+4
 .BI \-K " k"
 selects the listing of tasks (threads) of processes, on dialects
 where task (thread) reporting is supported.
-(If help output \- i.e., the output of the
+(If help output \(en i.e., the output of the
 .B \-h
 or
 .B \-?
-options \- shows this option, then task (thread) reporting is
+options \(en shows this option, then task (thread) reporting is
 supported by the dialect.)
 .IP
 If
 .B \-K
 is followed by a value,
 .IR k ,
-it must be ``i''.  That causes
+it must be ``i''.
+That causes
 .I lsof
 to ignore tasks, particularly in the default, list\-everything case
 when no other options are specified.
@@ -1146,9 +1169,10 @@ is not available under AIX on the IBM RI
 inhibits the conversion of user ID numbers to login names.
 It is also useful when login name lookup is working improperly or slowly.
 .TP \w'names'u+4
-.BI +|\-L " [l]"
+.BR +|\-L " ["\c
+.IR l ]
 enables (`+') or disables (`\-') the listing of file link
-counts, where they are available \- e.g., they aren't available
+counts, where they are available \(en e.g., they aren't available
 for sockets, or most FIFOs and pipes.
 .IP
 When
@@ -1194,7 +1218,7 @@ All other options are silently ignored.
 .IP
 There will be a line in the mount supplement file for each mounted file
 system, containing the mounted file system directory, followed by a single
-space, followed by the device number in hexadecimal "0x" format \- e.g.,
+space, followed by the device number in hexadecimal "0x" format \(en e.g.,
 .IP
 .nf
        / 0x801
@@ -1258,7 +1282,7 @@ When portmapper registration reporting i
 displays the portmapper registration (if any) for local TCP, UDP or
 UDPLITE ports
 in square brackets immediately following the port numbers or service
-names \- e.g., ``:1234[name]'' or ``:name[100083]''.
+names \(en e.g., ``:1234[name]'' or ``:name[100083]''.
 The registration information may be a name or number, depending
 on what the registering program supplied to the portmapper when
 it registered the port.
@@ -1313,7 +1337,7 @@ It is also useful when host name lookup
 .B \-N
 selects the listing of NFS files.
 .TP \w'names'u+4
-.BI \-o
+.B \-o
 directs
 .I lsof
 to display file offset at all times.
@@ -1335,7 +1359,7 @@ and
 options are mutually exclusive; they can't both be specified.
 When neither is specified,
 .I lsof
-displays whatever value \- size or offset \- is appropriate and
+displays whatever value \(en size or offset \(en is appropriate and
 available for the type of the file.
 .TP \w'names'u+4
 .BI \-o " o"
@@ -1380,7 +1404,7 @@ option to determine the default that is
 directs
 .I lsof
 to bypass the strategy it uses to avoid being blocked by some
-kernel operations \- i.e., doing them in forked child processes.
+kernel operations \(en i.e., doing them in forked child processes.
 See the
 .B "BLOCKS AND TIMEOUTS"
 and
@@ -1419,21 +1443,24 @@ run a little faster.
 It is also useful when port name lookup is not working properly.
 .TP \w'names'u+4
 .B \-Q
-ignore failed search terms. When
+ignore failed search terms.
+When
 .I lsof
 is told to search for users of a file, or for users of a device,
 or for a specific PID, or for certain protocols in use by that PID,
 and so on,
 .I lsof
-will return an error if any of the search results are empty. The
+will return an error if any of the search results are empty.
+The
 .B \-Q
 option will change this behavior so that
 .I lsof
 will instead return a successful exit code (0) even if any of the
-search results are empty. In addition, missing search terms will not
-be reported to stderr.
+search results are empty.
+In addition, missing search terms will not be reported to stderr.
 .TP \w'names'u+4
-.BI +|\-r " [t[c<N>][m<fmt>]]"
+.BR +|\-r " ["\c
+.IR t [ c<N> ][ m<fmt> ]]
 puts
 .I lsof
 in repeat mode.
@@ -1454,7 +1481,7 @@ iterations reaches at `<N>',
 stops itself.
 .IP
 If the prefix is `+', repeat mode will end the first cycle no open files
-are listed \- and of course when
+are listed \(en and of course when
 .I lsof
 is stopped with an interrupt or quit signal.
 When repeat mode ends because no files are listed, the process exit code
@@ -1500,7 +1527,7 @@ with specification of other
 selection options, so the amount of kernel memory access
 .I lsof
 does will be kept to a minimum.
-Options that filter at the process level \- e.g.,
+Options that filter at the process level \(en e.g.,
 .BR \-c ,
 .BR \-g ,
 .BR \-p ,
@@ -1519,7 +1546,8 @@ script, or a C program.
 directs lsof to list the Parent Process IDentification
 number in the PPID column.
 .TP \w'names'u+4
-.BI \-s " [p:s]"
+.BR \-s " ["\c
+.IR p:s ]
 .B s
 alone directs
 .I lsof
@@ -1580,8 +1608,9 @@ Idle, use:
        \-iUDP \-sUDP:^Idle
 .fi
 .IP
-State names vary with UNIX dialects, so it's not possible to
-provide a complete list.  Some common TCP state names are:
+State names vary with UNIX dialects,
+so it's not possible to provide a complete list.
+Some common TCP state names are:
 CLOSED, IDLE, BOUND, LISTEN, ESTABLISHED, SYN_SENT, SYN_RCDV,
 ESTABLISHED, CLOSE_WAIT, FIN_WAIT1, CLOSING, LAST_ACK, FIN_WAIT_2,
 and TIME_WAIT.
@@ -1608,13 +1637,14 @@ Since some types of files don't have tru
 pipes, etc.\& - lsof displays for their sizes the content amounts in
 their associated kernel buffers, if possible.
 .TP \w'names'u+4
-.BI \-S " [t]"
-specifies an optional time-out seconds value for kernel functions \-
+.BR \-S " ["\c
+.IR t ]
+specifies an optional time-out seconds value for kernel functions \(en
 .IR lstat (2),
 .IR readlink (2),
 and
 .IR stat (2)
-\- that might otherwise deadlock.
+\(en that might otherwise deadlock.
 The minimum for
 .I t
 is two;
@@ -1624,7 +1654,8 @@ See the
 .B "BLOCKS AND TIMEOUTS"
 section for more information.
 .TP \w'names'u+4
-.BI \-T " [t]"
+.BR \-T " ["\c
+.IR t ]
 controls the reporting of some TCP/TPI information, also
 reported by
 .IR netstat (1),
@@ -1679,8 +1710,8 @@ option will show what selections may be
 .IP
 When
 .B \-T
-is used to select information \- i.e., it is followed by one or more
-selection characters \- the displaying of state is disabled by default,
+is used to select information \(en i.e., it is followed by one or more
+selection characters \(en the displaying of state is disabled by default,
 and it must be explicitly selected again in the characters following
 .BR \-T .
 (In effect, then, the default is equivalent to
@@ -1691,7 +1722,7 @@ For example, if queue lengths and state
 Socket options, socket states, some socket values, TCP flags and
 one TCP value may be reported (when available in the UNIX dialect)
 in the form of the names that commonly appear after SO_, so_, SS_,
-TCP_  and TF_ in the dialect's header files \-
+TCP_ and TF_ in the dialect's header files \(en
 most often <sys/socket.h>, <sys/socketvar.h> and <netinet/tcp_var.h>.
 Consult those header files for the meaning of the flags, options,
 states and values.
@@ -1700,7 +1731,7 @@ states and values.
 and ``TF='', TCP flags and values.
 .IP
 If a flag or option has a value, the value will follow an '=' and
-the name -- e.g., ``SO=LINGER=5'', ``SO=QLIM=5'', ``TF=MSS=512''.
+the name \(en e.g., ``SO=LINGER=5'', ``SO=QLIM=5'', ``TF=MSS=512''.
 The following seven values may be reported:
 .IP
 .nf
@@ -1728,8 +1759,10 @@ FAQ (The \fBFAQ\fP section gives its loc
 On Linux this option also prints the state of UNIX domain sockets.
 .TP \w'names'u+4
 .B \-t
-produce terse output comprising only process identifiers (without a
-header), so that it is easy to use programmatically. e.g.
+produce terse output comprising only process identifiers
+(without a header),
+so that it is easy to use programmatically.
+E.g.,
 .nf
 
        # reload anything using old SSL
@@ -1761,7 +1794,7 @@ or ``548,root''.
 Multiple login names or user ID numbers are joined in a single ORed set
 before participating in AND option selection.
 .IP
-If a login name or user ID is preceded by a `^', it becomes a negation \-
+If a login name or user ID is preceded by a `^', it becomes a negation \(en
 i.e., files of processes owned by the login name or user ID will never
 be listed.
 A negated login name or user ID selection is neither ANDed nor ORed
@@ -1797,7 +1830,7 @@ option.
 .B \-V
 directs
 .I lsof
-to indicate the items it was asked to list and failed to find \- command
+to indicate the items it was asked to list and failed to find \(en command
 names, file names, Internet addresses or files, login names, NFS files,
 PIDs, PGIDs, and UIDs.
 .IP
@@ -1835,7 +1868,8 @@ option implies the
 .B \-w
 option.
 .TP \w'names'u+4
-.BI \-x " [fl]"
+.BR \-x " ["\c
+.IR f\&l ]
 may accompany the
 .B +d
 and
@@ -1903,7 +1937,7 @@ process is root.
 The default
 .I lsof
 distribution allows any UID to specify
-.BR \-X,
+.BR \-X ,
 so by default it will appear in the help output.
 .IP
 When AIX readx() use
@@ -1923,7 +1957,7 @@ that part of an in\-memory copy of a fil
 zeroed.
 Another application process, distinct from
 .IR lsof ,
-asking the kernel to search the directory \- e.g., by using
+asking the kernel to search the directory \(en e.g., by using
 .IR open "(2) \-"
 can cause dir_search() to loop forever, thus hanging the application process.
 .IP
@@ -1963,7 +1997,7 @@ to display isn't associated with open TC
 \ \ \ \ Solaris 10 and above:
 .br
 This Solaris 10 and above option requests the reporting of cached
-paths for files that have been deleted \- i.e., removed with
+paths for files that have been deleted \(en i.e., removed with
 .IR rm (1)
 or
 .IR unlink (2).
@@ -1971,19 +2005,20 @@ or
 The cached path is followed by the string ``\ (deleted)'' to indicate
 that the path by which the file was opened has been deleted.
 .IP
-Because intervening changes made to the path \- i.e., renames with
+Because intervening changes made to the path \(en i.e., renames with
 .IR mv (1)
 or
 .IR rename (2)
-\- are not recorded in the cached path, what
+\(en are not recorded in the cached path, what
 .I lsof
 reports is only the path by which the file was opened, not its
 possibly different final path.
 .TP \w'names'u+4
-.BI \-z " [z]"
+.BR  \-z " ["\c
+.IR z ]
 specifies how Solaris 10 and higher zone information is to be handled.
 .IP
-Without a following argument \- e.g., NO
+Without a following argument \(en e.g., NO
 .IR z " \-"
 the option specifies that zone names are to be listed in the ZONE
 output column.
@@ -1999,7 +2034,8 @@ option and argument pairs may be specifi
 Any open file of any process in any of the zones will be listed, subject
 to other conditions specified by other options and arguments.
 .TP \w'names'u+4
-.BI \-Z " [Z]"
+.BR \-Z " ["\c
+.IR Z ]
 specifies how SELinux security contexts are to be handled.
 It and 'Z' field output character support are inhibited
 when SELinux is disabled in the running Linux kernel.
@@ -2007,7 +2043,7 @@ See
 .B "OUTPUT FOR OTHER PROGRAMS"
 for more information on the 'Z' field output character.
 .IP
-Without a following argument \- e.g., NO
+Without a following argument \(en e.g., NO
 .IR Z " \-"
 the option specifies that security contexts are to be listed in the
 SECURITY\-CONTEXT output column.
@@ -2066,7 +2102,7 @@ a file system identifier (\fB+f\fP) or a
 If
 .I name
 is a path to a directory that is not the mounted\-on directory name of
-a file system, it is treated just as a regular file is treated \- i.e.,
+a file system, it is treated just as a regular file is treated \(en i.e.,
 its listing is restricted to processes that have it open as a file or
 as a process\-specific directory, such as the root or current working
 directory.
@@ -2080,11 +2116,11 @@ options.
 .IP
 If a
 .I name
-is the base name of a family of multiplexed files \- e.g, AIX's
+is the base name of a family of multiplexed files \(en e.g., AIX's
 .IR /dev/pt[cs] " \-"
 .I lsof
 will list all the associated multiplexed files on the device that
-are open \- e.g.,
+are open \(en e.g.,
 .IR /dev/pt[cs]/1 ,
 .IR /dev/pt[cs]/2 ,
 etc.
@@ -2093,13 +2129,13 @@ If a
 .I name
 is a UNIX domain socket name,
 .I lsof
-will usually search for it by the characters of the name alone \- exactly as
+will usually search for it by the characters of the name alone \(en exactly as
 it is specified and is recorded in the kernel socket structure.
 (See the next paragraph for an exception to that rule for Linux.)
-Specifying a relative path \- e.g.,
+Specifying a relative path \(en e.g.,
 .I ./file
 \&\- in place of the
-file's absolute path \- e.g.,
+file's absolute path \(en e.g.,
 .I /tmp/file
 \&\- won't work because
 .I lsof
@@ -2113,7 +2149,7 @@ is a Linux UNIX domain socket name, in o
 is able to search for it by its device and inode number, allowing
 .I name
 to be a relative path.
-The case requires that the absolute path -- i.e., one beginning with a
+The case requires that the absolute path \(en i.e., one beginning with a
 slash ('/') be used by the process that created the socket, and hence be
 stored in the
 .I /proc/net/unix
@@ -2128,7 +2164,7 @@ via successful
 system calls.
 When those conditions are met,
 .I lsof
-will be able to search for the UNIX domain socket when some path to it is
+will be able to search for the UNIX domain socket when some path to it
 is specified in
 .IR name .
 Thus, for example, if the path is
@@ -2285,7 +2321,7 @@ For security considerations it is import
 distribution, if the real user ID under which
 .I lsof
 is executed is root, the device cache file will be written in root's
-home directory \- e.g.,
+home directory \(en e.g.,
 .I /
 or
 .IR /root .
@@ -2309,7 +2345,7 @@ output will have no
 .B \-D
 option description.
 .PP
-Before you decide to disable the device cache file feature \- enabling
+Before you decide to disable the device cache file feature \(en enabling
 it improves the performance of
 .I lsof
 by reducing the startup overhead of examining all the nodes in
@@ -2357,14 +2393,14 @@ only outputs printable (declared so by
 .IR isprint (3))
 8 bit characters.
 Non\-printable characters are printed in one of three forms:
-the C ``\\[bfrnt]'' form;
+the C ``\e[bfrnt]'' form;
 the control character `^' form (e.g., ``^@'');
-or hexadecimal leading ``\\x'' form (e.g., ``\\xab'').
-Space is non\-printable in the COMMAND column (``\\x20'')
+or hexadecimal leading ``\ex'' form (e.g., ``\exab'').
+Space is non\-printable in the COMMAND column (``\ex20'')
 and printable elsewhere.
 .PP
-For some dialects - if HASSETLOCALE is defined in the dialect's
-machine.h header file -
+For some dialects \(en if HASSETLOCALE is defined in the dialect's
+machine.h header file \(en
 .I lsof
 will print the extended 8 bit characters of a language locale.
 The
@@ -2384,7 +2420,7 @@ be used in place of LANG - e.g., LC_ALL,
 .PP
 .I Lsof's
 language locale support for a dialect also covers wide characters - e.g.,
-UTF-8 - when HASSETLOCALE and HASWIDECHAR are defined in the dialect's
+UTF-8 \(en when HASSETLOCALE and HASWIDECHAR are defined in the dialect's
 machine.h header file, and when a suitable language locale has been defined
 in the appropriate environment variable for the
 .I lsof
@@ -2401,7 +2437,9 @@ considers the wide characters non\-print
 8 bits according to its rules for non\-printable characters, stated above.
 .PP
 Consult the answers to the "Language locale support" questions in the
-lsof FAQ (The \fBFAQ\fP section gives its location.) for more information.
+lsof FAQ
+(The \fBFAQ\fP section gives its location.)
+for more information.
 .PP
 .I Lsof
 dynamically sizes the output columns each time it runs, guaranteeing
@@ -2456,14 +2494,14 @@ TID
 is the task (thread) IDentification number, if task (thread)
 reporting is supported by the dialect and a task (thread) is
 being listed.
-(If help output \- i.e., the output of the
+(If help output \(en i.e., the output of the
 .B \-h
 or
 .B \-?
-options \- shows this option, then task (thread) reporting is
+options \(en shows this option, then task (thread) reporting is
 supported by the dialect.)
 .IP
-A blank TID column in Linux indicates a process \- i.e., a non\-task.
+A blank TID column in Linux indicates a process \(en i.e., a non\-task.
 .TP
 TASKCMD
 is the task command name.
@@ -2547,7 +2585,7 @@ is the File Descriptor number of the fil
 .br
        \fBmmap\fP      memory\-mapped device;
 .br
-       \fBNOFD\fP      for a Linux /proc/<PID>/fd directory that can't be 
opened --
+       \fBNOFD\fP      for a Linux /proc/<PID>/fd directory that can't be 
opened \(en
                the directory path appears in the NAME column, followed by an 
error
                message;
 .br
@@ -2609,12 +2647,14 @@ See the
 section for more information on the lock information character.
 .IP
 The FD column contents constitutes a single field for parsing in
-post\-processing scripts. FD numbers larger than 9999 are abbreviated
-to a ``*'' followed by the last three digits. E.g., 10001 appears as
+post\-processing scripts.
+FD numbers larger than 9999 are abbreviated to a ``*''
+followed by the last three digits.
+E.g., 10001 appears as
 ``*001''
 .TP
 TYPE
-is the type of the node associated with the file \- e.g., VDIR, VREG, etc.
+is the type of the node associated with the file \(en e.g., VDIR, VREG, etc.
 .IP
 or ``ax25'' for a Linux AX.25 socket;
 .IP
@@ -2672,7 +2712,7 @@ or ``FSEVENTS'' for fsevents;
 .IP
 or ``IPv4'' for an IPv4 socket;
 .IP
-or ``IPv6'' for an open IPv6 network file \- even if its address is
+or ``IPv6'' for an open IPv6 network file \(en even if its address is
 IPv4, mapped in an IPv6 address;
 .IP
 or ``KQUEUE'' for a BSD style kernel event queue file;
@@ -3072,7 +3112,7 @@ SIZE, SIZE/OFF, or OFFSET
 is the size of the file or the file offset in bytes.
 A value is displayed in this column only if it is available.
 .I Lsof
-displays whatever value \- size or offset \- is appropriate for the type
+displays whatever value \(en size or offset \(en is appropriate for the type
 of the file and the version of
 .IR lsof .
 .IP
@@ -3081,8 +3121,8 @@ On some UNIX dialects
 can't obtain accurate or consistent file offset information from its
 kernel data sources, sometimes just for particular kinds of files
 (e.g., socket files.)
-In other cases, files don't have true sizes \- e.g., sockets, FIFOs,
-pipes \- so
+In other cases, files don't have true sizes \(en e.g., sockets, FIFOs,
+pipes \(en so
 .I lsof
 displays for their sizes the content amounts it finds in their kernel
 buffer descriptors (e.g., socket buffer size counts or TCP/IP window
@@ -3137,8 +3177,8 @@ option is specified,
 .I lsof
 displays file size in human readable form.
 .IP
-For files that don't have a fixed size \- e.g., don't reside
-on a disk device \-
+For files that don't have a fixed size \(en e.g., don't reside
+on a disk device \(en
 .I lsof
 will display appropriate information about the current size or
 position of the file if it is available in the kernel structures
@@ -3154,7 +3194,7 @@ is the node number of a local file;
 .IP
 or the inode number of an NFS file in the server host;
 .IP
-or the Internet protocol type \- e.g, ``TCP'';
+or the Internet protocol type \(en e.g., ``TCP'';
 .IP
 or ``STR'' for a stream;
 .IP
@@ -3173,7 +3213,7 @@ or the name of a character special or bl
 .IP
 or the local and remote Internet addresses of a network file;
 the local host name or IP number is followed by a colon (':'), the
-port, ``\->'', and the two\-part remote address;
+port, ``\(->'', and the two\-part remote address;
 IP addresses may be reported as numbers or names, depending on the
 .BR +|\-M ,
 .BR \-n ,
@@ -3186,8 +3226,8 @@ zero port numbers are represented by an
 a UDP destination address may be followed by the amount of time
 elapsed since the last packet was sent to the destination;
 TCP, UDP and UDPLITE remote addresses may be followed by TCP/TPI
-information in parentheses \- state (e.g., ``(ESTABLISHED)'', ``(Unbound)''),
-queue sizes, and window sizes (not all dialects) \- in a fashion
+information in parentheses \(en state (e.g., ``(ESTABLISHED)'', ``(Unbound)''),
+queue sizes, and window sizes (not all dialects) \(en in a fashion
 similar to what
 .IR netstat (1)
 reports;
@@ -3206,11 +3246,11 @@ or the local and remote mount point name
 .IP
 or ``STR'', followed by the stream name;
 .IP
-or a stream character device name, followed by ``\->'' and the stream name
-or a list of stream module names, separated by ``\->'';
+or a stream character device name, followed by ``\(->'' and the stream name
+or a list of stream module names, separated by ``\(->'';
 .IP
 or ``STR:'' followed by the SCO OpenServer stream device and module
-names, separated by ``\->'';
+names, separated by ``\(->'';
 .IP
 or system directory name, `` \-\- '', and as many components of the path
 name as
@@ -3220,7 +3260,7 @@ can find in the kernel's name cache for
 .B "KERNEL NAME CACHE"
 section for more information.);
 .IP
-or ``PIPE\->'', followed by a Solaris kernel pipe destination address;
+or ``PIPE\(->'', followed by a Solaris kernel pipe destination address;
 .IP
 or ``COMMON:'', followed by the vnode device information structure's
 device name, for a Solaris common vnode;
@@ -3231,7 +3271,7 @@ comma\-separated bytes of a non\-Interne
 or the HP\-UX x.25 local address, followed by the virtual connection
 number (if any), followed by the remote address (if any);
 .IP
-or ``(dead)'' for disassociated Tru64 UNIX files \- typically terminal files
+or ``(dead)'' for disassociated Tru64 UNIX files \(en typically terminal files
 that have been flagged with the TIOCNOTTY ioctl and closed by daemons;
 .IP
 or ``rd=<offset>'' and ``wr=<offset>'' for the values of the
@@ -3243,7 +3283,7 @@ device, where
 .I n
 is the minor device number of the file;
 .IP
-or ``(socketpair: n)'' for a Solaris 2.6, 8, 9  or 10
+or ``(socketpair: n)'' for a Solaris 2.6, 8, 9 or 10
 UNIX domain socket, created by the
 .IR socketpair (3N)
 network function;
@@ -3261,7 +3301,7 @@ by the transmit and receive queue sizes,
 .IP
 or ``dgram'' or ``stream'' for the type UnixWare 7.1.1 and above in\-kernel
 UNIX domain sockets, followed by a colon (':') and the local path name
-when available, followed by ``\->'' and the remote path name or kernel
+when available, followed by ``\(->'' and the remote path name or kernel
 socket address in hexadecimal when available;
 .IP
 or the association value, association index, endpoint value, local address,
@@ -3277,7 +3317,7 @@ will add ``(FA:<address1><direction><add
 <address1> and <address2> are hexadecimal vnode addresses.
 <direction> will be ``<\-'' if <address2> has been fattach'ed to
 this vnode whose address is <address1>;
-and ``\->'' if <address1>, the vnode address of this vnode, has been
+and ``\(->'' if <address1>, the vnode address of this vnode, has been
 fattach'ed to <address2>.
 <address1> may be omitted if it already appears in the DEVICE column.
 .PP
@@ -3308,7 +3348,7 @@ Moreover, when a process holds several b
 .I lsof
 only reports the status of the first lock it encounters.
 If it is a byte level lock, then the lock character will be reported
-in lower case \- i.e., `r', `w', or `x' \- rather than the upper case
+in lower case \(en i.e., `r', `w', or `x' \(en rather than the upper case
 equivalent reported for a full file lock.
 .PP
 Generally
@@ -3316,7 +3356,7 @@ Generally
 can only report on locks held by local processes on local files.
 When a local process sets a lock on a remotely mounted (e.g., NFS)
 file, the remote server host usually records the lock state.
-One exception is Solaris \- at some patch levels of 2.3, and in all
+One exception is Solaris \(en at some patch levels of 2.3, and in all
 versions above 2.4, the Solaris kernel records information on remote
 locks in local structures.
 .PP
@@ -3333,7 +3373,7 @@ When the
 .B \-F
 option is specified,
 .I lsof
-produces output that is suitable for processing by another program \- e.g, an
+produces output that is suitable for processing by another program \(en e.g., 
an
 .I awk
 or
 .I Perl
@@ -3376,22 +3416,24 @@ character list that follows the
 option.
 When a field selection character identifies an item
 .I lsof
-does not normally list \- e.g., PPID, selected with
+does not normally list \(en e.g., PPID, selected with
 .BR \-R " \-"
-specification of the field character \- e.g., ``\fB\-FR\fP'' \-
+specification of the field character \(en e.g., ``\fB\-FR\fP'' \(en
 also selects the listing of the item.
 .PP
 .I Lsof
 version from 4.88 to 4.93.2 always produced one more field,
-the file descriptor (`f') field. However,
+the file descriptor (`f') field.
+However,
 .I lsof
-in this version doesn't produce it. This change is for supporting
-the use case that a user needs only the PID field, and doesn't
-need the file descriptor field. Specify `f' explicitly if you
-need the field.
+in this version doesn't produce it.
+This change is for supporting the use case
+that a user needs only the PID field,
+and doesn't need the file descriptor field.
+Specify `f' explicitly if you need the field.
 .PP
 It is entirely possible to select a set of fields that cannot
-easily be parsed \- e.g., if the field descriptor field is not
+easily be parsed \(en e.g., if the field descriptor field is not
 selected, it may be difficult to identify file sets.
 To help you avoid this difficulty,
 .I lsof
@@ -3458,7 +3500,7 @@ The single character listed first is the
        z       Solaris 10 and higher zone name
        Z       SELinux security context (inhibited when SELinux is disabled)
        0       use NUL field terminator character in place of NL
-       1\-9    dialect\-specific field identifiers (The output
+       1\(en9  dialect\-specific field identifiers (The output
                of \fB\-F?\fP identifies the information to be found
                in dialect\-specific fields.)
 .fi
@@ -3494,7 +3536,7 @@ The
 field terminator character
 to a NUL (000).
 A NUL terminator may be easier to process with
-.I xargs (1),
+.IR xargs (1),
 for example, or with programs whose quoting mechanisms may not
 easily cope with the range of characters in the field output.
 When the NUL field terminator is in use,
@@ -3543,7 +3585,7 @@ The library uses the first aid, the
 header file.
 .SH "BLOCKS AND TIMEOUTS"
 .I Lsof
-can be blocked by some kernel functions that it uses \-
+can be blocked by some kernel functions that it uses \(en
 .IR lstat (2),
 .IR readlink (2),
 and
@@ -3597,7 +3639,6 @@ to start up with less overhead, it expos
 completely to the kernel situations that might block it.
 Use this option cautiously.
 .SH "AVOIDING KERNEL BLOCKS"
-.PP
 You can use the
 .B \-b
 option to tell
@@ -3668,7 +3709,6 @@ You can suppress these messages by speci
 option, but if you do, you won't see the alternate device numbers
 reported in the warning messages.
 .SH "ALTERNATE DEVICE NUMBERS"
-.PP
 On some dialects, when
 .I lsof
 has to break a block because it can't get information about a
@@ -3680,8 +3720,8 @@ kernel functions, or because you specifi
 .B \-b
 option,
 .I lsof
-can obtain some of the information it needs \- the device number and
-possibly the file system type \- from the system mount table.
+can obtain some of the information it needs \(en the device number and
+possibly the file system type \(en from the system mount table.
 When that is possible,
 .I lsof
 will report the device number it obtained.
@@ -3695,7 +3735,7 @@ or
 .I /etc/mnttab
 file that contains an options field by adding a ``dev=xxxx'' field for
 mount points that do not have one in their options strings.
-Note: you must be able to edit the file \- i.e., some mount tables
+Note: you must be able to edit the file \(en i.e., some mount tables
 like recent Solaris /etc/mnttab or Linux /proc/mounts are read\-only
 and can't be modified.
 .PP
@@ -3766,14 +3806,12 @@ If you're not sure your dialect supplies
 for file systems from its mount table, use this
 .I lsof
 incantation to see if it reports any alternate device numbers:
-.PP
 .IP
 lsof \-b
 .PP
 Look for standard error file warning messages that
 begin ``assuming "dev=xxxx" from ...''.
 .SH "KERNEL NAME CACHE"
-.PP
 .I Lsof
 is able to examine the kernel's name cache or use other kernel
 facilities (e.g., the ADVFS 4.x tag_to_path() function under
@@ -3793,9 +3831,9 @@ the `/' character.
 .PP
 When
 .I lsof
-is run in repeat mode \- i.e., with the
+is run in repeat mode \(en i.e., with the
 .B \-r
-option specified \- the extent to which it can report path name
+option specified \(en the extent to which it can report path name
 components for the same file may vary from cycle to cycle.
 That's because other running processes can cause the kernel to
 remove entries from its name cache and replace them with others.
@@ -3853,7 +3891,7 @@ node tree with
 functions can be time consuming.
 What's more, the information that
 .I lsof
-needs \- device number, inode number, and path \- rarely changes.
+needs \(en device number, inode number, and path \(en rarely changes.
 .PP
 Consequently,
 .I lsof
@@ -3938,7 +3976,6 @@ writes a device cache file, it sets its
 of the executing process, and its permission modes to 0600, this
 restricting its reading and writing to the file's owner.
 .SH "LSOF PERMISSIONS THAT AFFECT DEVICE CACHE FILE ACCESS"
-.PP
 Two permissions of the
 .I lsof
 executable affect its ability to access device cache files.
@@ -3964,7 +4001,7 @@ The second and more common permission is
 It comes into effect when the effective group IDentification number (GID)
 of the
 .I lsof
-process is set to one that can access kernel memory devices \-
+process is set to one that can access kernel memory devices \(en
 e.g., ``kmem'', ``sys'', or ``system''.
 .PP
 An
@@ -3988,7 +4025,7 @@ and be allowed to surrender setgid permi
        HP\-UX 11.00
        NetBSD 1.[456], 2.x and 3.x for Alpha, x86, and SPARC-based
            systems
-       OpenBSD 2.[89] and 3.[0\-9] for x86-based systems
+       OpenBSD 2.[89] and 3.[0\(en9] for x86-based systems
        SCO OpenServer Release 5.0.6 for x86-based systems
        SCO|Caldera UnixWare 7.1.4 for x86-based systems
        Solaris 2.6, 8, 9 and 10
@@ -4009,7 +4046,6 @@ given to the executable don't apply to t
        Linux
 .fi
 .SH "DEVICE CACHE FILE PATH FROM THE \-D OPTION"
-.PP
 The
 .B \-D
 option provides limited means for specifying the device cache file path.
@@ -4103,7 +4139,6 @@ but only to a path it considers legitima
 .I lsof
 process effective and real UIDs.
 .SH "DEVICE CACHE PATH FROM AN ENVIRONMENT VARIABLE"
-.PP
 .I Lsof's
 second choice for the device cache file is the contents of the
 LSOFDEVCACHE environment variable.
@@ -4129,7 +4164,6 @@ Consult the output of
 .B \-D?
 for the environment variable's name.
 .SH "SYSTEM-WIDE DEVICE CACHE PATH"
-.PP
 The local system administrator may choose to have a system\-wide
 device cache file when building
 .IR lsof .
@@ -4146,7 +4180,7 @@ third device cache file path choice.
 You can tell that a system\-wide device cache file is in effect
 for your local installation by examining the
 .I lsof
-help option output \- i.e., the output from the
+help option output \(en i.e., the output from the
 .B \-h
 or
 .B \-?
@@ -4161,7 +4195,6 @@ function in a root\-owned procedure.
 Once the file has been written, the procedure must change its permission
 modes to 0644 (owner\-read and owner\-write, group\-read, and other\-read).
 .SH "PERSONAL DEVICE CACHE PATH (DEFAULT)"
-.PP
 The default device cache file path of the
 .I lsof
 distribution is one recorded in the home directory of the real UID
@@ -4191,7 +4224,7 @@ The
 part of the second component is the base
 name of the executing host, as returned by
 .IR gethostname (2).
-The base name is defined to be the characters preceding the first `.'
+The base name is defined to be the characters preceding the first `.\&'
 in the
 .IR gethostname (2)
 output, or all the
@@ -4199,7 +4232,7 @@ output, or all the
 output if it contains no `.'.
 .PP
 The device cache file belongs to the user ID and is readable and
-writable by the user ID alone \- i.e., its modes are 0600.
+writable by the user ID alone \(en i.e., its modes are 0600.
 Each distinct real user ID on a given host that executes
 .I lsof
 has a distinct device cache file.
@@ -4230,7 +4263,6 @@ file of the
 .I lsof
 distribution.
 .SH "MODIFIED PERSONAL DEVICE CACHE PATH"
-.PP
 If this option is defined by the local system administrator when
 .I lsof
 is built, the LSOFPERSDCPATH environment variable contents may
@@ -4326,11 +4358,11 @@ will issue warning messages about inacce
 .I /dev
 (or
 .IR /devices )
-is indicated in its help output \- requested with the
+is indicated in its help output \(en requested with the
 .B \-h
 or
->B \-?
-options \-  with the message:
+.B \-?
+option \(en with the message:
 .PP
 .nf
        Inaccessible /dev warnings are enabled.
@@ -4386,7 +4418,7 @@ lsof \-i 6
 To list all files using any protocol on ports 513, 514, or 515 of host
 wonderland.cc.purdue.edu, use:
 .IP
-lsof \-i @wonderland.cc.purdue.edu:513\-515
+lsof \-i @wonderland.cc.purdue.edu:513\(en515
 .PP
 To list all files using any protocol on any port of mace.cc.purdue.edu
 (cc.purdue.edu is the default domain), use:
@@ -4471,7 +4503,7 @@ lsof \-i@[0:1:2:3:4:5:6:7]
 .PP
 To find an IP version 6 socket file (when the UNIX dialect supports
 IPv6) by an associated numeric colon\-form address that has a run of
-zeroes in it \- e.g., the loop\-back address \- use:
+zeroes in it \(en e.g., the loop\-back address \(en use:
 .IP
 lsof \-i@[::1]
 .PP
@@ -4525,12 +4557,12 @@ CD-ROM files are mounted (typically
 The support for
 .I /proc
 file systems is available only for BSD and Tru64 UNIX dialects, Linux, and
-dialects derived from SYSV R4 \- e.g., FreeBSD, NetBSD, OpenBSD, Solaris,
+dialects derived from SYSV R4 \(en e.g., FreeBSD, NetBSD, OpenBSD, Solaris,
 UnixWare.
 .PP
 Some
 .I /proc
-file items \- device number, inode number, and file size \-
+file items \(en device number, inode number, and file size \(en
 are unavailable in some dialects.
 Searching for files in a
 .I /proc
@@ -4578,7 +4610,7 @@ defines a language locale.
 See
 .IR setlocale (3)
 for the names of other variables that can be used in place
-of LANG \- e.g., LC_ALL, LC_TYPE, etc.
+of LANG \(en e.g., LC_ALL, LC_TYPE, etc.
 .TP
 LSOFDEVCACHE
 defines the path to a device cache file.

Reply via email to