mirror of https://github.com/mkerrisk/man-pages
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:
parent
6c1544c132
commit
9f8e673e62
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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 ()
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
24
man7/ascii.7
24
man7/ascii.7
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
50
man7/man.7
50
man7/man.7
|
@ -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
|
||||||
|
|
|
@ -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\ )\ ."
|
||||||
|
|
|
@ -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,
|
||||||
|
|
22
man7/regex.7
22
man7/regex.7
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue