\R4RS is not a valid LaTeX macro name.
Besides, we're at R5RS now.
This commit is contained in:
parent
737917e695
commit
b2bcc730ad
|
@ -12,7 +12,7 @@
|
||||||
\def\Unix{{Unix}} % Not smallcaps, according to Bart.
|
\def\Unix{{Unix}} % Not smallcaps, according to Bart.
|
||||||
\def\Scheme{{Scheme}}
|
\def\Scheme{{Scheme}}
|
||||||
\def\scm{{Scheme 48}}
|
\def\scm{{Scheme 48}}
|
||||||
\def\R4RS{R4RS}
|
\def\RnRS{R5RS}
|
||||||
\def\Posix{\textsc{Posix}}
|
\def\Posix{\textsc{Posix}}
|
||||||
|
|
||||||
\def\sharpf{\normalfont\texttt{\#f}}
|
\def\sharpf{\normalfont\texttt{\#f}}
|
||||||
|
|
|
@ -55,9 +55,9 @@ We currently release scsh to the following Internet sites:
|
||||||
\end{flushleft}
|
\end{flushleft}
|
||||||
\end{inset}
|
\end{inset}
|
||||||
These sites are
|
These sites are
|
||||||
the MIT Project Mac ftp server,
|
the MIT Project Mac ftp server,
|
||||||
the Scheme Shell home page, and
|
the Scheme Shell home page, and
|
||||||
the Indiana Scheme Repository home page,
|
the Indiana Scheme Repository home page,
|
||||||
respectively.
|
respectively.
|
||||||
Each should have a compressed tar file of the entire scsh release,
|
Each should have a compressed tar file of the entire scsh release,
|
||||||
which includes all the source code and the manual,
|
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:
|
building scsh should require exactly the following steps:
|
||||||
\begin{inset}
|
\begin{inset}
|
||||||
\begin{tabular}{l@{\qquad}l}
|
\begin{tabular}{l@{\qquad}l}
|
||||||
\ex{gunzip scsh.tar.gz} & \emph{Uncompress the release tar file.} \\
|
\ex{gunzip scsh.tar.gz} & \emph{Uncompress the release tar file.} \\
|
||||||
\ex{untar xfv scsh.tar} & \emph{Unpack the source code.} \\
|
\ex{untar xfv scsh.tar} & \emph{Unpack the source code.} \\
|
||||||
\ex{cd scsh-0.5} & \emph{Move to the source directory.} \\
|
\ex{cd scsh-0.5} & \emph{Move to the source directory.} \\
|
||||||
\ex{./configure} & \emph{Examine host; build Makefile.} \\
|
\ex{./configure} & \emph{Examine host; build Makefile.} \\
|
||||||
\ex{make} & \emph{Build system.}
|
\ex{make} & \emph{Build system.}
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{inset}
|
\end{inset}
|
||||||
When you are done, you should have a virtual machine compiled in
|
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.
|
that are not commonly used.
|
||||||
|
|
||||||
\item[\ex{-info}]
|
\item[\ex{-info}]
|
||||||
Data structures packaging up information about various OS
|
Data structures packaging up information about various OS
|
||||||
entities frequently end in \ldots\ex{-info}. Examples:
|
entities frequently end in \ldots\ex{-info}. Examples:
|
||||||
\ex{user-info}, \ex{file-info}, \ex{group-info}, and \ex{host-info}.
|
\ex{user-info}, \ex{file-info}, \ex{group-info}, and \ex{host-info}.
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
%
|
%
|
||||||
|
@ -214,11 +214,11 @@ and so forth.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Lexical issues}
|
\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.
|
exceptions.
|
||||||
|
|
||||||
\subsection{Extended symbol syntax}
|
\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}
|
\begin{itemize}
|
||||||
\item In scsh, symbol case is preserved by \ex{read} and is significant on
|
\item In scsh, symbol case is preserved by \ex{read} and is significant on
|
||||||
symbol comparison. This means
|
symbol comparison. This means
|
||||||
|
@ -277,9 +277,9 @@ which is used to delimit the string bounds.
|
||||||
Some examples:
|
Some examples:
|
||||||
\begin{inset}
|
\begin{inset}
|
||||||
\begin{tabular}{ll}
|
\begin{tabular}{ll}
|
||||||
Here-string syntax & Ordinary string syntax \\ \hline
|
Here-string syntax & Ordinary string syntax \\ \hline
|
||||||
\verb:#<|Hello, world.|: & \verb:"Hello, world.": \\
|
\verb:#<|Hello, world.|: & \verb:"Hello, world.": \\
|
||||||
\verb:#<!"Ouch," he said.!: & \verb:"\"Ouch,\" he said.":
|
\verb:#<!"Ouch," he said.!: & \verb:"\"Ouch,\" he said.":
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{inset}
|
\end{inset}
|
||||||
%
|
%
|
||||||
|
@ -391,9 +391,9 @@ All told, the \ex{define-record} form above defines the following procedures:
|
||||||
\hline
|
\hline
|
||||||
(make-ship \var{x} \var{y}) & Create a new \var{ship} record. \\
|
(make-ship \var{x} \var{y}) & Create a new \var{ship} record. \\
|
||||||
\hline
|
\hline
|
||||||
(ship:x \var{ship}) & Retrieve the \var{x} field. \\
|
(ship:x \var{ship}) & Retrieve the \var{x} field. \\
|
||||||
(ship:y \var{ship}) & Retrieve the \var{y} field. \\
|
(ship:y \var{ship}) & Retrieve the \var{y} field. \\
|
||||||
(ship:size \var{ship}) & Retrieve the \var{size} field. \\
|
(ship:size \var{ship}) & Retrieve the \var{size} field. \\
|
||||||
\hline
|
\hline
|
||||||
(set-ship:x \var{ship} \var{new-x}) & Assign the \var{x} field. \\
|
(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. \\
|
(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: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}. \\
|
(modify-ship:size \var{ship} \var{sizefun}) & Modify \var{size} field with \var{sizefun}. \\
|
||||||
\hline
|
\hline
|
||||||
(ship? \var{object}) & Type predicate. \\
|
(ship? \var{object}) & Type predicate. \\
|
||||||
\hline
|
\hline
|
||||||
(copy-ship \var{ship}) & Shallow-copy of the record. \\
|
(copy-ship \var{ship}) & Shallow-copy of the record. \\
|
||||||
\hline
|
\hline
|
||||||
|
|
|
@ -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
|
This procedure is provided as it is useful for accessing elements
|
||||||
from the lists returned by the field-readers (chapter~\ref{chapt:fr-awk}).
|
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.
|
\ex{list-ref}. Therefore, \ex{nth} will go away in a future release.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
|
|
|
@ -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,
|
This guarantees that the \ex{begin} form, like all other process forms,
|
||||||
``sees'' the effects of any associated I/O redirections.
|
``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.
|
are readable symbols. Scsh does.
|
||||||
|
|
||||||
\section{Using extended process forms in \Scheme}
|
\section{Using extended process forms in \Scheme}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
Scsh is currently implemented on top of {\scm}, a freely-available
|
Scsh is currently implemented on top of {\scm}, a freely-available
|
||||||
{\Scheme} implementation written by Jonathan Rees and Richard Kelsey.
|
{\Scheme} implementation written by Jonathan Rees and Richard Kelsey.
|
||||||
{\scm} uses a byte-code interpreter for good code density, portability
|
{\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.
|
It also has a module system designed by Jonathan Rees.
|
||||||
|
|
||||||
Scsh's design is not {\scm} specific, although the current implementation
|
Scsh's design is not {\scm} specific, although the current implementation
|
||||||
|
@ -191,30 +191,30 @@ where
|
||||||
\begin{inset}
|
\begin{inset}
|
||||||
\begin{flushleft}
|
\begin{flushleft}
|
||||||
\begin{tabular}{ll@{\qquad}l}
|
\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}
|
\var{switch:} & \ex{-e} \var{entry-point}
|
||||||
& Specify top-level entry-point. \\
|
& Specify top-level entry-point. \\
|
||||||
|
|
||||||
& \ex{-o} \var{structure}
|
& \ex{-o} \var{structure}
|
||||||
& Open structure in current package. \\
|
& Open structure in current package. \\
|
||||||
|
|
||||||
& \ex{-m} \var{structure}
|
& \ex{-m} \var{structure}
|
||||||
& Switch to package. \\
|
& Switch to package. \\
|
||||||
|
|
||||||
& \ex{-n} \var{new-package}
|
& \ex{-n} \var{new-package}
|
||||||
& Switch to new package. \\ \\
|
& Switch to new package. \\ \\
|
||||||
|
|
||||||
|
|
||||||
& \ex{-lm} \var{module-file-name}
|
& \ex{-lm} \var{module-file-name}
|
||||||
& Load module into config package. \\
|
& Load module into config package. \\
|
||||||
|
|
||||||
& \ex{-l} \var{file-name}
|
& \ex{-l} \var{file-name}
|
||||||
& Load file into current package. \\
|
& Load file into current package. \\
|
||||||
|
|
||||||
|
|
||||||
& \ex{-dm} & Do script module. \\
|
& \ex{-dm} & Do script module. \\
|
||||||
& \ex{-ds} & Do script. \\
|
& \ex{-ds} & Do script. \\
|
||||||
\\
|
\\
|
||||||
\var{end-option:} & \ex{-s} \var{script} \\
|
\var{end-option:} & \ex{-s} \var{script} \\
|
||||||
& \ex{-sfd} \var{num} \\
|
& \ex{-sfd} \var{num} \\
|
||||||
|
@ -579,16 +579,16 @@ the \ex{top} procedure.
|
||||||
;;; the functionality as a Unix program akin to sort(1).
|
;;; the functionality as a Unix program akin to sort(1).
|
||||||
(define-structures ((sort-struct (export sort-list
|
(define-structures ((sort-struct (export sort-list
|
||||||
sort-vector!))
|
sort-vector!))
|
||||||
(sort-toplevel (export top)))
|
(sort-toplevel (export top)))
|
||||||
(open scheme)
|
(open scheme)
|
||||||
|
|
||||||
(begin (define (sort-list elts <=) {\ldots})
|
(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.
|
;; sort stdin to stdout.
|
||||||
(define (top args)
|
(define (top args)
|
||||||
{\ldots})))\end{code}
|
{\ldots})))\end{code}
|
||||||
|
|
||||||
The expansion below shows how the command-line scanner
|
The expansion below shows how the command-line scanner
|
||||||
(1) loads the config file \ex{sort} (written in the {\scm} module language),
|
(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}
|
\begin{itemize}
|
||||||
\def\Item#1{\item{\ex{#1}}\\}
|
\def\Item#1{\item{\ex{#1}}\\}
|
||||||
|
|
||||||
\Item{--temp \var{dir}} The temporary directory to hold .c and .o files.
|
\Item{--temp \var{dir}} The temporary directory to hold .c and .o files.
|
||||||
The default is typically configured to be
|
The default is typically configured to be
|
||||||
\ex{/usr/tmp}, and can be overridden by the
|
\ex{/usr/tmp}, and can be overridden by the
|
||||||
environment variable \ex{TMPDIR}.
|
environment variable \ex{TMPDIR}.
|
||||||
Example:
|
Example:
|
||||||
\codex{--temp /tmp}
|
\codex{--temp /tmp}
|
||||||
|
|
||||||
\Item{--cc \var{command}} The command to run the C compiler.
|
\Item{--cc \var{command}} The command to run the C compiler.
|
||||||
The default can be overridden by the environment
|
The default can be overridden by the environment
|
||||||
variable \ex{CC}.
|
variable \ex{CC}.
|
||||||
Example:
|
Example:
|
||||||
\codex{--cc "gcc -g -O"}
|
\codex{--cc "gcc -g -O"}
|
||||||
|
|
||||||
\Item{--ld \var{command}} The arguments to run the C compiler as a linker.
|
\Item{--ld \var{command}} The arguments to run the C compiler as a linker.
|
||||||
The default can be overridden by the
|
The default can be overridden by the
|
||||||
environment variable \ex{LDFLAGS}.
|
environment variable \ex{LDFLAGS}.
|
||||||
Example:
|
Example:
|
||||||
\codex{--ld "-Wl,-E"}
|
\codex{--ld "-Wl,-E"}
|
||||||
|
|
||||||
\Item{--libs \var{libs}} The libraries needed to link the VM and heap.
|
\Item{--libs \var{libs}} The libraries needed to link the VM and heap.
|
||||||
The default can be overridden by the
|
The default can be overridden by the
|
||||||
environment variable \ex{LIBS}.
|
environment variable \ex{LIBS}.
|
||||||
Example:
|
Example:
|
||||||
\codex{--libs "-ldld -lld -lm"}
|
\codex{--libs "-ldld -lld -lm"}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Be warned that the current heap linker has many shortcomings.
|
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}
|
\begin{itemize}
|
||||||
\item It requires the heap image to be referenced by a file-name;
|
\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
|
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
|
\item The heap-image is linked against the vm contained in
|
||||||
\begin{tightcode}
|
\begin{tightcode}
|
||||||
/usr/local/lib/scsh/libscshvm.a\end{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:
|
Here is an example of how one might use the heap linker:
|
||||||
\begin{code}
|
\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.
|
We'd love it if someone would dive into the source and improve it.
|
||||||
|
|
||||||
|
|
|
@ -131,8 +131,8 @@ This can be overridden if the programmer wishes.
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{I/O}
|
\section{I/O}
|
||||||
|
|
||||||
\subsection{Standard {\R4RS} I/O procedures}
|
\subsection{Standard {\RnRS} I/O procedures}
|
||||||
In scsh, most standard {\R4RS} i/o operations (such as \ex{display} or
|
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.
|
\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
|
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
|
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
|
are likely to be quite slow when performed directly upon file
|
||||||
descriptors.
|
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},
|
\ex{display}, \ex{newline},
|
||||||
and \ex{write-char} are all generic, accepting integer file descriptor
|
and \ex{write-char} are all generic, accepting integer file descriptor
|
||||||
arguments as well as ports.
|
arguments as well as ports.
|
||||||
|
@ -590,7 +590,7 @@ this is dependent on the OS implementation.
|
||||||
\ex{open/read+write} flags.
|
\ex{open/read+write} flags.
|
||||||
%
|
%
|
||||||
The returned port is an input port if the \var{flags} permit it,
|
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
|
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,
|
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}.)
|
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)}
|
\codex{(bitwise-ior open/create open/truncate)}
|
||||||
for \ex{open-output-file}.
|
for \ex{open-output-file}.
|
||||||
These defaults make the procedures backwards-compatible with their
|
These defaults make the procedures backwards-compatible with their
|
||||||
unary {\R4RS} definitions.
|
unary {\RnRS} definitions.
|
||||||
\end{defundescx}
|
\end{defundescx}
|
||||||
|
|
||||||
\begin{defundesc} {open-fdes} {fname flags [perms]} \integer
|
\begin{defundesc} {open-fdes} {fname flags [perms]} \integer
|
||||||
|
|
|
@ -142,11 +142,11 @@ if it is not supported, the flag will be bound to \sharpf.
|
||||||
% the kind of features they determine:
|
% the kind of features they determine:
|
||||||
% \begin{center}
|
% \begin{center}
|
||||||
% \begin{tabular}{|ll|}\hline
|
% \begin{tabular}{|ll|}\hline
|
||||||
% Field & Affects \\ \hline \hline
|
% Field & Affects \\ \hline \hline
|
||||||
% \ex{input-flags} & Processing of input chars \\
|
% \ex{input-flags} & Processing of input chars \\
|
||||||
% \ex{output-flags} & Processing of output chars \\
|
% \ex{output-flags} & Processing of output chars \\
|
||||||
% \ex{control-flags} & Controlling of terminal's serial line \\
|
% \ex{control-flags} & Controlling of terminal's serial line \\
|
||||||
% \ex{local-flags} & Details of the line-editting user interface \\
|
% \ex{local-flags} & Details of the line-editting user interface \\
|
||||||
% \hline
|
% \hline
|
||||||
% \end{tabular}
|
% \end{tabular}
|
||||||
% \end{center}
|
% \end{center}
|
||||||
|
@ -163,10 +163,10 @@ in bits-per-second.
|
||||||
The following speeds are supported by {\Posix}:
|
The following speeds are supported by {\Posix}:
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tabular}{rrrr}
|
\begin{tabular}{rrrr}
|
||||||
0 & 134 & 600 & 4800 \\
|
0 & 134 & 600 & 4800 \\
|
||||||
50 & 150 & 1200 & 9600 \\
|
50 & 150 & 1200 & 9600 \\
|
||||||
75 & 200 & 1800 & 19200 \\
|
75 & 200 & 1800 & 19200 \\
|
||||||
110 & 300 & 2400 & 38400 \\
|
110 & 300 & 2400 & 38400 \\
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
Your OS may accept others; it may also allow the special symbols
|
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.
|
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
|
Note that the \ex{make-tty-info} procedure does not take a parameter
|
||||||
to define the new record's control characters.\footnote{
|
to define the new record's control characters.\footnote{
|
||||||
Why? Because the length of the string varies from Unix to Unix.
|
Why? Because the length of the string varies from Unix to Unix.
|
||||||
For example, the word-erase control character (typically control-w)
|
For example, the word-erase control character (typically control-w)
|
||||||
is provided by most Unixes, but not part of the {\Posix} spec.}
|
is provided by most Unixes, but not part of the {\Posix} spec.}
|
||||||
Instead, it simply returns a \ex{tty-info} record whose control-character
|
Instead, it simply returns a \ex{tty-info} record whose control-character
|
||||||
string has all elements initialised to {\Ascii} nul.
|
string has all elements initialised to {\Ascii} nul.
|
||||||
You may then install the special characters by assigning to the string.
|
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,
|
The port returned is an input port if the \var{flags} permit it,
|
||||||
otherwise an output port.
|
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.
|
so it's one or the other.
|
||||||
However, you can get both read and write ports open on a terminal
|
However, you can get both read and write ports open on a terminal
|
||||||
by opening it read/write, taking the result input port,
|
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
|
\item The child is placed in its own, new session
|
||||||
(see \ex{become\=session\=leader}).
|
(see \ex{become\=session\=leader}).
|
||||||
\item The terminal device becomes the new session's controlling terminal
|
\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.
|
\item The \ex{(error-output-port)} is unbuffered.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
@ -447,8 +447,8 @@ For example,
|
||||||
|
|
||||||
\remark{This is rather Berkeley-specific. SVR4 ptys are rare enough that
|
\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
|
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
|
are invited to advise. Users feel free to not worry---the predominance
|
||||||
of current popular Unix systems use Berkeley ptys.}
|
of current popular Unix systems use Berkeley ptys.}
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
\defunx{make-pty-generator}{}{\proc}
|
\defunx{make-pty-generator}{}{\proc}
|
||||||
|
@ -485,36 +485,36 @@ Example:
|
||||||
Scsh & C & Typical char \\
|
Scsh & C & Typical char \\
|
||||||
\hline\hline
|
\hline\hline
|
||||||
{\Posix} & & \\
|
{\Posix} & & \\
|
||||||
\exi{ttychar/delete-char} & \ex{ERASE} & del \\
|
\exi{ttychar/delete-char} & \ex{ERASE} & del \\
|
||||||
\exi{ttychar/delete-line} & \ex{KILL} & \verb|^U| \\
|
\exi{ttychar/delete-line} & \ex{KILL} & \verb|^U| \\
|
||||||
\exi{ttychar/eof} & \ex{EOF} & \verb|^D| \\
|
\exi{ttychar/eof} & \ex{EOF} & \verb|^D| \\
|
||||||
\exi{ttychar/eol} & \ex{EOL} & \\
|
\exi{ttychar/eol} & \ex{EOL} & \\
|
||||||
\exi{ttychar/interrupt} & \ex{INTR} & \verb|^C| \\
|
\exi{ttychar/interrupt} & \ex{INTR} & \verb|^C| \\
|
||||||
\exi{ttychar/quit} & \ex{QUIT} & \verb|^\| \\
|
\exi{ttychar/quit} & \ex{QUIT} & \verb|^\| \\
|
||||||
\exi{ttychar/suspend} & \ex{SUSP} & \verb|^Z| \\
|
\exi{ttychar/suspend} & \ex{SUSP} & \verb|^Z| \\
|
||||||
\exi{ttychar/start} & \ex{START} & \verb|^Q| \\
|
\exi{ttychar/start} & \ex{START} & \verb|^Q| \\
|
||||||
\exi{ttychar/stop} & \ex{STOP} & \verb|^S| \\
|
\exi{ttychar/stop} & \ex{STOP} & \verb|^S| \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
{SVR4 and 4.3+BSD} & & \\
|
{SVR4 and 4.3+BSD} & & \\
|
||||||
\exi{ttychar/delayed-suspend} & \ex{DSUSP} & \verb|^Y| \\
|
\exi{ttychar/delayed-suspend} & \ex{DSUSP} & \verb|^Y| \\
|
||||||
\exi{ttychar/delete-word} & \ex{WERASE} & \verb|^W| \\
|
\exi{ttychar/delete-word} & \ex{WERASE} & \verb|^W| \\
|
||||||
\exi{ttychar/discard} & \ex{DISCARD} & \verb|^O| \\
|
\exi{ttychar/discard} & \ex{DISCARD} & \verb|^O| \\
|
||||||
\exi{ttychar/eol2} & \ex{EOL2} & \\
|
\exi{ttychar/eol2} & \ex{EOL2} & \\
|
||||||
\exi{ttychar/literal-next} & \ex{LNEXT} & \verb|^V| \\
|
\exi{ttychar/literal-next} & \ex{LNEXT} & \verb|^V| \\
|
||||||
\exi{ttychar/reprint} & \ex{REPRINT} & \verb|^R| \\
|
\exi{ttychar/reprint} & \ex{REPRINT} & \verb|^R| \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
{4.3+BSD} & & \\
|
{4.3+BSD} & & \\
|
||||||
\exi{ttychar/status} & \ex{STATUS} & \verb|^T| \\
|
\exi{ttychar/status} & \ex{STATUS} & \verb|^T| \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
\caption{Indices into the \protect\ex{tty-info} record's
|
\caption{Indices into the \protect\ex{tty-info} record's
|
||||||
\protect\var{control-chars} string,
|
\protect\var{control-chars} string,
|
||||||
and the character traditionally found at each index.
|
and the character traditionally found at each index.
|
||||||
Only the indices for the {\Posix} entries are guaranteed to
|
Only the indices for the {\Posix} entries are guaranteed to
|
||||||
be non-\sharpf.}
|
be non-\sharpf.}
|
||||||
\label{table:ttychars}
|
\label{table:ttychars}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
@ -527,44 +527,44 @@ Scsh & C & Meaning \\
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\Posix & & \\
|
\Posix & & \\
|
||||||
\exi{ttyin/check-parity}
|
\exi{ttyin/check-parity}
|
||||||
& \ex{INPCK} & Check parity. \\
|
& \ex{INPCK} & Check parity. \\
|
||||||
\exi{ttyin/ignore-bad-parity-chars}
|
\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}
|
\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}
|
\exi{ttyin/ignore-break}
|
||||||
& \ex{IGNBRK} & Ignore breaks. \\
|
& \ex{IGNBRK} & Ignore breaks. \\
|
||||||
\exi{ttyin/interrupt-on-break}
|
\exi{ttyin/interrupt-on-break}
|
||||||
& \ex{BRKINT} & Signal on breaks. \\
|
& \ex{BRKINT} & Signal on breaks. \\
|
||||||
\exi{ttyin/7bits}
|
\exi{ttyin/7bits}
|
||||||
& \ex{ISTRIP} & Strip char to seven bits. \\
|
& \ex{ISTRIP} & Strip char to seven bits. \\
|
||||||
\exi{ttyin/cr->nl}
|
\exi{ttyin/cr->nl}
|
||||||
& \ex{ICRNL} & Map carriage-return to newline. \\
|
& \ex{ICRNL} & Map carriage-return to newline. \\
|
||||||
\exi{ttyin/ignore-cr}
|
\exi{ttyin/ignore-cr}
|
||||||
& \ex{IGNCR} & Ignore carriage-returns. \\
|
& \ex{IGNCR} & Ignore carriage-returns. \\
|
||||||
\exi{ttyin/nl->cr}
|
\exi{ttyin/nl->cr}
|
||||||
& \ex{INLCR} & Map newline to carriage-return. \\
|
& \ex{INLCR} & Map newline to carriage-return. \\
|
||||||
\exi{ttyin/input-flow-ctl}
|
\exi{ttyin/input-flow-ctl}
|
||||||
& \ex{IXOFF} & Enable input flow control. \\
|
& \ex{IXOFF} & Enable input flow control. \\
|
||||||
\exi{ttyin/output-flow-ctl}
|
\exi{ttyin/output-flow-ctl}
|
||||||
& \ex{IXON} & Enable output flow control. \\
|
& \ex{IXON} & Enable output flow control. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
{SVR4 and 4.3+BSD} & & \\
|
{SVR4 and 4.3+BSD} & & \\
|
||||||
\exi{ttyin/xon-any} & \ex{IXANY} & Any char restarts after stop. \\
|
\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/beep-on-overflow} & \ex{IMAXBEL} & Ring bell when queue full. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
{SVR4} & & \\
|
{SVR4} & & \\
|
||||||
\exi{ttyin/lowercase} & \ex{IUCLC} & Map upper case to lower case. \\
|
\exi{ttyin/lowercase} & \ex{IUCLC} & Map upper case to lower case. \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
\caption{Input-flags. These are the named flags for the \protect\ex{tty-info}
|
\caption{Input-flags. These are the named flags for the \protect\ex{tty-info}
|
||||||
record's \protect\var{input-flags} field.
|
record's \protect\var{input-flags} field.
|
||||||
These flags generally control the processing of input chars.
|
These flags generally control the processing of input chars.
|
||||||
Only the {\Posix} entries are guaranteed to be non-\sharpf.
|
Only the {\Posix} entries are guaranteed to be non-\sharpf.
|
||||||
}
|
}
|
||||||
\label{table:ttyin}
|
\label{table:ttyin}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
@ -580,32 +580,32 @@ Scsh & C & Meaning \\ \hline\hline
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{SVR4 and 4.3+BSD} \\
|
\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
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{4.3+BSD} \\
|
\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{
|
\exi{ttyout/expand-tabs} & \ex{OXTABS}\footnote{
|
||||||
Note this is distinct from the SVR4-equivalent
|
Note this is distinct from the SVR4-equivalent
|
||||||
\ex{ttyout/tab-delayx} flag defined in
|
\ex{ttyout/tab-delayx} flag defined in
|
||||||
table~\ref{table:ttydelays}.}
|
table~\ref{table:ttydelays}.}
|
||||||
& Expand tabs. \\
|
& Expand tabs. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{SVR4} \\
|
\multicolumn{3}{|l|}{SVR4} \\
|
||||||
\exi{ttyout/cr->nl} & \ex{OCRNL} & Map cr to nl. \\
|
\exi{ttyout/cr->nl} & \ex{OCRNL} & Map cr to nl. \\
|
||||||
\exi{ttyout/nl-does-cr} & \ex{ONLRET}& Nl performs cr as well. \\
|
\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/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/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/fill-w/del} & \ex{OFDEL} & Fill char is {\Ascii} DEL. \\
|
||||||
\exi{ttyout/uppercase} & \ex{OLCUC} & Map lower to upper case. \\
|
\exi{ttyout/uppercase} & \ex{OLCUC} & Map lower to upper case. \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
\caption{Output-flags. These are the named flags for the \protect\ex{tty-info}
|
\caption{Output-flags. These are the named flags for the \protect\ex{tty-info}
|
||||||
record's \protect\var{output-flags} field.
|
record's \protect\var{output-flags} field.
|
||||||
These flags generally control the processing of output chars.
|
These flags generally control the processing of output chars.
|
||||||
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
|
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
|
||||||
\label{table:ttyout}
|
\label{table:ttyout}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
@ -614,50 +614,50 @@ Scsh & C & Meaning \\ \hline\hline
|
||||||
\begin{table}[p]
|
\begin{table}[p]
|
||||||
\begin{tabular}{r|ll|} \cline{2-3}
|
\begin{tabular}{r|ll|} \cline{2-3}
|
||||||
& Value & Comment \\ \cline{2-3}
|
& Value & Comment \\ \cline{2-3}
|
||||||
{Backspace delay} & \exi{ttyout/bs-delay} & Bit-field mask \\
|
{Backspace delay} & \exi{ttyout/bs-delay} & Bit-field mask \\
|
||||||
& \exi{ttyout/bs-delay0} & \\
|
& \exi{ttyout/bs-delay0} & \\
|
||||||
& \exi{ttyout/bs-delay1} & \\
|
& \exi{ttyout/bs-delay1} & \\
|
||||||
|
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
{Carriage-return delay} & \exi{ttyout/cr-delay} & Bit-field mask \\
|
{Carriage-return delay} & \exi{ttyout/cr-delay} & Bit-field mask \\
|
||||||
& \exi{ttyout/cr-delay0} & \\
|
& \exi{ttyout/cr-delay0} & \\
|
||||||
& \exi{ttyout/cr-delay1} & \\
|
& \exi{ttyout/cr-delay1} & \\
|
||||||
& \exi{ttyout/cr-delay2} & \\
|
& \exi{ttyout/cr-delay2} & \\
|
||||||
& \exi{ttyout/cr-delay3} & \\
|
& \exi{ttyout/cr-delay3} & \\
|
||||||
|
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
{Form-feed delay} & \exi{ttyout/ff-delay} & Bit-field mask \\
|
{Form-feed delay} & \exi{ttyout/ff-delay} & Bit-field mask \\
|
||||||
& \exi{ttyout/ff-delay0} & \\
|
& \exi{ttyout/ff-delay0} & \\
|
||||||
& \exi{ttyout/ff-delay1} & \\
|
& \exi{ttyout/ff-delay1} & \\
|
||||||
|
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
{Horizontal-tab delay} & \exi{ttyout/tab-delay} & Bit-field mask \\
|
{Horizontal-tab delay} & \exi{ttyout/tab-delay} & Bit-field mask \\
|
||||||
& \exi{ttyout/tab-delay0} & \\
|
& \exi{ttyout/tab-delay0} & \\
|
||||||
& \exi{ttyout/tab-delay1} & \\
|
& \exi{ttyout/tab-delay1} & \\
|
||||||
& \exi{ttyout/tab-delay2} & \\
|
& \exi{ttyout/tab-delay2} & \\
|
||||||
& \exi{ttyout/tab-delayx} & Expand tabs \\
|
& \exi{ttyout/tab-delayx} & Expand tabs \\
|
||||||
|
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
{Newline delay} & \exi{ttyout/nl-delay} & Bit-field mask \\
|
{Newline delay} & \exi{ttyout/nl-delay} & Bit-field mask \\
|
||||||
& \exi{ttyout/nl-delay0} & \\
|
& \exi{ttyout/nl-delay0} & \\
|
||||||
& \exi{ttyout/nl-delay1} & \\
|
& \exi{ttyout/nl-delay1} & \\
|
||||||
|
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
{Vertical tab delay} & \exi{ttyout/vtab-delay} & Bit-field mask \\
|
{Vertical tab delay} & \exi{ttyout/vtab-delay} & Bit-field mask \\
|
||||||
& \exi{ttyout/vtab-delay0} & \\
|
& \exi{ttyout/vtab-delay0} & \\
|
||||||
& \exi{ttyout/vtab-delay1} & \\
|
& \exi{ttyout/vtab-delay1} & \\
|
||||||
|
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
{All} & \exi{ttyout/all-delay} & Total bit-field mask \\
|
{All} & \exi{ttyout/all-delay} & Total bit-field mask \\
|
||||||
\cline{2-3}
|
\cline{2-3}
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|
||||||
\caption{Delay constants. These are the named flags for the
|
\caption{Delay constants. These are the named flags for the
|
||||||
\protect\ex{tty-info} record's \protect\var{output-flags} field.
|
\protect\ex{tty-info} record's \protect\var{output-flags} field.
|
||||||
These flags control the output delays associated with printing
|
These flags control the output delays associated with printing
|
||||||
special characters.
|
special characters.
|
||||||
They are non-{\Posix}, and have non-{\sharpf} values
|
They are non-{\Posix}, and have non-{\sharpf} values
|
||||||
only on SVR4 systems.}
|
only on SVR4 systems.}
|
||||||
\label{table:ttydelays}
|
\label{table:ttydelays}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
@ -670,33 +670,33 @@ Scsh & C & Meaning \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{\Posix} \\
|
\multicolumn{3}{|l|}{\Posix} \\
|
||||||
\exi{ttyc/char-size} & \ex{CSIZE} & Character size mask \\
|
\exi{ttyc/char-size} & \ex{CSIZE} & Character size mask \\
|
||||||
\exi{ttyc/char-size5} & \ex{CS5} & 5 bits \\
|
\exi{ttyc/char-size5} & \ex{CS5} & 5 bits \\
|
||||||
\exi{ttyc/char-size6} & \ex{CS6} & 6 bits \\
|
\exi{ttyc/char-size6} & \ex{CS6} & 6 bits \\
|
||||||
\exi{ttyc/char-size7} & \ex{CS7} & 7 bits \\
|
\exi{ttyc/char-size7} & \ex{CS7} & 7 bits \\
|
||||||
\exi{ttyc/char-size8} & \ex{CS8} & 8 bits \\
|
\exi{ttyc/char-size8} & \ex{CS8} & 8 bits \\
|
||||||
\exi{ttyc/enable-parity}& \ex{PARENB} & Generate and detect parity. \\
|
\exi{ttyc/enable-parity}& \ex{PARENB} & Generate and detect parity. \\
|
||||||
\exi{ttyc/odd-parity} & \ex{PARODD} & Odd parity. \\
|
\exi{ttyc/odd-parity} & \ex{PARODD} & Odd parity. \\
|
||||||
\exi{ttyc/enable-read} & \ex{CREAD} & Enable reception of chars. \\
|
\exi{ttyc/enable-read} & \ex{CREAD} & Enable reception of chars. \\
|
||||||
\exi{ttyc/hup-on-close} & \ex{HUPCL} & Hang up on last close. \\
|
\exi{ttyc/hup-on-close} & \ex{HUPCL} & Hang up on last close. \\
|
||||||
\exi{ttyc/no-modem-sync}& \ex{LOCAL} & Ignore modem lines. \\
|
\exi{ttyc/no-modem-sync}& \ex{LOCAL} & Ignore modem lines. \\
|
||||||
\exi{ttyc/2-stop-bits} & \ex{CSTOPB} & Send two stop bits. \\
|
\exi{ttyc/2-stop-bits} & \ex{CSTOPB} & Send two stop bits. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{4.3+BSD} \\
|
\multicolumn{3}{|l|}{4.3+BSD} \\
|
||||||
\exi{ttyc/ignore-flags} & \ex{CIGNORE} & Ignore control flags. \\
|
\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/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/RTS-input-flow-ctl} & \verb|CRTS_IFLOW| & RTS flow control of input \\
|
||||||
\exi{ttyc/carrier-flow-ctl} & \ex{MDMBUF} & \\
|
\exi{ttyc/carrier-flow-ctl} & \ex{MDMBUF} & \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\caption{Control-flags. These are the named flags for the \protect\ex{tty-info}
|
\caption{Control-flags. These are the named flags for the \protect\ex{tty-info}
|
||||||
record's \protect\var{control-flags} field.
|
record's \protect\var{control-flags} field.
|
||||||
These flags generally control the details of the terminal's
|
These flags generally control the details of the terminal's
|
||||||
serial line.
|
serial line.
|
||||||
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
|
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
|
||||||
\label{table:ttyctl}
|
\label{table:ttyctl}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
@ -709,43 +709,43 @@ Scsh & C & Meaning \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{\Posix} \\
|
\multicolumn{3}{|l|}{\Posix} \\
|
||||||
\exi{ttyl/canonical} & \ex{ICANON} & Canonical input processing. \\
|
\exi{ttyl/canonical} & \ex{ICANON} & Canonical input processing. \\
|
||||||
\exi{ttyl/echo} & \ex{ECHO} & Enable echoing. \\
|
\exi{ttyl/echo} & \ex{ECHO} & Enable echoing. \\
|
||||||
\exi{ttyl/echo-delete-line} & \ex{ECHOK} & Echo newline after line kill. \\
|
\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/echo-nl} & \ex{ECHONL} & Echo newline even if echo is off. \\
|
||||||
\exi{ttyl/visual-delete}& \ex{ECHOE} & Visually erase chars. \\
|
\exi{ttyl/visual-delete}& \ex{ECHOE} & Visually erase chars. \\
|
||||||
\exi{ttyl/enable-signals} & \ex{ISIG} & Enable \verb|^|C, \verb|^|Z signalling. \\
|
\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}
|
\exi{ttyl/no-flush-on-interrupt}
|
||||||
& \ex{NOFLSH} & Don't flush after interrupt. \\
|
& \ex{NOFLSH} & Don't flush after interrupt. \\
|
||||||
\exi{ttyl/ttou-signal} & \ex{ITOSTOP} & \ex{SIGTTOU} on background output. \\
|
\exi{ttyl/ttou-signal} & \ex{ITOSTOP} & \ex{SIGTTOU} on background output. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{SVR4 and 4.3+BSD} \\
|
\multicolumn{3}{|l|}{SVR4 and 4.3+BSD} \\
|
||||||
\exi{ttyl/echo-ctl} & \ex{ECHOCTL}
|
\exi{ttyl/echo-ctl} & \ex{ECHOCTL}
|
||||||
& Echo control chars as ``\verb|^X|''. \\
|
& Echo control chars as ``\verb|^X|''. \\
|
||||||
\exi{ttyl/flush-output} & \ex{FLUSHO} & Output is being flushed. \\
|
\exi{ttyl/flush-output} & \ex{FLUSHO} & Output is being flushed. \\
|
||||||
\exi{ttyl/hardcopy-delete} & \ex{ECHOPRT} & Visual erase for hardcopy. \\
|
\exi{ttyl/hardcopy-delete} & \ex{ECHOPRT} & Visual erase for hardcopy. \\
|
||||||
\exi{ttyl/reprint-unread-chars} & \ex{PENDIN} & Retype pending input. \\
|
\exi{ttyl/reprint-unread-chars} & \ex{PENDIN} & Retype pending input. \\
|
||||||
\exi{ttyl/visual-delete-line} & \ex{ECHOKE} & Visually erase a line-kill. \\
|
\exi{ttyl/visual-delete-line} & \ex{ECHOKE} & Visually erase a line-kill. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{4.3+BSD} \\
|
\multicolumn{3}{|l|}{4.3+BSD} \\
|
||||||
\exi{ttyl/alt-delete-word} & \ex{ALTWERASE} & Alternate word erase algorithm \\
|
\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/no-kernel-status} & \ex{NOKERNINFO} & No kernel status on \verb|^T|. \\
|
||||||
|
|
||||||
\hline\hline
|
\hline\hline
|
||||||
\multicolumn{3}{|l|}{SVR4} \\
|
\multicolumn{3}{|l|}{SVR4} \\
|
||||||
\exi{ttyl/case-map} & \ex{XCASE} & Canonical case presentation \\
|
\exi{ttyl/case-map} & \ex{XCASE} & Canonical case presentation \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\caption{Local-flags. These are the named flags for the \protect\ex{tty-info}
|
\caption{Local-flags. These are the named flags for the \protect\ex{tty-info}
|
||||||
record's \protect\var{local-flags} field.
|
record's \protect\var{local-flags} field.
|
||||||
These flags generally control the details of the line-editting
|
These flags generally control the details of the line-editting
|
||||||
user interface.
|
user interface.
|
||||||
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
|
Only the {\Posix} entries are guaranteed to be non-\sharpf.}
|
||||||
\label{table:ttylocal}
|
\label{table:ttylocal}
|
||||||
\end{table}
|
\end{table}
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
Loading…
Reference in New Issue