time.1, atexit.3, bsearch.3, dlopen.3, envz_add.3, errno.3, fmtmsg.3, getgrent_r.3, getline.3, getmntent.3, getnameinfo.3, getpass.3, getpwent_r.3, gets.3, isalpha.3, printf.3, puts.3, recno.3, scandir.3, stdarg.3, sysconf.3, termios.3, wordexp.3, null.4, core.5, dir_colors.5, issue.5, proc.5, termcap.5, utmp.5, ascii.7, cpuset.7, glob.7, man-pages.7, man.7, mdoc.7, mdoc.samples.7, regex.7: Global fix: use \\ rather than \e for literal backslash

Reported-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2012-09-24 10:23:07 +02:00
parent 6c1544c132
commit 9f8e673e62
38 changed files with 188 additions and 188 deletions

View File

@ -54,7 +54,7 @@ To access the real command, you may need to specify its pathname
When in the POSIX locale, use the precise traditional format When in the POSIX locale, use the precise traditional format
.IP .IP
.in +4n .in +4n
"real %f\enuser %f\ensys %f\en" "real %f\\nuser %f\\nsys %f\\n"
.in .in
.IP .IP
(with numbers in seconds) (with numbers in seconds)
@ -122,7 +122,7 @@ is used.
.SS "The format string" .SS "The format string"
The format is interpreted in the usual printf-like way. The format is interpreted in the usual printf-like way.
Ordinary characters are directly copied, tab, newline Ordinary characters are directly copied, tab, newline
and backslash are escaped using \et, \en and \e\e, and backslash are escaped using \\t, \\n and \\\\,
a percent sign is represented by %%, and otherwise % a percent sign is represented by %%, and otherwise %
indicates a conversion. indicates a conversion.
The program The program

View File

@ -132,7 +132,7 @@ that are called when the shared library is unloaded.
void void
bye(void) bye(void)
{ {
printf("That was all, folks\en"); printf("That was all, folks\\n");
} }
int int
@ -142,11 +142,11 @@ main(void)
int i; int i;
a = sysconf(_SC_ATEXIT_MAX); a = sysconf(_SC_ATEXIT_MAX);
printf("ATEXIT_MAX = %ld\en", a); printf("ATEXIT_MAX = %ld\\n", a);
i = atexit(bye); i = atexit(bye);
if (i != 0) { if (i != 0) {
fprintf(stderr, "cannot set exit function\en"); fprintf(stderr, "cannot set exit function\\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

View File

@ -105,9 +105,9 @@ main(int argc, char **argv)
res = bsearch(&key, months, nr_of_months, res = bsearch(&key, months, nr_of_months,
sizeof(struct mi), compmi); sizeof(struct mi), compmi);
if (res == NULL) if (res == NULL)
printf("\(aq%s\(aq: unknown month\en", argv[i]); printf("\(aq%s\(aq: unknown month\\n", argv[i]);
else else
printf("%s: month #%d\en", res\->name, res\->nr); printf("%s: month #%d\\n", res\->name, res\->nr);
} }
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -460,7 +460,7 @@ main(int argc, char **argv)
handle = dlopen("libm.so", RTLD_LAZY); handle = dlopen("libm.so", RTLD_LAZY);
if (!handle) { if (!handle) {
fprintf(stderr, "%s\en", dlerror()); fprintf(stderr, "%s\\n", dlerror());
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -477,11 +477,11 @@ main(int argc, char **argv)
.\" But in fact "gcc -O2 -Wall" will complain about the preceding cast. .\" But in fact "gcc -O2 -Wall" will complain about the preceding cast.
if ((error = dlerror()) != NULL) { if ((error = dlerror()) != NULL) {
fprintf(stderr, "%s\en", error); fprintf(stderr, "%s\\n", error);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
printf("%f\en", (*cosine)(2.0)); printf("%f\\n", (*cosine)(2.0));
dlclose(handle); dlclose(handle);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -129,9 +129,9 @@ main(int argc, char *argv[], char *envp[])
e_len += strlen(envp[i]) + 1; e_len += strlen(envp[i]) + 1;
str = envz_entry(*envp, e_len, "HOME"); str = envz_entry(*envp, e_len, "HOME");
printf("%s\en", str); printf("%s\\n", str);
str = envz_get(*envp, e_len, "HOME"); str = envz_get(*envp, e_len, "HOME");
printf("%s\en", str); printf("%s\\n", str);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }
.fi .fi

View File

@ -488,7 +488,7 @@ A common mistake is to do
.nf .nf
if (somecall() == \-1) { if (somecall() == \-1) {
printf("somecall() failed\en"); printf("somecall() failed\\n");
if (errno == ...) { ... } if (errno == ...) { ... }
} }
@ -508,7 +508,7 @@ should be preserved across a library call, it must be saved:
if (somecall() == \-1) { if (somecall() == \-1) {
int errsv = errno; int errsv = errno;
printf("somecall() failed\en"); printf("somecall() failed\\n");
if (errsv == ...) { ... } if (errsv == ...) { ... }
} }
.fi .fi

View File

@ -256,16 +256,16 @@ main(void)
case MM_OK: case MM_OK:
break; break;
case MM_NOTOK: case MM_NOTOK:
printf("Nothing printed\en"); printf("Nothing printed\\n");
break; break;
case MM_NOMSG: case MM_NOMSG:
printf("Nothing printed to stderr\en"); printf("Nothing printed to stderr\\n");
break; break;
case MM_NOCON: case MM_NOCON:
printf("No console output\en"); printf("No console output\\n");
break; break;
default: default:
printf("Unknown error from fmtmsg()\en"); printf("Unknown error from fmtmsg()\\n");
} }
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -164,7 +164,7 @@ main(void)
break; break;
printf(" %s", grpp\->gr_mem[i]); printf(" %s", grpp\->gr_mem[i]);
} }
printf("\en"); printf("\\n");
} }
endgrent(); endgrent();
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);

View File

@ -155,7 +155,7 @@ main(void)
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
while ((read = getline(&line, &len, fp)) != \-1) { while ((read = getline(&line, &len, fp)) != \-1) {
printf("Retrieved line of length %zu :\en", read); printf("Retrieved line of length %zu :\\n", read);
printf("%s", line); printf("%s", line);
} }

View File

@ -134,8 +134,8 @@ struct mntent {
.in .in
Since fields in the mtab and fstab files are separated by whitespace, Since fields in the mtab and fstab files are separated by whitespace,
octal escapes are used to represent the four characters space (\e040), octal escapes are used to represent the four characters space (\\040),
tab (\e011), newline (\e012) and backslash (\e134) in those files tab (\\011), newline (\\012) and backslash (\\134) in those files
when they occur in one of the four strings in a when they occur in one of the four strings in a
.I mntent .I mntent
structure. structure.

View File

@ -244,7 +244,7 @@ char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
if (getnameinfo(sa, len, hbuf, sizeof(hbuf), sbuf, if (getnameinfo(sa, len, hbuf, sizeof(hbuf), sbuf,
sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0) sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0)
printf("host=%s, serv=%s\en", hbuf, sbuf); printf("host=%s, serv=%s\\n", hbuf, sbuf);
.fi .fi
.in .in
@ -261,7 +261,7 @@ if (getnameinfo(sa, len, hbuf, sizeof(hbuf),
NULL, 0, NI_NAMEREQD)) NULL, 0, NI_NAMEREQD))
printf("could not resolve hostname"); printf("could not resolve hostname");
else else
printf("host=%s\en", hbuf); printf("host=%s\\n", hbuf);
.fi .fi
.in .in
.PP .PP

View File

@ -106,7 +106,7 @@ While reading the password, signal generation
.BR SIGSTOP , .BR SIGSTOP ,
.BR SIGTSTP ) .BR SIGTSTP )
is disabled and the corresponding characters is disabled and the corresponding characters
(usually control-C, control-\e, control-Z and control-Y) (usually control-C, control-\\, control-Z and control-Y)
are transmitted as part of the password. are transmitted as part of the password.
Since libc 5.4.19 also line editing is disabled, so that also Since libc 5.4.19 also line editing is disabled, so that also
backspace and the like will be seen as part of the password. backspace and the like will be seen as part of the password.

View File

@ -160,7 +160,7 @@ main(void)
i = getpwent_r(&pw, buf, BUFLEN, &pwp); i = getpwent_r(&pw, buf, BUFLEN, &pwp);
if (i) if (i)
break; break;
printf("%s (%d)\etHOME %s\etSHELL %s\en", pwp\->pw_name, printf("%s (%d)\\tHOME %s\\tSHELL %s\\n", pwp\->pw_name,
pwp\->pw_uid, pwp\->pw_dir, pwp\->pw_shell); pwp\->pw_uid, pwp\->pw_dir, pwp\->pw_shell);
} }
endpwent(); endpwent();

View File

@ -71,7 +71,7 @@ into the buffer pointed to by
.I s .I s
until either a terminating newline or until either a terminating newline or
.BR EOF , .BR EOF ,
which it replaces with a null byte (\(aq\e0\(aq). which it replaces with a null byte (\(aq\\0\(aq).
No check for buffer overrun is performed (see BUGS below). No check for buffer overrun is performed (see BUGS below).
.PP .PP
.BR fgets () .BR fgets ()
@ -85,7 +85,7 @@ Reading stops after an
.B EOF .B EOF
or a newline. or a newline.
If a newline is read, it is stored into the buffer. If a newline is read, it is stored into the buffer.
A terminating null byte (\(aq\e0\(aq) A terminating null byte (\(aq\\0\(aq)
is stored after the last character in the buffer. is stored after the last character in the buffer.
.PP .PP
.BR ungetc () .BR ungetc ()

View File

@ -139,15 +139,15 @@ In the
and and
.B """POSIX""" .B """POSIX"""
locales, these are: space, form-feed locales, these are: space, form-feed
.RB ( \(aq\ef\(aq ), .RB ( \(aq\\f\(aq ),
newline newline
.RB ( \(aq\en\(aq ), .RB ( \(aq\\n\(aq ),
carriage return carriage return
.RB ( \(aq\er\(aq ), .RB ( \(aq\\r\(aq ),
horizontal tab horizontal tab
.RB ( \(aq\et\(aq ), .RB ( \(aq\\t\(aq ),
and vertical tab and vertical tab
.RB ( \(aq\ev\(aq ). .RB ( \(aq\\v\(aq ).
.TP .TP
.BR isupper () .BR isupper ()
checks for an uppercase letter. checks for an uppercase letter.

View File

@ -105,7 +105,7 @@ and
.BR vsnprintf () .BR vsnprintf ()
write at most write at most
.I size .I size
bytes (including the terminating null byte (\(aq\e0\(aq)) to bytes (including the terminating null byte (\(aq\\0\(aq)) to
.IR str . .IR str .
.PP .PP
The functions The functions
@ -159,7 +159,7 @@ and
.BR vsnprintf () .BR vsnprintf ()
do not write more than do not write more than
.I size .I size
bytes (including the terminating null byte (\(aq\e0\(aq)). bytes (including the terminating null byte (\(aq\\0\(aq)).
If the output was truncated due to this limit then the return value If the output was truncated due to this limit then the return value
is the number of characters (excluding the terminating null byte) is the number of characters (excluding the terminating null byte)
which would have been written to the final string if enough space which would have been written to the final string if enough space
@ -979,7 +979,7 @@ to five decimal places:
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>
fprintf(stdout, "pi = %.5f\en", 4 * atan(1.0)); fprintf(stdout, "pi = %.5f\\n", 4 * atan(1.0));
.fi .fi
.in .in
.PP .PP
@ -993,7 +993,7 @@ are pointers to strings:
.nf .nf
#include <stdio.h> #include <stdio.h>
fprintf(stdout, "%s, %s %d, %.2d:%.2d\en", fprintf(stdout, "%s, %s %d, %.2d:%.2d\\n",
weekday, month, day, hour, min); weekday, month, day, hour, min);
.fi .fi
.in .in
@ -1017,7 +1017,7 @@ With the value:
.in +4n .in +4n
.nf .nf
"%1$s, %3$d. %2$s, %4$d:%5$.2d\en" "%1$s, %3$d. %2$s, %4$d:%5$.2d\\n"
.fi .fi
.in .in

View File

@ -52,7 +52,7 @@ writes the string
.I s .I s
to to
.IR stream , .IR stream ,
without its terminating null byte (\(aq\e0\(aq). without its terminating null byte (\(aq\\0\(aq).
.PP .PP
.BR putc () .BR putc ()
is equivalent to is equivalent to

View File

@ -161,7 +161,7 @@ The length of a fixed-length record.
The delimiting byte to be used to mark the end of a record for The delimiting byte to be used to mark the end of a record for
variable-length records, and the pad character for fixed-length variable-length records, and the pad character for fixed-length
records. records.
If no value is specified, newlines ("\en") are used to mark the end If no value is specified, newlines ("\\n") are used to mark the end
of variable-length records and fixed-length records are padded with of variable-length records and fixed-length records are padded with
spaces. spaces.
.TP .TP

View File

@ -162,7 +162,7 @@ main(void)
perror("scandir"); perror("scandir");
else { else {
while (n\-\-) { while (n\-\-) {
printf("%s\en", namelist[n]\->d_name); printf("%s\\n", namelist[n]\->d_name);
free(namelist[n]); free(namelist[n]);
} }
free(namelist); free(namelist);

View File

@ -291,17 +291,17 @@ foo(char *fmt, ...)
switch (*fmt++) { switch (*fmt++) {
case \(aqs\(aq: /* string */ case \(aqs\(aq: /* string */
s = va_arg(ap, char *); s = va_arg(ap, char *);
printf("string %s\en", s); printf("string %s\\n", s);
break; break;
case \(aqd\(aq: /* int */ case \(aqd\(aq: /* int */
d = va_arg(ap, int); d = va_arg(ap, int);
printf("int %d\en", d); printf("int %d\\n", d);
break; break;
case \(aqc\(aq: /* char */ case \(aqc\(aq: /* char */
/* need a cast here since va_arg only /* need a cast here since va_arg only
takes fully promoted types */ takes fully promoted types */
c = (char) va_arg(ap, int); c = (char) va_arg(ap, int);
printf("char %c\en", c); printf("char %c\\n", c);
break; break;
} }
va_end(ap); va_end(ap);

View File

@ -262,7 +262,7 @@ newline.
.BR RE_DUP_MAX " - " _SC_RE_DUP_MAX .BR RE_DUP_MAX " - " _SC_RE_DUP_MAX
The maximum number of repeated occurrences of a regular expression when The maximum number of repeated occurrences of a regular expression when
the interval notation the interval notation
.B \e{m,n\e} .B \\{m,n\\}
is used. is used.
.TP .TP
.BR POSIX2_VERSION " - " _SC_2_VERSION .BR POSIX2_VERSION " - " _SC_2_VERSION

View File

@ -555,7 +555,7 @@ is set, and then not passed as input.
Minimum number of characters for noncanonical read (MIN). Minimum number of characters for noncanonical read (MIN).
.TP .TP
.B VQUIT .B VQUIT
(034, FS, Ctrl-\e) (034, FS, Ctrl-\\)
Quit character (QUIT). Quit character (QUIT).
Send Send
.B SIGQUIT .B SIGQUIT

View File

@ -204,7 +204,7 @@ main(int argc, char **argv)
wordexp("[a\-c]*.c", &p, 0); wordexp("[a\-c]*.c", &p, 0);
w = p.we_wordv; w = p.we_wordv;
for (i = 0; i < p.we_wordc; i++) for (i = 0; i < p.we_wordc; i++)
printf("%s\en", w[i]); printf("%s\\n", w[i]);
wordfree(&p); wordfree(&p);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }

View File

@ -31,7 +31,7 @@ Data written to a \fBnull\fP or \fBzero\fP special file is discarded.
Reads from the \fBnull\fP special file always return end of file (i.e., Reads from the \fBnull\fP special file always return end of file (i.e.,
.BR read (2) .BR read (2)
returns 0), whereas returns 0), whereas
reads from \fBzero\fP always return bytes containing zero (\e0 characters). reads from \fBzero\fP always return bytes containing zero (\\0 characters).
.LP .LP
\fBnull\fP and \fBzero\fP are typically created by: \fBnull\fP and \fBzero\fP are typically created by:
.RS .RS

View File

@ -319,11 +319,11 @@ The following shell session demonstrates the use of this program
.RB "$" " su" .RB "$" " su"
Password: Password:
.RB "#" " echo \(dq|$PWD/core_pattern_pipe_test %p \ .RB "#" " echo \(dq|$PWD/core_pattern_pipe_test %p \
UID=%u GID=%g sig=%s\(dq > \e" UID=%u GID=%g sig=%s\(dq > \\"
.B " /proc/sys/kernel/core_pattern" .B " /proc/sys/kernel/core_pattern"
.RB "#" " exit" .RB "#" " exit"
.RB "$" " sleep 100" .RB "$" " sleep 100"
.BR "^\e" " # type control-backslash" .BR "^\\" " # type control-backslash"
Quit (core dumped) Quit (core dumped)
.RB "$" " cat core.info" .RB "$" " cat core.info"
argc=5 argc=5

View File

@ -296,7 +296,7 @@ A different
can, however, be specified, which would have the same effect. can, however, be specified, which would have the same effect.
.SS "Escape Sequences" .SS "Escape Sequences"
To specify control- or blank characters in the color sequences or To specify control- or blank characters in the color sequences or
filename extensions, either C-style \e-escaped notation or filename extensions, either C-style \\-escaped notation or
.BR stty \-style .BR stty \-style
^-notation can be used. ^-notation can be used.
The C-style notation The C-style notation
@ -305,21 +305,21 @@ includes the following characters:
.RS +.2i .RS +.2i
.ta 1.0i .ta 1.0i
.nf .nf
\fB\ea\fR Bell (ASCII 7) \fB\\a\fR Bell (ASCII 7)
\fB\eb\fR Backspace (ASCII 8) \fB\\b\fR Backspace (ASCII 8)
\fB\ee\fR Escape (ASCII 27) \fB\\e\fR Escape (ASCII 27)
\fB\ef\fR Form feed (ASCII 12) \fB\\f\fR Form feed (ASCII 12)
\fB\en\fR Newline (ASCII 10) \fB\\n\fR Newline (ASCII 10)
\fB\er\fR Carriage Return (ASCII 13) \fB\\r\fR Carriage Return (ASCII 13)
\fB\et\fR Tab (ASCII 9) \fB\\t\fR Tab (ASCII 9)
\fB\ev\fR Vertical Tab (ASCII 11) \fB\\v\fR Vertical Tab (ASCII 11)
\fB\e?\fR Delete (ASCII 127) \fB\\?\fR Delete (ASCII 127)
\fB\e\fInnn\fR Any character (octal notation) \fB\\\fInnn\fR Any character (octal notation)
\fB\ex\fInnn\fR Any character (hexadecimal notation) \fB\\x\fInnn\fR Any character (hexadecimal notation)
\fB\e_\fR Space \fB\\_\fR Space
\fB\e\e\fR Backslash (\e) \fB\\\\\fR Backslash (\\)
\fB\e^\fR Caret (^) \fB\\^\fR Caret (^)
\fB\e#\fR Hash mark (#) \fB\\#\fR Hash mark (#)
.fi .fi
.RE .RE
.sp .sp
@ -348,7 +348,7 @@ definitions, which are used by ISO 6429 terminals are:
.RS +.2i .RS +.2i
.ta 1.0i .ta 1.0i
.nf .nf
\fBLEFTCODE\fR \ee[ \fBLEFTCODE\fR \\e[
\fBRIGHTCODE\fR m \fBRIGHTCODE\fR m
.fi .fi
.RE .RE

View File

@ -29,7 +29,7 @@ issue \- prelogin message and identification file
.SH DESCRIPTION .SH DESCRIPTION
The file \fI/etc/issue\fP is a text file which contains a message or The file \fI/etc/issue\fP is a text file which contains a message or
system identification to be printed before the login prompt. system identification to be printed before the login prompt.
It may contain various \fB@\fP\fIchar\fP and \fB\e\fP\fIchar\fP It may contain various \fB@\fP\fIchar\fP and \fB\\\fP\fIchar\fP
sequences, if supported by the sequences, if supported by the
.BR getty -type .BR getty -type
program employed on the system. program employed on the system.

View File

@ -181,7 +181,7 @@ Thus, to print out the environment of process 1, you would do:
.nf .nf
.ft CW .ft CW
.RB "$" " (cat /proc/1/environ; echo) | tr \(aq\e000\(aq \(aq\en\(aq" .RB "$" " (cat /proc/1/environ; echo) | tr \(aq\\000\(aq \(aq\\n\(aq"
.fi .fi
.ft P .ft P
.in .in

View File

@ -86,11 +86,11 @@ Capabilities of similar functions can be written in one line.
.nf .nf
Example for: Example for:
.sp .sp
Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\e Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\\
Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\e Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\\
Boolean: :bs:\e Boolean: :bs:\\
Numeric: :co#80:\e Numeric: :co#80:\\
String: :sr=\eE[H:\e String: :sr=\\E[H:\\
.fi .fi
.SS "Boolean Capabilities" .SS "Boolean Capabilities"
.nf .nf
@ -380,12 +380,12 @@ XF XOFF character if not \fB^S\fP
There are several ways of defining the control codes for string capabilities: There are several ways of defining the control codes for string capabilities:
.LP .LP
Every normal character represents itself, Every normal character represents itself,
except \(aq^\(aq, \(aq\e\(aq, and \(aq%\(aq. except \(aq^\(aq, \(aq\\\(aq, and \(aq%\(aq.
.LP .LP
A \fB^x\fP means Control-x. A \fB^x\fP means Control-x.
Control-A equals 1 decimal. Control-A equals 1 decimal.
.LP .LP
\ex means a special code. \\x means a special code.
x can be one of the following characters: x can be one of the following characters:
.RS .RS
E Escape (27) E Escape (27)
@ -401,7 +401,7 @@ b Backspace (8)
f Form feed (12) f Form feed (12)
.br .br
0 Null character. 0 Null character.
A \exxx specifies the octal character xxx. A \\xxx specifies the octal character xxx.
.RE .RE
.IP i .IP i
Increments parameters by one. Increments parameters by one.

View File

@ -133,7 +133,7 @@ This structure gives the name of the special file associated with the
user's terminal, the user's login name, and the time of login in the form user's terminal, the user's login name, and the time of login in the form
of of
.BR time (2). .BR time (2).
String fields are terminated by a null byte (\(aq\e0\(aq) String fields are terminated by a null byte (\(aq\\0\(aq)
if they are shorter than the size if they are shorter than the size
of the field. of the field.
.PP .PP

View File

@ -43,7 +43,7 @@ The international counterpart of ASCII is known as ISO 646.
.LP .LP
The following table contains the 128 ASCII characters. The following table contains the 128 ASCII characters.
.LP .LP
C program \f(CW\(aq\eX\(aq\fP escapes are noted. C program \f(CW\(aq\\X\(aq\fP escapes are noted.
.if t \{\ .if t \{\
.ft CW .ft CW
\} \}
@ -51,20 +51,20 @@ C program \f(CW\(aq\eX\(aq\fP escapes are noted.
l l l l l l l l. l l l l l l l l.
Oct Dec Hex Char Oct Dec Hex Char Oct Dec Hex Char Oct Dec Hex Char
_ _
000 0 00 NUL \(aq\e0\(aq 100 64 40 @ 000 0 00 NUL \(aq\\0\(aq 100 64 40 @
001 1 01 SOH (start of heading) 101 65 41 A 001 1 01 SOH (start of heading) 101 65 41 A
002 2 02 STX (start of text) 102 66 42 B 002 2 02 STX (start of text) 102 66 42 B
003 3 03 ETX (end of text) 103 67 43 C 003 3 03 ETX (end of text) 103 67 43 C
004 4 04 EOT (end of transmission) 104 68 44 D 004 4 04 EOT (end of transmission) 104 68 44 D
005 5 05 ENQ (enquiry) 105 69 45 E 005 5 05 ENQ (enquiry) 105 69 45 E
006 6 06 ACK (acknowledge) 106 70 46 F 006 6 06 ACK (acknowledge) 106 70 46 F
007 7 07 BEL \(aq\ea\(aq (bell) 107 71 47 G 007 7 07 BEL \(aq\\a\(aq (bell) 107 71 47 G
010 8 08 BS \(aq\eb\(aq (backspace) 110 72 48 H 010 8 08 BS \(aq\\b\(aq (backspace) 110 72 48 H
011 9 09 HT \(aq\et\(aq (horizontal tab) 111 73 49 I 011 9 09 HT \(aq\\t\(aq (horizontal tab) 111 73 49 I
012 10 0A LF \(aq\en\(aq (new line) 112 74 4A J 012 10 0A LF \(aq\\n\(aq (new line) 112 74 4A J
013 11 0B VT \(aq\ev\(aq (vertical tab) 113 75 4B K 013 11 0B VT \(aq\\v\(aq (vertical tab) 113 75 4B K
014 12 0C FF \(aq\ef\(aq (form feed) 114 76 4C L 014 12 0C FF \(aq\\f\(aq (form feed) 114 76 4C L
015 13 0D CR \(aq\er\(aq (carriage ret) 115 77 4D M 015 13 0D CR \(aq\\r\(aq (carriage ret) 115 77 4D M
016 14 0E SO (shift out) 116 78 4E N 016 14 0E SO (shift out) 116 78 4E N
017 15 0F SI (shift in) 117 79 4F O 017 15 0F SI (shift in) 117 79 4F O
020 16 10 DLE (data link escape) 120 80 50 P 020 16 10 DLE (data link escape) 120 80 50 P
@ -79,7 +79,7 @@ _
031 25 19 EM (end of medium) 131 89 59 Y 031 25 19 EM (end of medium) 131 89 59 Y
032 26 1A SUB (substitute) 132 90 5A Z 032 26 1A SUB (substitute) 132 90 5A Z
033 27 1B ESC (escape) 133 91 5B [ 033 27 1B ESC (escape) 133 91 5B [
034 28 1C FS (file separator) 134 92 5C \e \(aq\e\e\(aq 034 28 1C FS (file separator) 134 92 5C \\ \(aq\\\\\(aq
035 29 1D GS (group separator) 135 93 5D ] 035 29 1D GS (group separator) 135 93 5D ]
036 30 1E RS (record separator) 136 94 5E ^ 036 30 1E RS (record separator) 136 94 5E ^
037 31 1F US (unit separator) 137 95 5F \&_ 037 31 1F US (unit separator) 137 95 5F \&_
@ -132,7 +132,7 @@ For convenience, let us give more compact tables in hex and decimal.
------------- --------------------------------- ------------- ---------------------------------
0: 0 @ P \` p 0: ( 2 < F P Z d n x 0: 0 @ P \` p 0: ( 2 < F P Z d n x
1: ! 1 A Q a q 1: ) 3 = G Q [ e o y 1: ! 1 A Q a q 1: ) 3 = G Q [ e o y
2: " 2 B R b r 2: * 4 > H R \e f p z 2: " 2 B R b r 2: * 4 > H R \\ f p z
3: # 3 C S c s 3: ! + 5 ? I S ] g q { 3: # 3 C S c s 3: ! + 5 ? I S ] g q {
4: $ 4 D T d t 4: " , 6 @ J T ^ h r | 4: $ 4 D T d t 4: " , 6 @ J T ^ h r |
5: % 5 E U e u 5: # \- 7 A K U _ i s } 5: % 5 E U e u 5: # \- 7 A K U _ i s }
@ -142,7 +142,7 @@ For convenience, let us give more compact tables in hex and decimal.
9: ) 9 I Y i y 9: \' 1 ; E O Y c m w 9: ) 9 I Y i y 9: \' 1 ; E O Y c m w
A: * : J Z j z A: * : J Z j z
B: + ; K [ k { B: + ; K [ k {
C: , < L \e l | C: , < L \\ l |
D: \- = M ] m } D: \- = M ] m }
E: . > N ^ n ~ E: . > N ^ n ~
F: / ? O _ o DEL F: / ? O _ o DEL

View File

@ -532,7 +532,7 @@ Unless memory pressure calculation is enabled by setting the pseudo-file
.IR /dev/cpuset/memory_pressure_enabled , .IR /dev/cpuset/memory_pressure_enabled ,
it is not computed for any cpuset, and reads from any it is not computed for any cpuset, and reads from any
.I memory_pressure .I memory_pressure
always return zero, as represented by the ASCII string "0\en". always return zero, as represented by the ASCII string "0\\n".
See the \fBWARNINGS\fR section, below. See the \fBWARNINGS\fR section, below.
.PP .PP
A per-cpuset, running average is employed for the following reasons: A per-cpuset, running average is employed for the following reasons:

View File

@ -85,8 +85,8 @@ One can remove the special meaning of \(aq?\(aq, \(aq*\(aq and \(aq[\(aq by
preceding them by a backslash, or, in case this is part of preceding them by a backslash, or, in case this is part of
a shell command line, enclosing them in quotes. a shell command line, enclosing them in quotes.
Between brackets these characters stand for themselves. Between brackets these characters stand for themselves.
Thus, "\fI[[?*\e]\fP" matches the Thus, "\fI[[?*\\]\fP" matches the
four characters \(aq[\(aq, \(aq?\(aq, \(aq*\(aq and \(aq\e\(aq. four characters \(aq[\(aq, \(aq?\(aq, \(aq*\(aq and \(aq\\\(aq.
.SS Pathnames .SS Pathnames
Globbing is applied on each of the components of a pathname Globbing is applied on each of the components of a pathname
separately. separately.

View File

@ -436,7 +436,7 @@ If the command is short, then it can be included inline in the text,
in italic format, for example, in italic format, for example,
.IR "man 7 man-pages" . .IR "man 7 man-pages" .
In this case, it may be worth using nonbreaking spaces In this case, it may be worth using nonbreaking spaces
("\e\ ") at suitable places in the command. ("\\\ ") at suitable places in the command.
Command options should be written in italics, e.g., Command options should be written in italics, e.g.,
.IR \-l . .IR \-l .
.PP .PP

View File

@ -246,7 +246,7 @@ except the tag is included with the command instead of being on the
following line). following line).
If the tag is too long, the text after the tag will be moved down to the If the tag is too long, the text after the tag will be moved down to the
next line (text will not be lost or garbled). next line (text will not be lost or garbled).
For bulleted lists, use this macro with \e(bu (bullet) or \e(em (em dash) For bulleted lists, use this macro with \\(bu (bullet) or \\(em (em dash)
as the tag, and for numbered lists, use the number or letter followed by as the tag, and for numbered lists, use the number or letter followed by
a period as the tag; a period as the tag;
this simplifies translation to other formats. this simplifies translation to other formats.
@ -354,15 +354,15 @@ but used for a subsection inside a section).
The The
.B man .B man
package has the following predefined strings: package has the following predefined strings:
.IP \e*R .IP \\*R
Registration Symbol: \*R Registration Symbol: \*R
.IP \e*S .IP \\*S
Change to default font size Change to default font size
.IP \e*(Tm .IP \\*(Tm
Trademark Symbol: \*(Tm Trademark Symbol: \*(Tm
.IP \e*(lq .IP \\*(lq
Left angled double quote: \*(lq Left angled double quote: \*(lq
.IP \e*(rq .IP \\*(rq
Right angled double quote: \*(rq Right angled double quote: \*(rq
.SS "Safe Subset" .SS "Safe Subset"
Although technically Although technically
@ -383,7 +383,7 @@ Avoid using computations; most other tools can't process them.
Use simple commands that are easy to translate to other formats. Use simple commands that are easy to translate to other formats.
The following troff macros are believed to be safe (though in many cases The following troff macros are believed to be safe (though in many cases
they will be ignored by translators): they will be ignored by translators):
.BR \e" , .BR \\" ,
.BR . , .BR . ,
.BR ad , .BR ad ,
.BR bp , .BR bp ,
@ -410,26 +410,26 @@ they will be ignored by translators):
.BR tr . .BR tr .
.PP .PP
You may also use many troff escape sequences (those sequences beginning You may also use many troff escape sequences (those sequences beginning
with \e). with \\).
When you need to include the backslash character as normal text, When you need to include the backslash character as normal text,
use \ee. use \\\\.
Other sequences you may use, where x or xx are any characters and N Other sequences you may use, where x or xx are any characters and N
is any digit, include: is any digit, include:
.BR \e' , .BR \\' ,
.BR \e` , .BR \\` ,
.BR \e- , .BR \\- ,
.BR \e. , .BR \\. ,
.BR \e" , .BR \\" ,
.BR \e% , .BR \\% ,
.BR \e*x , .BR \\*x ,
.BR \e*(xx , .BR \\*(xx ,
.BR \e(xx , .BR \\(xx ,
.BR \e$N , .BR \\$N ,
.BR \enx , .BR \\nx ,
.BR \en(xx , .BR \\n(xx ,
.BR \efx , .BR \\fx ,
and and
.BR \ef(xx . .BR \\f(xx .
Avoid using the escape sequences for drawing graphics. Avoid using the escape sequences for drawing graphics.
.PP .PP
Do not use the optional parameter for Do not use the optional parameter for
@ -459,7 +459,7 @@ Only translations
that can be ignored should be used. that can be ignored should be used.
Font changes Font changes
.RB ( ft .RB ( ft
and the \fB\ef\fP escape sequence) and the \fB\\f\fP escape sequence)
should only have the values 1, 2, 3, 4, R, I, B, P, or CW should only have the values 1, 2, 3, 4, R, I, B, P, or CW
(the ft command may also have no parameters). (the ft command may also have no parameters).
.PP .PP
@ -497,7 +497,7 @@ file (such as HTML or Docbook).
Anything else suggests simple ASCII Anything else suggests simple ASCII
text (e.g., a "catman" result). text (e.g., a "catman" result).
.PP .PP
Many man pages begin with \fB\'\e"\fP followed by a Many man pages begin with \fB\'\\"\fP followed by a
space and a list of characters, space and a list of characters,
indicating how the page is to be preprocessed. indicating how the page is to be preprocessed.
For portability's sake to non-troff translators we recommend For portability's sake to non-troff translators we recommend

View File

@ -281,7 +281,7 @@ and a leading white space is not output between the characters
and the previous argument (if any). and the previous argument (if any).
The special meaning of a punctuation character may be escaped The special meaning of a punctuation character may be escaped
with the string with the string
.Ql \e& . .Ql \\& .
For example the following string, For example the following string,
.Bl -tag -width "&.Ar file1\ , file2\ , file3\ )\ ." -offset indent .Bl -tag -width "&.Ar file1\ , file2\ , file3\ )\ ." -offset indent
.It Li "\&.Ar file1\ , file2\ , file3\ )\ ." .It Li "\&.Ar file1\ , file2\ , file3\ )\ ."

View File

@ -231,10 +231,10 @@ at the beginning of a line in some context other than
a macro invocation, precede the a macro invocation, precede the
.Ql \&\. .Ql \&\.
(dot) with the (dot) with the
.Ql \e& .Ql \\&
escape sequence. escape sequence.
The The
.Ql \e& .Ql \\&
translates literally to a zero width space, and is never displayed in the translates literally to a zero width space, and is never displayed in the
output. output.
.Pp .Pp
@ -289,11 +289,11 @@ To prevent a two character
string from being interpreted as a macro name, precede string from being interpreted as a macro name, precede
the string with the the string with the
escape sequence escape sequence
.Ql \e& : .Ql \\& :
.Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent
.It Op \&Fl s \&Ar bytes .It Op \&Fl s \&Ar bytes
is produced by is produced by
.Li \&.Op \e&Fl s \e&Ar bytes .Li \&.Op \\&Fl s \\&Ar bytes
.El .El
.Pp .Pp
Here the strings Here the strings
@ -379,9 +379,9 @@ Title of article in a book or journal.
.Pp .Pp
One way of passing a string One way of passing a string
containing blank spaces is to use the hard or unpaddable space character containing blank spaces is to use the hard or unpaddable space character
.Ql \e\ , .Ql \\\ ,
that is, a blank space preceded by the escape character that is, a blank space preceded by the escape character
.Ql \e . .Ql \\ .
This method may be used with any macro but has the side effect This method may be used with any macro but has the side effect
of interfering with the adjustment of text of interfering with the adjustment of text
over the length of a line. over the length of a line.
@ -395,14 +395,14 @@ For example:
.Bl -tag -width "fetch(char *str)" -offset indent .Bl -tag -width "fetch(char *str)" -offset indent
.It Fn fetch char\ *str .It Fn fetch char\ *str
is created by is created by
.Ql \&.Fn fetch char\e *str .Ql \&.Fn fetch char\\ *str
.It Fn fetch "char *str" .It Fn fetch "char *str"
can also be created by can also be created by
.Ql \&.Fn fetch "\\*qchar *str\\*q" .Ql \&.Fn fetch "\\*qchar *str\\*q"
.El .El
.Pp .Pp
If the If the
.Ql \e .Ql \\
or quotes or quotes
were omitted, were omitted,
.Ql \&.Fn .Ql \&.Fn
@ -424,20 +424,20 @@ from <blank-space><end-of-line> character sequences.
Should the need Should the need
arise to force a blank character at the end of a line, arise to force a blank character at the end of a line,
it may be forced with an unpaddable space and the it may be forced with an unpaddable space and the
.Ql \e& .Ql \\&
escape character. escape character.
For example, For example,
.Ql string\e\ \e& . .Ql string\\\ \\& .
.Ss Escaping Special Characters .Ss Escaping Special Characters
Special characters Special characters
like the newline character like the newline character
.Ql \en , .Ql \\n ,
are handled by replacing the are handled by replacing the
.Ql \e .Ql \\
with with
.Ql \ee .Ql \\e
(e.g., (e.g.,
.Ql \een ) .Ql \\en )
to preserve to preserve
the backslash. the backslash.
.Sh THE ANATOMY OF A MAN PAGE .Sh THE ANATOMY OF A MAN PAGE
@ -450,7 +450,7 @@ in
.Pp .Pp
.Ss A manual page template .Ss A manual page template
.Bd -literal -offset indent .Bd -literal -offset indent
\&.\e" The following requests are required for all man pages. \&.\\" The following requests are required for all man pages.
\&.Dd Month day, year \&.Dd Month day, year
\&.Os OPERATING_SYSTEM [version/release] \&.Os OPERATING_SYSTEM [version/release]
\&.Dt DOCUMENT_TITLE [section number] [volume] \&.Dt DOCUMENT_TITLE [section number] [volume]
@ -459,26 +459,26 @@ in
\&.Nd one line description of name \&.Nd one line description of name
\&.Sh SYNOPSIS \&.Sh SYNOPSIS
\&.Sh DESCRIPTION \&.Sh DESCRIPTION
\&.\e" The following requests should be uncommented and \&.\\" The following requests should be uncommented and
\&.\e" used where appropriate. This next request is \&.\\" used where appropriate. This next request is
\&.\e" for sections 2 and 3 function return values only. \&.\\" for sections 2 and 3 function return values only.
\&.\e" .Sh RETURN VALUE \&.\\" .Sh RETURN VALUE
\&.\e" This next request is for sections 1, 6, 7 & 8 only \&.\\" This next request is for sections 1, 6, 7 & 8 only
\&.\e" .Sh ENVIRONMENT \&.\\" .Sh ENVIRONMENT
\&.\e" .Sh FILES \&.\\" .Sh FILES
\&.\e" .Sh EXAMPLES \&.\\" .Sh EXAMPLES
\&.\e" This next request is for sections 1, 6, 7 & 8 only \&.\\" This next request is for sections 1, 6, 7 & 8 only
\&.\e" (command return values (to shell) and \&.\\" (command return values (to shell) and
\&.\e" fprintf/stderr type diagnostics) \&.\\" fprintf/stderr type diagnostics)
\&.\e" .Sh DIAGNOSTICS \&.\\" .Sh DIAGNOSTICS
\&.\e" The next request is for sections 2 and 3 error \&.\\" The next request is for sections 2 and 3 error
\&.\e" and signal handling only. \&.\\" and signal handling only.
\&.\e" .Sh ERRORS \&.\\" .Sh ERRORS
\&.\e" .Sh SEE ALSO \&.\\" .Sh SEE ALSO
\&.\e" .Sh CONFORMING TO \&.\\" .Sh CONFORMING TO
\&.\e" .Sh HISTORY \&.\\" .Sh HISTORY
\&.\e" .Sh AUTHORS \&.\\" .Sh AUTHORS
\&.\e" .Sh BUGS \&.\\" .Sh BUGS
.Ed .Ed
.Pp .Pp
The first items in the template are the macros The first items in the template are the macros
@ -785,7 +785,7 @@ default font distinguishing it from the strings in literal font.
.Pp .Pp
To remove the special meaning from a punctuation character To remove the special meaning from a punctuation character
escape it with escape it with
.Ql \e& . .Ql \\& .
.Xr Troff .Xr Troff
is limited as a macro language, and has difficulty is limited as a macro language, and has difficulty
when presented with a string containing when presented with a string containing
@ -801,7 +801,7 @@ may assume it is supposed to actually perform the operation
or evaluation suggested by the characters. To prevent or evaluation suggested by the characters. To prevent
the accidental evaluation of these characters, the accidental evaluation of these characters,
escape them with escape them with
.Ql \e& . .Ql \\& .
Typical syntax is shown in the first content macro displayed Typical syntax is shown in the first content macro displayed
below, below,
.Ql \&.Ad . .Ql \&.Ad .
@ -1249,7 +1249,7 @@ it can not recall the first argument it was invoked with.
.Bl -tag -width "\&.Nm mdoc.sample" -compact -offset 14n .Bl -tag -width "\&.Nm mdoc.sample" -compact -offset 14n
.It Li \&.Nm mdoc.sample .It Li \&.Nm mdoc.sample
.Nm mdoc.sample .Nm mdoc.sample
.It Li \&.Nm \e-mdoc .It Li \&.Nm \\-mdoc
.Nm \-mdoc . .Nm \-mdoc .
.It Li \&.Nm foo\ )\ )\ , .It Li \&.Nm foo\ )\ )\ ,
.Nm foo ) ) , .Nm foo ) ) ,
@ -1710,7 +1710,7 @@ using the space mode macro to turn spacing off:
.Bd -literal -offset indent .Bd -literal -offset indent
\&.Sm off \&.Sm off
\&.It Xo Sy I Ar operation \&.It Xo Sy I Ar operation
\&.No \een Ar count No \een \&.No \\en Ar count No \\en
\&.Xc \&.Xc
\&.Sm on \&.Sm on
.Ed .Ed
@ -1720,7 +1720,7 @@ Produces
.Bl -tag -width flag -compact .Bl -tag -width flag -compact
.Sm off .Sm off
.It Xo Sy I Ar operation .It Xo Sy I Ar operation
.No \en Ar count No \en .No \\n Ar count No \\n
.Xc .Xc
.Sm on .Sm on
.El .El
@ -1755,7 +1755,7 @@ Test the value of a variable.
.Bd -literal -offset indent .Bd -literal -offset indent
\&.It Xo \&.It Xo
\&.Ic .ifndef \&.Ic .ifndef
\&.Oo \e&! Oc Ns Ar variable \&.Oo \\&! Oc Ns Ar variable
\&.Op Ar operator variable ... \&.Op Ar operator variable ...
\&.Xc \&.Xc
.Ed .Ed
@ -2076,7 +2076,7 @@ macro asserts a vertical distance unless the -compact flag is given).
.\" around the .\" around the
.\" .Li \&+ .\" .Li \&+
.\" signs were forced with .\" signs were forced with
.\" .Li \e : .\" .Li \\ :
.\" .Pp .\" .Pp
.\" .Ds I .\" .Ds I
.\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \& .\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \&
@ -2091,7 +2091,7 @@ macro asserts a vertical distance unless the -compact flag is given).
.\" .Li \&.Sy x .\" .Li \&.Sy x
.\" .Cx .\" .Cx
.\" .Cl Cx \t\t .\" .Cl Cx \t\t
.\" .Li \&.Cx \e\ +\e\ \e& .\" .Li \&.Cx \\\ +\\\ \\&
.\" .Cx .\" .Cx
.\" .Cl Cx \&(\& .\" .Cl Cx \&(\&
.\" .Va a .\" .Va a
@ -2110,7 +2110,7 @@ macro asserts a vertical distance unless the -compact flag is given).
.\" .Li \&.Sy y .\" .Li \&.Sy y
.\" .Cx .\" .Cx
.\" .Cl Cx \t\t .\" .Cl Cx \t\t
.\" .Li \&.Cx \e\ +\e\ \e& .\" .Li \&.Cx \\\ +\\\ \\&
.\" .Cx .\" .Cx
.\" .Cl Cx \t\t .\" .Cl Cx \t\t
.\" .Li \&.Va c ) .\" .Li \&.Va c )
@ -2141,7 +2141,7 @@ macro asserts a vertical distance unless the -compact flag is given).
.\" .Cx \t .\" .Cx \t
.\" .Em is produced by .\" .Em is produced by
.\" .Cx \t .\" .Cx \t
.\" .Li \&.Ar \e\ b1 e1 f1 .\" .Li \&.Ar \\\ b1 e1 f1
.\" .Cx .\" .Cx
.\" .Cl Cx \t\t .\" .Cl Cx \t\t
.\" .Li \&.Op Sy ?/ .\" .Li \&.Op Sy ?/
@ -2336,8 +2336,8 @@ would be typed.
.Pp .Pp
.Dl Usage: .Li argument ... \*(Pu .Dl Usage: .Li argument ... \*(Pu
.Bl -tag -width "\&.Li cntrl-D ) ," -compact -offset 14n .Bl -tag -width "\&.Li cntrl-D ) ," -compact -offset 14n
.It Li \&.Li \een .It Li \&.Li \\en
.Li \en .Li \\n
.It Li \&.Li M1 M2 M3\ ; .It Li \&.Li M1 M2 M3\ ;
.Li M1 M2 M3 ; .Li M1 M2 M3 ;
.It Li \&.Li cntrl-D\ )\ , .It Li \&.Li cntrl-D\ )\ ,
@ -2647,11 +2647,11 @@ macro name, a new and nested list is assumed.
.Sh PREDEFINED STRINGS .Sh PREDEFINED STRINGS
The following strings are predefined as may be used by The following strings are predefined as may be used by
preceding with the troff string interpreting sequence preceding with the troff string interpreting sequence
.Ql \&\e*(xx .Ql \&\\*(xx
where where
.Em xx .Em xx
is the name of the defined string or as is the name of the defined string or as
.Ql \&\e*x .Ql \&\\*x
where where
.Em x .Em x
is the name of the string. is the name of the string.
@ -2685,7 +2685,7 @@ The interpreting sequence may be used any where in the text.
The string named The string named
.Ql q .Ql q
should be written as should be written as
.Ql \e*q .Ql \\*q
since it is only one char. since it is only one char.
.Sh DIAGNOSTICS .Sh DIAGNOSTICS
The debugging facilities for The debugging facilities for
@ -2718,7 +2718,7 @@ two lower case characters or a dot plus a letter or metacharacter
character. character.
In one of the introduction examples, it was shown how to In one of the introduction examples, it was shown how to
prevent the interpretation of a macro name with the escape sequence prevent the interpretation of a macro name with the escape sequence
.Ql \e& . .Ql \\& .
This is sufficient for the internal register names also. This is sufficient for the internal register names also.
.Pp .Pp
.\" Every callable macro name has a corresponding register .\" Every callable macro name has a corresponding register
@ -2767,7 +2767,7 @@ the debug macro placed above and below an
artificially created problem (a flag argument artificially created problem (a flag argument
.Ql \&aC .Ql \&aC
which should be which should be
.Ql \e&aC .Ql \\&aC
in order to work): in order to work):
.Bd -literal -offset indent .Bd -literal -offset indent
\&.Db on \&.Db on
@ -2820,7 +2820,7 @@ In this next example, the offending
is escaped: is escaped:
.Bd -literal -offset indent .Bd -literal -offset indent
\&.Db on \&.Db on
\&.Em An escaped \e&aC \&.Em An escaped \\&aC
\&.Db off \&.Db off
.Ed .Ed
.Bd -literal -offset indent .Bd -literal -offset indent
@ -2837,12 +2837,12 @@ DEBUGGING OFF
.Ed .Ed
.Pp .Pp
The argument The argument
.Ql \e&aC .Ql \\&aC
shows up with the same length of 2 as the shows up with the same length of 2 as the
.Ql \e& .Ql \\&
sequence produces a zero width, but a register sequence produces a zero width, but a register
named named
.Ql \e&aC .Ql \\&aC
was not found and the type classified as string. was not found and the type classified as string.
.Pp .Pp
Other diagnostics consist of usage statements and are self explanatory. Other diagnostics consist of usage statements and are self explanatory.
@ -2913,7 +2913,7 @@ and certainly should be able to.
.\" boundary. .\" boundary.
.\" to make sure a line boundary is crossed: .\" to make sure a line boundary is crossed:
.\" .Bd -literal .\" .Bd -literal
.\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[] .\" \&.Fn struct\\\ dictionarytable\\\ *dictionarylookup struct\\\ dictionarytable\\\ *tab[]
.\" .Ed .\" .Ed
.\" .Pp .\" .Pp
.\" produces, nudge nudge, .\" produces, nudge nudge,

View File

@ -90,16 +90,16 @@ an empty set of "\fI()\fP" (matching the null string)\*(dg,
a \fIbracket expression\fR (see below), \(aq.\(aq a \fIbracket expression\fR (see below), \(aq.\(aq
(matching any single character), \(aq^\(aq (matching the null string at the (matching any single character), \(aq^\(aq (matching the null string at the
beginning of a line), \(aq$\(aq (matching the null string at the beginning of a line), \(aq$\(aq (matching the null string at the
end of a line), a \(aq\e\(aq followed by one of the characters end of a line), a \(aq\\\(aq followed by one of the characters
"\fI^.[$()|*+?{\e\fP" "\fI^.[$()|*+?{\\\fP"
(matching that character taken as an ordinary character), (matching that character taken as an ordinary character),
a \(aq\e\(aq followed by any other character\*(dg a \(aq\\\(aq followed by any other character\*(dg
(matching that character taken as an ordinary character, (matching that character taken as an ordinary character,
as if the \(aq\e\(aq had not been present\*(dg), as if the \(aq\\\(aq had not been present\*(dg),
or a single character with no other significance (matching that character). or a single character with no other significance (matching that character).
A \(aq{\(aq followed by a character other than a digit is an ordinary A \(aq{\(aq followed by a character other than a digit is an ordinary
character, not the beginning of a bound\*(dg. character, not the beginning of a bound\*(dg.
It is illegal to end an RE with \(aq\e\(aq. It is illegal to end an RE with \(aq\\\(aq.
.PP .PP
A \fIbracket expression\fR is a list of characters enclosed in "\fI[]\fP". A \fIbracket expression\fR is a list of characters enclosed in "\fI[]\fP".
It normally matches any single character from the list (but see below). It normally matches any single character from the list (but see below).
@ -123,7 +123,7 @@ To use a literal \(aq\-\(aq as the first endpoint of a range,
enclose it in "\fI[.\fP" and "\fI.]\fP" enclose it in "\fI[.\fP" and "\fI.]\fP"
to make it a collating element (see below). to make it a collating element (see below).
With the exception of these and some combinations using \(aq[\(aq (see next With the exception of these and some combinations using \(aq[\(aq (see next
paragraphs), all other special characters, including \(aq\e\(aq, lose their paragraphs), all other special characters, including \(aq\\\(aq, lose their
special significance within a bracket expression. special significance within a bracket expression.
.PP .PP
Within a bracket expression, a collating element (a character, Within a bracket expression, a collating element (a character,
@ -235,9 +235,9 @@ Obsolete ("basic") regular expressions differ in several respects.
\(aq|\(aq, \(aq+\(aq, and \(aq?\(aq are \(aq|\(aq, \(aq+\(aq, and \(aq?\(aq are
ordinary characters and there is no equivalent ordinary characters and there is no equivalent
for their functionality. for their functionality.
The delimiters for bounds are "\fI\e{\fP" and "\fI\e}\fP", The delimiters for bounds are "\fI\\{\fP" and "\fI\\}\fP",
with \(aq{\(aq and \(aq}\(aq by themselves ordinary characters. with \(aq{\(aq and \(aq}\(aq by themselves ordinary characters.
The parentheses for nested subexpressions are "\fI\e(\fP" and "\fI\e)\fP", The parentheses for nested subexpressions are "\fI\\(\fP" and "\fI\\)\fP",
with \(aq(\(aq and \(aq)\(aq by themselves ordinary characters. with \(aq(\(aq and \(aq)\(aq by themselves ordinary characters.
\(aq^\(aq is an ordinary character except at the beginning of the \(aq^\(aq is an ordinary character except at the beginning of the
RE or\*(dg the beginning of a parenthesized subexpression, RE or\*(dg the beginning of a parenthesized subexpression,
@ -248,12 +248,12 @@ RE or the beginning of a parenthesized subexpression
(after a possible leading \(aq^\(aq). (after a possible leading \(aq^\(aq).
.PP .PP
Finally, there is one new type of atom, a \fIback reference\fR: Finally, there is one new type of atom, a \fIback reference\fR:
\(aq\e\(aq followed by a nonzero decimal digit \fId\fR \(aq\\\(aq followed by a nonzero decimal digit \fId\fR
matches the same sequence of characters matches the same sequence of characters
matched by the \fId\fRth parenthesized subexpression matched by the \fId\fRth parenthesized subexpression
(numbering subexpressions by the positions of their opening parentheses, (numbering subexpressions by the positions of their opening parentheses,
left to right), left to right),
so that, for example, "\fI\e([bc]\e)\e1\fP" matches "bb" or "cc" but not "bc". so that, for example, "\fI\\([bc]\\)\\1\fP" matches "bb" or "cc" but not "bc".
.SH BUGS .SH BUGS
Having two kinds of REs is a botch. Having two kinds of REs is a botch.
.PP .PP
@ -267,7 +267,7 @@ Back references are a dreadful botch,
posing major problems for efficient implementations. posing major problems for efficient implementations.
They are also somewhat vaguely defined They are also somewhat vaguely defined
(does (does
"\fIa\e(\e(b\e)*\e2\e)*d\fP" match "abbbd"?). "\fIa\\(\\(b\\)*\\2\\)*d\fP" match "abbbd"?).
Avoid using them. Avoid using them.
.PP .PP
POSIX.2's specification of case-independent matching is vague. POSIX.2's specification of case-independent matching is vague.