\R4RS is not a valid LaTeX macro name.

Besides, we're at R5RS now.
This commit is contained in:
sperber 2002-01-07 13:26:32 +00:00
parent 737917e695
commit b2bcc730ad
7 changed files with 204 additions and 204 deletions

View File

@ -12,7 +12,7 @@
\def\Unix{{Unix}} % Not smallcaps, according to Bart.
\def\Scheme{{Scheme}}
\def\scm{{Scheme 48}}
\def\R4RS{R4RS}
\def\RnRS{R5RS}
\def\Posix{\textsc{Posix}}
\def\sharpf{\normalfont\texttt{\#f}}

View File

@ -55,9 +55,9 @@ We currently release scsh to the following Internet sites:
\end{flushleft}
\end{inset}
These sites are
the MIT Project Mac ftp server,
the Scheme Shell home page, and
the Indiana Scheme Repository home page,
the MIT Project Mac ftp server,
the Scheme Shell home page, and
the Indiana Scheme Repository home page,
respectively.
Each should have a compressed tar file of the entire scsh release,
which includes all the source code and the manual,
@ -80,11 +80,11 @@ This means that if you use one of the common Unix implementations,
building scsh should require exactly the following steps:
\begin{inset}
\begin{tabular}{l@{\qquad}l}
\ex{gunzip scsh.tar.gz} & \emph{Uncompress the release tar file.} \\
\ex{untar xfv scsh.tar} & \emph{Unpack the source code.} \\
\ex{cd scsh-0.5} & \emph{Move to the source directory.} \\
\ex{./configure} & \emph{Examine host; build Makefile.} \\
\ex{make} & \emph{Build system.}
\ex{gunzip scsh.tar.gz} & \emph{Uncompress the release tar file.} \\
\ex{untar xfv scsh.tar} & \emph{Unpack the source code.} \\
\ex{cd scsh-0.5} & \emph{Move to the source directory.} \\
\ex{./configure} & \emph{Examine host; build Makefile.} \\
\ex{make} & \emph{Build system.}
\end{tabular}
\end{inset}
When you are done, you should have a virtual machine compiled in
@ -200,9 +200,9 @@ Some of the common ones are:
that are not commonly used.
\item[\ex{-info}]
Data structures packaging up information about various OS
entities frequently end in \ldots\ex{-info}. Examples:
\ex{user-info}, \ex{file-info}, \ex{group-info}, and \ex{host-info}.
Data structures packaging up information about various OS
entities frequently end in \ldots\ex{-info}. Examples:
\ex{user-info}, \ex{file-info}, \ex{group-info}, and \ex{host-info}.
\end{description}
%
@ -214,11 +214,11 @@ and so forth.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Lexical issues}
Scsh's lexical syntax is just {\R4RS} {\Scheme}, with the following
Scsh's lexical syntax is just {\RnRS} {\Scheme}, with the following
exceptions.
\subsection{Extended symbol syntax}
Scsh's symbol syntax differs from {\R4RS} {\Scheme} in the following ways:
Scsh's symbol syntax differs from {\RnRS} {\Scheme} in the following ways:
\begin{itemize}
\item In scsh, symbol case is preserved by \ex{read} and is significant on
symbol comparison. This means
@ -277,9 +277,9 @@ which is used to delimit the string bounds.
Some examples:
\begin{inset}
\begin{tabular}{ll}
Here-string syntax & Ordinary string syntax \\ \hline
\verb:#<|Hello, world.|: & \verb:"Hello, world.": \\
\verb:#<!"Ouch," he said.!: & \verb:"\"Ouch,\" he said.":
Here-string syntax & Ordinary string syntax \\ \hline
\verb:#<|Hello, world.|: & \verb:"Hello, world.": \\
\verb:#<!"Ouch," he said.!: & \verb:"\"Ouch,\" he said.":
\end{tabular}
\end{inset}
%
@ -391,9 +391,9 @@ All told, the \ex{define-record} form above defines the following procedures:
\hline
(make-ship \var{x} \var{y}) & Create a new \var{ship} record. \\
\hline
(ship:x \var{ship}) & Retrieve the \var{x} field. \\
(ship:y \var{ship}) & Retrieve the \var{y} field. \\
(ship:size \var{ship}) & Retrieve the \var{size} field. \\
(ship:x \var{ship}) & Retrieve the \var{x} field. \\
(ship:y \var{ship}) & Retrieve the \var{y} field. \\
(ship:size \var{ship}) & Retrieve the \var{size} field. \\
\hline
(set-ship:x \var{ship} \var{new-x}) & Assign the \var{x} field. \\
(set-ship:y \var{ship} \var{new-y}) & Assign the \var{y} field. \\
@ -403,7 +403,7 @@ All told, the \ex{define-record} form above defines the following procedures:
(modify-ship:y \var{ship} \var{yfun}) & Modify \var{y} field with \var{yfun}. \\
(modify-ship:size \var{ship} \var{sizefun}) & Modify \var{size} field with \var{sizefun}. \\
\hline
(ship? \var{object}) & Type predicate. \\
(ship? \var{object}) & Type predicate. \\
\hline
(copy-ship \var{ship}) & Shallow-copy of the record. \\
\hline

View File

@ -27,7 +27,7 @@ the second element is \ex{(nth \var{list} 1)}, and so on.
This procedure is provided as it is useful for accessing elements
from the lists returned by the field-readers (chapter~\ref{chapt:fr-awk}).
The functionality of \ex{nth} is equivalent to that of \R4RS{}'s
The functionality of \ex{nth} is equivalent to that of \RnRS{}'s
\ex{list-ref}. Therefore, \ex{nth} will go away in a future release.
\end{desc}

View File

@ -174,7 +174,7 @@ in the child process before executing the body of the form.
This guarantees that the \ex{begin} form, like all other process forms,
``sees'' the effects of any associated I/O redirections.
Note that {\R4RS} does not specify whether or not \ex{|} and \ex{|+}
Note that {\RnRS} does not specify whether or not \ex{|} and \ex{|+}
are readable symbols. Scsh does.
\section{Using extended process forms in \Scheme}

View File

@ -6,7 +6,7 @@
Scsh is currently implemented on top of {\scm}, a freely-available
{\Scheme} implementation written by Jonathan Rees and Richard Kelsey.
{\scm} uses a byte-code interpreter for good code density, portability
and medium efficiency. It is {\R4RS}.
and medium efficiency. It is {\RnRS}.
It also has a module system designed by Jonathan Rees.
Scsh's design is not {\scm} specific, although the current implementation
@ -191,30 +191,30 @@ where
\begin{inset}
\begin{flushleft}
\begin{tabular}{ll@{\qquad}l}
\var{meta-arg:} & \verb|\| \var{script-file-name} \\
\var{meta-arg:} & \verb|\| \var{script-file-name} \\
\\
\var{switch:} & \ex{-e} \var{entry-point}
& Specify top-level entry-point. \\
\var{switch:} & \ex{-e} \var{entry-point}
& Specify top-level entry-point. \\
& \ex{-o} \var{structure}
& Open structure in current package. \\
& \ex{-o} \var{structure}
& Open structure in current package. \\
& \ex{-m} \var{structure}
& Switch to package. \\
& \ex{-m} \var{structure}
& Switch to package. \\
& \ex{-n} \var{new-package}
& Switch to new package. \\ \\
& \ex{-n} \var{new-package}
& Switch to new package. \\ \\
& \ex{-lm} \var{module-file-name}
& Load module into config package. \\
& \ex{-lm} \var{module-file-name}
& Load module into config package. \\
& \ex{-l} \var{file-name}
& Load file into current package. \\
& \ex{-l} \var{file-name}
& Load file into current package. \\
& \ex{-dm} & Do script module. \\
& \ex{-ds} & Do script. \\
& \ex{-dm} & Do script module. \\
& \ex{-ds} & Do script. \\
\\
\var{end-option:} & \ex{-s} \var{script} \\
& \ex{-sfd} \var{num} \\
@ -579,16 +579,16 @@ the \ex{top} procedure.
;;; the functionality as a Unix program akin to sort(1).
(define-structures ((sort-struct (export sort-list
sort-vector!))
(sort-toplevel (export top)))
(sort-toplevel (export top)))
(open scheme)
(begin (define (sort-list elts <=) {\ldots})
(define (sort-vec! vec <=) {\ldots})
(define (sort-vec! vec <=) {\ldots})
;; Parse the command line and
;; Parse the command line and
;; sort stdin to stdout.
(define (top args)
{\ldots})))\end{code}
(define (top args)
{\ldots})))\end{code}
The expansion below shows how the command-line scanner
(1) loads the config file \ex{sort} (written in the {\scm} module language),
@ -833,30 +833,30 @@ The allowed options to the heap linker are:
\begin{itemize}
\def\Item#1{\item{\ex{#1}}\\}
\Item{--temp \var{dir}} The temporary directory to hold .c and .o files.
The default is typically configured to be
\ex{/usr/tmp}, and can be overridden by the
environment variable \ex{TMPDIR}.
Example:
\codex{--temp /tmp}
\Item{--temp \var{dir}} The temporary directory to hold .c and .o files.
The default is typically configured to be
\ex{/usr/tmp}, and can be overridden by the
environment variable \ex{TMPDIR}.
Example:
\codex{--temp /tmp}
\Item{--cc \var{command}} The command to run the C compiler.
The default can be overridden by the environment
variable \ex{CC}.
Example:
\codex{--cc "gcc -g -O"}
\Item{--cc \var{command}} The command to run the C compiler.
The default can be overridden by the environment
variable \ex{CC}.
Example:
\codex{--cc "gcc -g -O"}
\Item{--ld \var{command}} The arguments to run the C compiler as a linker.
The default can be overridden by the
environment variable \ex{LDFLAGS}.
Example:
\codex{--ld "-Wl,-E"}
The default can be overridden by the
environment variable \ex{LDFLAGS}.
Example:
\codex{--ld "-Wl,-E"}
\Item{--libs \var{libs}} The libraries needed to link the VM and heap.
The default can be overridden by the
environment variable \ex{LIBS}.
Example:
\codex{--libs "-ldld -lld -lm"}
The default can be overridden by the
environment variable \ex{LIBS}.
Example:
\codex{--libs "-ldld -lld -lm"}
\end{itemize}
Be warned that the current heap linker has many shortcomings.
@ -876,7 +876,7 @@ Be warned that the current heap linker has many shortcomings.
\begin{itemize}
\item It requires the heap image to be referenced by a file-name;
the linker will not allow you to feed it the input heap image
on a port.
on a port.
\item The heap-image is linked against the vm contained in
\begin{tightcode}
/usr/local/lib/scsh/libscshvm.a\end{tightcode}
@ -906,7 +906,7 @@ it.
Here is an example of how one might use the heap linker:
\begin{code}
scsh-hlink scsh.image fastscsh\end{code}
scsh-hlink scsh.image fastscsh\end{code}
We'd love it if someone would dive into the source and improve it.

View File

@ -131,8 +131,8 @@ This can be overridden if the programmer wishes.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{I/O}
\subsection{Standard {\R4RS} I/O procedures}
In scsh, most standard {\R4RS} i/o operations (such as \ex{display} or
\subsection{Standard {\RnRS} I/O procedures}
In scsh, most standard {\RnRS} i/o operations (such as \ex{display} or
\ex{read-char}) work on both integer file descriptors and {\Scheme} ports.
When doing i/o with a file descriptor, the i/o operation is done
directly on the file, bypassing any buffered data that may have
@ -141,7 +141,7 @@ Note that character-at-a-time operations such as \ex{read-char}
are likely to be quite slow when performed directly upon file
descriptors.
The standard {\R4RS} procedures \ex{read-char}, \ex{char-ready?}, \ex{write},
The standard {\RnRS} procedures \ex{read-char}, \ex{char-ready?}, \ex{write},
\ex{display}, \ex{newline},
and \ex{write-char} are all generic, accepting integer file descriptor
arguments as well as ports.
@ -590,7 +590,7 @@ this is dependent on the OS implementation.
\ex{open/read+write} flags.
%
The returned port is an input port if the \var{flags} permit it,
otherwise an output port. \R4RS/\scm/scsh do not have input/output ports,
otherwise an output port. \RnRS/\scm/scsh do not have input/output ports,
so it's one or the other. This should be fixed. (You can hack simultaneous
i/o on a file by opening it r/w, taking the result input port,
and duping it to an output port with \ex{dup->outport}.)
@ -606,7 +606,7 @@ this is dependent on the OS implementation.
\codex{(bitwise-ior open/create open/truncate)}
for \ex{open-output-file}.
These defaults make the procedures backwards-compatible with their
unary {\R4RS} definitions.
unary {\RnRS} definitions.
\end{defundescx}
\begin{defundesc} {open-fdes} {fname flags [perms]} \integer

View File

@ -142,11 +142,11 @@ if it is not supported, the flag will be bound to \sharpf.
% the kind of features they determine:
% \begin{center}
% \begin{tabular}{|ll|}\hline
% Field & Affects \\ \hline \hline
% \ex{input-flags} & Processing of input chars \\
% \ex{output-flags} & Processing of output chars \\
% \ex{control-flags} & Controlling of terminal's serial line \\
% \ex{local-flags} & Details of the line-editting user interface \\
% Field & Affects \\ \hline \hline
% \ex{input-flags} & Processing of input chars \\
% \ex{output-flags} & Processing of output chars \\
% \ex{control-flags} & Controlling of terminal's serial line \\
% \ex{local-flags} & Details of the line-editting user interface \\
% \hline
% \end{tabular}
% \end{center}
@ -163,10 +163,10 @@ in bits-per-second.
The following speeds are supported by {\Posix}:
\begin{center}
\begin{tabular}{rrrr}
0 & 134 & 600 & 4800 \\
50 & 150 & 1200 & 9600 \\
75 & 200 & 1800 & 19200 \\
110 & 300 & 2400 & 38400 \\
0 & 134 & 600 & 4800 \\
50 & 150 & 1200 & 9600 \\
75 & 200 & 1800 & 19200 \\
110 & 300 & 2400 & 38400 \\
\end{tabular}
\end{center}
Your OS may accept others; it may also allow the special symbols
@ -201,9 +201,9 @@ The typical method for creating a new record is to copy one retrieved
by a call to the \ex{tty-info} procedure, then modify the copy as desired.
Note that the \ex{make-tty-info} procedure does not take a parameter
to define the new record's control characters.\footnote{
Why? Because the length of the string varies from Unix to Unix.
For example, the word-erase control character (typically control-w)
is provided by most Unixes, but not part of the {\Posix} spec.}
Why? Because the length of the string varies from Unix to Unix.
For example, the word-erase control character (typically control-w)
is provided by most Unixes, but not part of the {\Posix} spec.}
Instead, it simply returns a \ex{tty-info} record whose control-character
string has all elements initialised to {\Ascii} nul.
You may then install the special characters by assigning to the string.
@ -337,7 +337,7 @@ the terminal to be opened for both input and output.
The port returned is an input port if the \var{flags} permit it,
otherwise an output port.
\R4RS/\scm/scsh do not have input/output ports,
\RnRS/\scm/scsh do not have input/output ports,
so it's one or the other.
However, you can get both read and write ports open on a terminal
by opening it read/write, taking the result input port,
@ -411,7 +411,7 @@ In the child process
\item The child is placed in its own, new session
(see \ex{become\=session\=leader}).
\item The terminal device becomes the new session's controlling terminal
(see \ex{open-control-tty}).
(see \ex{open-control-tty}).
\item The \ex{(error-output-port)} is unbuffered.
\end{itemize}
@ -447,8 +447,8 @@ For example,
\remark{This is rather Berkeley-specific. SVR4 ptys are rare enough that
I've no real idea if it generalises across the Unix gap. Experts
are invited to advise. Users feel free to not worry---the predominance
of current popular Unix systems use Berkeley ptys.}
are invited to advise. Users feel free to not worry---the predominance
of current popular Unix systems use Berkeley ptys.}
\end{desc}
\defunx{make-pty-generator}{}{\proc}
@ -485,36 +485,36 @@ Example:
Scsh & C & Typical char \\
\hline\hline
{\Posix} & & \\
\exi{ttychar/delete-char} & \ex{ERASE} & del \\
\exi{ttychar/delete-line} & \ex{KILL} & \verb|^U| \\
\exi{ttychar/eof} & \ex{EOF} & \verb|^D| \\
\exi{ttychar/eol} & \ex{EOL} & \\
\exi{ttychar/interrupt} & \ex{INTR} & \verb|^C| \\
\exi{ttychar/quit} & \ex{QUIT} & \verb|^\| \\
\exi{ttychar/suspend} & \ex{SUSP} & \verb|^Z| \\
\exi{ttychar/start} & \ex{START} & \verb|^Q| \\
\exi{ttychar/stop} & \ex{STOP} & \verb|^S| \\
\exi{ttychar/delete-char} & \ex{ERASE} & del \\
\exi{ttychar/delete-line} & \ex{KILL} & \verb|^U| \\
\exi{ttychar/eof} & \ex{EOF} & \verb|^D| \\
\exi{ttychar/eol} & \ex{EOL} & \\
\exi{ttychar/interrupt} & \ex{INTR} & \verb|^C| \\
\exi{ttychar/quit} & \ex{QUIT} & \verb|^\| \\
\exi{ttychar/suspend} & \ex{SUSP} & \verb|^Z| \\
\exi{ttychar/start} & \ex{START} & \verb|^Q| \\
\exi{ttychar/stop} & \ex{STOP} & \verb|^S| \\
\hline\hline
{SVR4 and 4.3+BSD} & & \\
\exi{ttychar/delayed-suspend} & \ex{DSUSP} & \verb|^Y| \\
\exi{ttychar/delete-word} & \ex{WERASE} & \verb|^W| \\
\exi{ttychar/discard} & \ex{DISCARD} & \verb|^O| \\
\exi{ttychar/eol2} & \ex{EOL2} & \\
\exi{ttychar/literal-next} & \ex{LNEXT} & \verb|^V| \\
\exi{ttychar/reprint} & \ex{REPRINT} & \verb|^R| \\
\exi{ttychar/delayed-suspend} & \ex{DSUSP} & \verb|^Y| \\
\exi{ttychar/delete-word} & \ex{WERASE} & \verb|^W| \\
\exi{ttychar/discard} & \ex{DISCARD} & \verb|^O| \\
\exi{ttychar/eol2} & \ex{EOL2} & \\
\exi{ttychar/literal-next} & \ex{LNEXT} & \verb|^V| \\
\exi{ttychar/reprint} & \ex{REPRINT} & \verb|^R| \\
\hline\hline
{4.3+BSD} & & \\
\exi{ttychar/status} & \ex{STATUS} & \verb|^T| \\
\exi{ttychar/status} & \ex{STATUS} & \verb|^T| \\
\hline
\end{tabular}
\end{center}
\caption{Indices into the \protect\ex{tty-info} record's
\protect\var{control-chars} string,
and the character traditionally found at each index.
Only the indices for the {\Posix} entries are guaranteed to
be non-\sharpf.}
\protect\var{control-chars} string,
and the character traditionally found at each index.
Only the indices for the {\Posix} entries are guaranteed to
be non-\sharpf.}
\label{table:ttychars}
\end{table}
@ -527,44 +527,44 @@ Scsh & C & Meaning \\
\hline\hline
\Posix & & \\
\exi{ttyin/check-parity}
& \ex{INPCK} & Check parity. \\
& \ex{INPCK} & Check parity. \\
\exi{ttyin/ignore-bad-parity-chars}
& \ex{IGNPAR} & Ignore chars with parity errors. \\
& \ex{IGNPAR} & Ignore chars with parity errors. \\
\exi{ttyin/mark-parity-errors}
& \ex{PARMRK} & Insert chars to mark parity errors.\\
& \ex{PARMRK} & Insert chars to mark parity errors.\\
\exi{ttyin/ignore-break}
& \ex{IGNBRK} & Ignore breaks. \\
& \ex{IGNBRK} & Ignore breaks. \\
\exi{ttyin/interrupt-on-break}
& \ex{BRKINT} & Signal on breaks. \\
& \ex{BRKINT} & Signal on breaks. \\
\exi{ttyin/7bits}
& \ex{ISTRIP} & Strip char to seven bits. \\
& \ex{ISTRIP} & Strip char to seven bits. \\
\exi{ttyin/cr->nl}
& \ex{ICRNL} & Map carriage-return to newline. \\
& \ex{ICRNL} & Map carriage-return to newline. \\
\exi{ttyin/ignore-cr}
& \ex{IGNCR} & Ignore carriage-returns. \\
& \ex{IGNCR} & Ignore carriage-returns. \\
\exi{ttyin/nl->cr}
& \ex{INLCR} & Map newline to carriage-return. \\
& \ex{INLCR} & Map newline to carriage-return. \\
\exi{ttyin/input-flow-ctl}
& \ex{IXOFF} & Enable input flow control. \\
& \ex{IXOFF} & Enable input flow control. \\
\exi{ttyin/output-flow-ctl}
& \ex{IXON} & Enable output flow control. \\
& \ex{IXON} & Enable output flow control. \\
\hline\hline
{SVR4 and 4.3+BSD} & & \\
\exi{ttyin/xon-any} & \ex{IXANY} & Any char restarts after stop. \\
\exi{ttyin/beep-on-overflow} & \ex{IMAXBEL} & Ring bell when queue full. \\
\exi{ttyin/xon-any} & \ex{IXANY} & Any char restarts after stop. \\
\exi{ttyin/beep-on-overflow} & \ex{IMAXBEL} & Ring bell when queue full. \\
\hline\hline
{SVR4} & & \\
\exi{ttyin/lowercase} & \ex{IUCLC} & Map upper case to lower case. \\
\exi{ttyin/lowercase} & \ex{IUCLC} & Map upper case to lower case. \\
\hline
\end{tabular}
\end{center}
\caption{Input-flags. These are the named flags for the \protect\ex{tty-info}
record's \protect\var{input-flags} field.
These flags generally control the processing of input chars.
Only the {\Posix} entries are guaranteed to be non-\sharpf.
}
record's \protect\var{input-flags} field.
These flags generally control the processing of input chars.
Only the {\Posix} entries are guaranteed to be non-\sharpf.
}
\label{table:ttyin}
\end{table}
@ -580,32 +580,32 @@ Scsh & C & Meaning \\ \hline\hline
\hline\hline
\multicolumn{3}{|l|}{SVR4 and 4.3+BSD} \\
\exi{ttyout/nl->crnl} & \ex{ONLCR} & Map nl to cr-nl. \\
\exi{ttyout/nl->crnl} & \ex{ONLCR} & Map nl to cr-nl. \\
\hline\hline
\multicolumn{3}{|l|}{4.3+BSD} \\
\exi{ttyout/discard-eot} & \ex{ONOEOT} & Discard EOT chars. \\
\exi{ttyout/discard-eot} & \ex{ONOEOT} & Discard EOT chars. \\
\exi{ttyout/expand-tabs} & \ex{OXTABS}\footnote{
Note this is distinct from the SVR4-equivalent
\ex{ttyout/tab-delayx} flag defined in
table~\ref{table:ttydelays}.}
& Expand tabs. \\
Note this is distinct from the SVR4-equivalent
\ex{ttyout/tab-delayx} flag defined in
table~\ref{table:ttydelays}.}
& Expand tabs. \\
\hline\hline
\multicolumn{3}{|l|}{SVR4} \\
\exi{ttyout/cr->nl} & \ex{OCRNL} & Map cr to nl. \\
\exi{ttyout/nl-does-cr} & \ex{ONLRET}& Nl performs cr as well. \\
\exi{ttyout/no-col0-cr} & \ex{ONOCR} & No cr output in column 0. \\
\exi{ttyout/delay-w/fill-char} & \ex{OFILL} & Send fill char to delay. \\
\exi{ttyout/fill-w/del} & \ex{OFDEL} & Fill char is {\Ascii} DEL. \\
\exi{ttyout/uppercase} & \ex{OLCUC} & Map lower to upper case. \\
\exi{ttyout/cr->nl} & \ex{OCRNL} & Map cr to nl. \\
\exi{ttyout/nl-does-cr} & \ex{ONLRET}& Nl performs cr as well. \\
\exi{ttyout/no-col0-cr} & \ex{ONOCR} & No cr output in column 0. \\
\exi{ttyout/delay-w/fill-char} & \ex{OFILL} & Send fill char to delay. \\
\exi{ttyout/fill-w/del} & \ex{OFDEL} & Fill char is {\Ascii} DEL. \\
\exi{ttyout/uppercase} & \ex{OLCUC} & Map lower to upper case. \\
\hline
\end{tabular}
\end{center}
\caption{Output-flags. These are the named flags for the \protect\ex{tty-info}
record's \protect\var{output-flags} field.
These flags generally control the processing of output chars.
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
These flags generally control the processing of output chars.
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
\label{table:ttyout}
\end{table}
@ -614,50 +614,50 @@ Scsh & C & Meaning \\ \hline\hline
\begin{table}[p]
\begin{tabular}{r|ll|} \cline{2-3}
& Value & Comment \\ \cline{2-3}
{Backspace delay} & \exi{ttyout/bs-delay} & Bit-field mask \\
& \exi{ttyout/bs-delay0} & \\
& \exi{ttyout/bs-delay1} & \\
{Backspace delay} & \exi{ttyout/bs-delay} & Bit-field mask \\
& \exi{ttyout/bs-delay0} & \\
& \exi{ttyout/bs-delay1} & \\
\cline{2-3}
{Carriage-return delay} & \exi{ttyout/cr-delay} & Bit-field mask \\
& \exi{ttyout/cr-delay0} & \\
& \exi{ttyout/cr-delay1} & \\
& \exi{ttyout/cr-delay2} & \\
& \exi{ttyout/cr-delay3} & \\
{Carriage-return delay} & \exi{ttyout/cr-delay} & Bit-field mask \\
& \exi{ttyout/cr-delay0} & \\
& \exi{ttyout/cr-delay1} & \\
& \exi{ttyout/cr-delay2} & \\
& \exi{ttyout/cr-delay3} & \\
\cline{2-3}
{Form-feed delay} & \exi{ttyout/ff-delay} & Bit-field mask \\
& \exi{ttyout/ff-delay0} & \\
& \exi{ttyout/ff-delay1} & \\
{Form-feed delay} & \exi{ttyout/ff-delay} & Bit-field mask \\
& \exi{ttyout/ff-delay0} & \\
& \exi{ttyout/ff-delay1} & \\
\cline{2-3}
{Horizontal-tab delay} & \exi{ttyout/tab-delay} & Bit-field mask \\
& \exi{ttyout/tab-delay0} & \\
& \exi{ttyout/tab-delay1} & \\
& \exi{ttyout/tab-delay2} & \\
& \exi{ttyout/tab-delayx} & Expand tabs \\
{Horizontal-tab delay} & \exi{ttyout/tab-delay} & Bit-field mask \\
& \exi{ttyout/tab-delay0} & \\
& \exi{ttyout/tab-delay1} & \\
& \exi{ttyout/tab-delay2} & \\
& \exi{ttyout/tab-delayx} & Expand tabs \\
\cline{2-3}
{Newline delay} & \exi{ttyout/nl-delay} & Bit-field mask \\
& \exi{ttyout/nl-delay0} & \\
& \exi{ttyout/nl-delay1} & \\
{Newline delay} & \exi{ttyout/nl-delay} & Bit-field mask \\
& \exi{ttyout/nl-delay0} & \\
& \exi{ttyout/nl-delay1} & \\
\cline{2-3}
{Vertical tab delay} & \exi{ttyout/vtab-delay} & Bit-field mask \\
& \exi{ttyout/vtab-delay0} & \\
& \exi{ttyout/vtab-delay1} & \\
{Vertical tab delay} & \exi{ttyout/vtab-delay} & Bit-field mask \\
& \exi{ttyout/vtab-delay0} & \\
& \exi{ttyout/vtab-delay1} & \\
\cline{2-3}
{All} & \exi{ttyout/all-delay} & Total bit-field mask \\
{All} & \exi{ttyout/all-delay} & Total bit-field mask \\
\cline{2-3}
\end{tabular}
\caption{Delay constants. These are the named flags for the
\protect\ex{tty-info} record's \protect\var{output-flags} field.
These flags control the output delays associated with printing
special characters.
They are non-{\Posix}, and have non-{\sharpf} values
only on SVR4 systems.}
\protect\ex{tty-info} record's \protect\var{output-flags} field.
These flags control the output delays associated with printing
special characters.
They are non-{\Posix}, and have non-{\sharpf} values
only on SVR4 systems.}
\label{table:ttydelays}
\end{table}
@ -670,33 +670,33 @@ Scsh & C & Meaning \\
\hline\hline
\multicolumn{3}{|l|}{\Posix} \\
\exi{ttyc/char-size} & \ex{CSIZE} & Character size mask \\
\exi{ttyc/char-size5} & \ex{CS5} & 5 bits \\
\exi{ttyc/char-size6} & \ex{CS6} & 6 bits \\
\exi{ttyc/char-size7} & \ex{CS7} & 7 bits \\
\exi{ttyc/char-size8} & \ex{CS8} & 8 bits \\
\exi{ttyc/enable-parity}& \ex{PARENB} & Generate and detect parity. \\
\exi{ttyc/odd-parity} & \ex{PARODD} & Odd parity. \\
\exi{ttyc/enable-read} & \ex{CREAD} & Enable reception of chars. \\
\exi{ttyc/hup-on-close} & \ex{HUPCL} & Hang up on last close. \\
\exi{ttyc/no-modem-sync}& \ex{LOCAL} & Ignore modem lines. \\
\exi{ttyc/2-stop-bits} & \ex{CSTOPB} & Send two stop bits. \\
\exi{ttyc/char-size} & \ex{CSIZE} & Character size mask \\
\exi{ttyc/char-size5} & \ex{CS5} & 5 bits \\
\exi{ttyc/char-size6} & \ex{CS6} & 6 bits \\
\exi{ttyc/char-size7} & \ex{CS7} & 7 bits \\
\exi{ttyc/char-size8} & \ex{CS8} & 8 bits \\
\exi{ttyc/enable-parity}& \ex{PARENB} & Generate and detect parity. \\
\exi{ttyc/odd-parity} & \ex{PARODD} & Odd parity. \\
\exi{ttyc/enable-read} & \ex{CREAD} & Enable reception of chars. \\
\exi{ttyc/hup-on-close} & \ex{HUPCL} & Hang up on last close. \\
\exi{ttyc/no-modem-sync}& \ex{LOCAL} & Ignore modem lines. \\
\exi{ttyc/2-stop-bits} & \ex{CSTOPB} & Send two stop bits. \\
\hline\hline
\multicolumn{3}{|l|}{4.3+BSD} \\
\exi{ttyc/ignore-flags} & \ex{CIGNORE} & Ignore control flags. \\
\exi{ttyc/CTS-output-flow-ctl} & \verb|CCTS_OFLOW| & CTS flow control of output \\
\exi{ttyc/RTS-input-flow-ctl} & \verb|CRTS_IFLOW| & RTS flow control of input \\
\exi{ttyc/carrier-flow-ctl} & \ex{MDMBUF} & \\
\exi{ttyc/ignore-flags} & \ex{CIGNORE} & Ignore control flags. \\
\exi{ttyc/CTS-output-flow-ctl} & \verb|CCTS_OFLOW| & CTS flow control of output \\
\exi{ttyc/RTS-input-flow-ctl} & \verb|CRTS_IFLOW| & RTS flow control of input \\
\exi{ttyc/carrier-flow-ctl} & \ex{MDMBUF} & \\
\hline
\end{tabular}
\end{center}
\caption{Control-flags. These are the named flags for the \protect\ex{tty-info}
record's \protect\var{control-flags} field.
These flags generally control the details of the terminal's
serial line.
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
These flags generally control the details of the terminal's
serial line.
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
\label{table:ttyctl}
\end{table}
@ -709,43 +709,43 @@ Scsh & C & Meaning \\
\hline\hline
\multicolumn{3}{|l|}{\Posix} \\
\exi{ttyl/canonical} & \ex{ICANON} & Canonical input processing. \\
\exi{ttyl/echo} & \ex{ECHO} & Enable echoing. \\
\exi{ttyl/canonical} & \ex{ICANON} & Canonical input processing. \\
\exi{ttyl/echo} & \ex{ECHO} & Enable echoing. \\
\exi{ttyl/echo-delete-line} & \ex{ECHOK} & Echo newline after line kill. \\
\exi{ttyl/echo-nl} & \ex{ECHONL} & Echo newline even if echo is off. \\
\exi{ttyl/visual-delete}& \ex{ECHOE} & Visually erase chars. \\
\exi{ttyl/echo-nl} & \ex{ECHONL} & Echo newline even if echo is off. \\
\exi{ttyl/visual-delete}& \ex{ECHOE} & Visually erase chars. \\
\exi{ttyl/enable-signals} & \ex{ISIG} & Enable \verb|^|C, \verb|^|Z signalling. \\
\exi{ttyl/extended} & \ex{IEXTEN} & Enable extensions. \\
\exi{ttyl/extended} & \ex{IEXTEN} & Enable extensions. \\
\exi{ttyl/no-flush-on-interrupt}
& \ex{NOFLSH} & Don't flush after interrupt. \\
\exi{ttyl/ttou-signal} & \ex{ITOSTOP} & \ex{SIGTTOU} on background output. \\
& \ex{NOFLSH} & Don't flush after interrupt. \\
\exi{ttyl/ttou-signal} & \ex{ITOSTOP} & \ex{SIGTTOU} on background output. \\
\hline\hline
\multicolumn{3}{|l|}{SVR4 and 4.3+BSD} \\
\exi{ttyl/echo-ctl} & \ex{ECHOCTL}
& Echo control chars as ``\verb|^X|''. \\
\exi{ttyl/flush-output} & \ex{FLUSHO} & Output is being flushed. \\
\exi{ttyl/hardcopy-delete} & \ex{ECHOPRT} & Visual erase for hardcopy. \\
\exi{ttyl/reprint-unread-chars} & \ex{PENDIN} & Retype pending input. \\
\exi{ttyl/visual-delete-line} & \ex{ECHOKE} & Visually erase a line-kill. \\
\exi{ttyl/echo-ctl} & \ex{ECHOCTL}
& Echo control chars as ``\verb|^X|''. \\
\exi{ttyl/flush-output} & \ex{FLUSHO} & Output is being flushed. \\
\exi{ttyl/hardcopy-delete} & \ex{ECHOPRT} & Visual erase for hardcopy. \\
\exi{ttyl/reprint-unread-chars} & \ex{PENDIN} & Retype pending input. \\
\exi{ttyl/visual-delete-line} & \ex{ECHOKE} & Visually erase a line-kill. \\
\hline\hline
\multicolumn{3}{|l|}{4.3+BSD} \\
\exi{ttyl/alt-delete-word} & \ex{ALTWERASE} & Alternate word erase algorithm \\
\exi{ttyl/no-kernel-status} & \ex{NOKERNINFO} & No kernel status on \verb|^T|. \\
\exi{ttyl/alt-delete-word} & \ex{ALTWERASE} & Alternate word erase algorithm \\
\exi{ttyl/no-kernel-status} & \ex{NOKERNINFO} & No kernel status on \verb|^T|. \\
\hline\hline
\multicolumn{3}{|l|}{SVR4} \\
\exi{ttyl/case-map} & \ex{XCASE} & Canonical case presentation \\
\exi{ttyl/case-map} & \ex{XCASE} & Canonical case presentation \\
\hline
\end{tabular}
\end{center}
\caption{Local-flags. These are the named flags for the \protect\ex{tty-info}
record's \protect\var{local-flags} field.
These flags generally control the details of the line-editting
user interface.
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
record's \protect\var{local-flags} field.
These flags generally control the details of the line-editting
user interface.
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
\label{table:ttylocal}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%