diff --git a/doc/scsh-manual/decls.tex b/doc/scsh-manual/decls.tex index 46b572e..b59db7c 100644 --- a/doc/scsh-manual/decls.tex +++ b/doc/scsh-manual/decls.tex @@ -129,6 +129,11 @@ \newcommand{\keyword} [1]{\index{#1}{\normalfont\textsf{#1}}} +% \ex{#1} and also generates an index entry. +\newcommand{\exi}[1]{\index{#1@\texttt{#1}}\ex{#1}} +\newcommand{\indextt}[1]{\index{#1@\texttt{#1}}} + + \newcommand{\evalto}{$\Longrightarrow$\ } \renewcommand{\star}{$^*$\/} \newcommand{\+}{$^+$} diff --git a/doc/scsh-manual/syscalls.tex b/doc/scsh-manual/syscalls.tex index 15e8467..980437f 100644 --- a/doc/scsh-manual/syscalls.tex +++ b/doc/scsh-manual/syscalls.tex @@ -970,9 +970,9 @@ It may only be used on new ports, \ie, before I/O is performed on the port. There are three buffering policies that may be chosen: \begin{inset} \begin{tabular}{l@{\qquad}l} - \ex{bufpol/block} & General block buffering (general default) \\ - \ex{bufpol/line} & Line buffering (tty default) \\ - \ex{bufpol/none} & Direct I/O---no buffering\footnote{But see the note above} + \exi{bufpol/block} & General block buffering (general default) \\ + \exi{bufpol/line} & Line buffering (tty default) \\ + \exi{bufpol/none} & Direct I/O---no buffering\footnote{But see the note above} \end{tabular} \end{inset} The line buffering policy flushes output whenever a newline is output; @@ -1046,10 +1046,10 @@ Locked regions are described by the \emph{lock-region} record: len whence proc)\end{code}% -\index{lock-region?}% -\index{lock-region:exclusive?} \index{lock-region:whence}% -\index{lock-region:start} \index{lock-region:end}% -\index{lock-region:len} \index{lock-region:proc}% +\indextt{lock-region?}% +\indextt{lock-region:exclusive?} \indextt{lock-region:whence}% +\indextt{lock-region:start} \indextt{lock-region:end}% +\indextt{lock-region:len} \indextt{lock-region:proc}% % \begin{itemize} \item @@ -1269,10 +1269,10 @@ while \ex{delete-filesys-object} simply returns. atime ; Time of last access. mtime ; Time of last mod. ctime) ; Time of last status change.\end{code} -\index{file-info:type}\index{file-info:device}\index{file-info:inode}% -\index{file-info:mode}\index{file-info:nlinks}\index{file-info:uid}% -\index{file-info:gid}\index{file-info:size}\index{file-info:atime}% -\index{file-info:mtime}\index{file-info:ctime}% +\indextt{file-info:type}\indextt{file-info:device}\indextt{file-info:inode}% +\indextt{file-info:mode}\indextt{file-info:nlinks}\indextt{file-info:uid}% +\indextt{file-info:gid}\indextt{file-info:size}\indextt{file-info:atime}% +\indextt{file-info:mtime}\indextt{file-info:ctime}% % The uid field of a file-info record is accessed with the procedure \codex{(file-info:uid x)} @@ -1284,19 +1284,18 @@ The following procedures all return selected information about a file; they are built on top of \ex{file-info}, and are called with the same arguments that are passed to it. \begin{inset} -\newcommand{\Ex}[1]{\ex{#1}\index{#1@{\tt{#1}}}} \begin{tabular}{ll} Procedure & returns \\\hline -\Ex{file-type} & type \\ -\Ex{file-inode} & inode \\ -\Ex{file-mode} & mode \\ -\Ex{file-nlinks} & nlinks \\ -\Ex{file-owner} & uid \\ -\Ex{file-group} & gid \\ -\Ex{file-size} & size \\ -\Ex{file-last-access} & atime \\ -\Ex{file-last-mod} & mtime \\ -\Ex{file-last-status-change} & ctime +\exi{file-type} & type \\ +\exi{file-inode} & inode \\ +\exi{file-mode} & mode \\ +\exi{file-nlinks} & nlinks \\ +\exi{file-owner} & uid \\ +\exi{file-group} & gid \\ +\exi{file-size} & size \\ +\exi{file-last-access} & atime \\ +\exi{file-last-mod} & mtime \\ +\exi{file-last-status-change} & ctime \end{tabular} \end{inset} % @@ -1330,7 +1329,6 @@ They are applied to the same arguments to which \ex{file-info} is applied; the sole exception is \ex{file-symlink?}, which does not take the optional \var{chase?} second argument. \begin{inset} -\newcommand{\Ex}[1]{\ex{#1}\index{\tt{#1}}} \begin{tabular}{l@{\qquad}l} \end{tabular} \end{inset} @@ -2398,12 +2396,12 @@ These procedures are used to access the user and group databases \begin{desc} Return a \ex{user-info} record giving the recorded information for a particular user: -\index{user-info} -\index{user-info:name} -\index{user-info:uid} -\index{user-info:gid} -\index{user-info:home-dir} -\index{user-info:shell} +\indextt{user-info} +\indextt{user-info:name} +\indextt{user-info:uid} +\indextt{user-info:gid} +\indextt{user-info:home-dir} +\indextt{user-info:shell} \begin{code} (define-record user-info name uid gid home-dir shell)\end{code} @@ -2421,10 +2419,10 @@ form. \begin{desc} Return a \ex{group-info} record giving the recorded information for a particular group: -\index{group-info} -\index{group-info:name} -\index{group-info:gid} -\index{group-info:members} +\indextt{group-info} +\indextt{group-info:name} +\indextt{group-info:gid} +\indextt{group-info:members} \begin{code} (define-record group-info name gid members)\end{code} @@ -2591,37 +2589,36 @@ asynchronous {\Unix} signals (table~\ref{table:signals-and-interrupts}). \begin{table} \begin{minipage}{\textwidth} \begin{center} -\newcommand{\kwd}[1]{\index{\texttt{#1}}\texttt{#1}} \begin{tabular}{lll}\hline Interrupt & Unix signal & OS Variant \\ \hline\hline -\kwd{interrupt/alrm}\footnote{Also bound to {\scm} interrupt - \kwd{interrupt/alarm}.} - & \kwd{signal/alrm} & \Posix \\ +\exi{interrupt/alrm}\footnote{Also bound to {\scm} interrupt + \exi{interrupt/alarm}.} + & \exi{signal/alrm} & \Posix \\ % -\kwd{interrupt/int}\footnote{Also bound to {\scm} interrupt - \kwd{interrupt/keyboard}.} - & \kwd{signal/int} & \Posix \\ +\exi{interrupt/int}\footnote{Also bound to {\scm} interrupt + \exi{interrupt/keyboard}.} + & \exi{signal/int} & \Posix \\ % -\kwd{interrupt/memory-shortage} & N/A & \\ -\kwd{interrupt/chld} & \kwd{signal/chld} & \Posix \\ -\kwd{interrupt/cont} & \kwd{signal/cont} & \Posix \\ -\kwd{interrupt/hup} & \kwd{signal/hup} & \Posix \\ -\kwd{interrupt/quit} & \kwd{signal/quit} & \Posix \\ -\kwd{interrupt/term} & \kwd{signal/term} & \Posix \\ -\kwd{interrupt/tstp} & \kwd{signal/tstp} & \Posix \\ -\kwd{interrupt/usr1} & \kwd{signal/usr1} & \Posix \\ -\kwd{interrupt/usr2} & \kwd{signal/usr2} & \Posix \\ +\exi{interrupt/memory-shortage} & N/A & \\ +\exi{interrupt/chld} & \exi{signal/chld} & \Posix \\ +\exi{interrupt/cont} & \exi{signal/cont} & \Posix \\ +\exi{interrupt/hup} & \exi{signal/hup} & \Posix \\ +\exi{interrupt/quit} & \exi{signal/quit} & \Posix \\ +\exi{interrupt/term} & \exi{signal/term} & \Posix \\ +\exi{interrupt/tstp} & \exi{signal/tstp} & \Posix \\ +\exi{interrupt/usr1} & \exi{signal/usr1} & \Posix \\ +\exi{interrupt/usr2} & \exi{signal/usr2} & \Posix \\ \\ -\kwd{interrupt/info} & \kwd{signal/info} & BSD only \\ -\kwd{interrupt/io} & \kwd{signal/io} & BSD + SVR4 \\ -\kwd{interrupt/poll} & \kwd{signal/poll} & SVR4 only \\ -\kwd{interrupt/prof} & \kwd{signal/prof} & BSD + SVR4 \\ -\kwd{interrupt/pwr} & \kwd{signal/pwr} & SVR4 only \\ -\kwd{interrupt/urg} & \kwd{signal/urg} & BSD + SVR4 \\ -\kwd{interrupt/vtalrm} & \kwd{signal/vtalrm} & BSD + SVR4 \\ -\kwd{interrupt/winch} & \kwd{signal/winch} & BSD + SVR4 \\ -\kwd{interrupt/xcpu} & \kwd{signal/xcpu} & BSD + SVR4 \\ -\kwd{interrupt/xfsz} & \kwd{signal/xfsz} & BSD + SVR4 \\ +\exi{interrupt/info} & \exi{signal/info} & BSD only \\ +\exi{interrupt/io} & \exi{signal/io} & BSD + SVR4 \\ +\exi{interrupt/poll} & \exi{signal/poll} & SVR4 only \\ +\exi{interrupt/prof} & \exi{signal/prof} & BSD + SVR4 \\ +\exi{interrupt/pwr} & \exi{signal/pwr} & SVR4 only \\ +\exi{interrupt/urg} & \exi{signal/urg} & BSD + SVR4 \\ +\exi{interrupt/vtalrm} & \exi{signal/vtalrm} & BSD + SVR4 \\ +\exi{interrupt/winch} & \exi{signal/winch} & BSD + SVR4 \\ +\exi{interrupt/xcpu} & \exi{signal/xcpu} & BSD + SVR4 \\ +\exi{interrupt/xfsz} & \exi{signal/xfsz} & BSD + SVR4 \\ \end{tabular} \end{center} \caption{{\scm} virtual-machine interrupts and related {\Unix} signals. @@ -2633,26 +2630,25 @@ Interrupt & Unix signal & OS Variant \\ \hline\hline \end{table} % \begin{table} -\newcommand{\kwd}[1]{\index{\texttt{#1}}\texttt{#1}} \begin{center} \begin{tabular}{lll}\hline Unix signal & Type & OS Variant \\ \hline\hline -\kwd{signal/stop} & Uncatchable & \Posix \\ -\kwd{signal/kill} & Uncatchable & \Posix \\ +\exi{signal/stop} & Uncatchable & \Posix \\ +\exi{signal/kill} & Uncatchable & \Posix \\ \\ -\kwd{signal/abrt} & Synchronous & \Posix \\ -\kwd{signal/fpe} & Synchronous & \Posix \\ -\kwd{signal/ill} & Synchronous & \Posix \\ -\kwd{signal/pipe} & Synchronous & \Posix \\ -\kwd{signal/segv} & Synchronous & \Posix \\ -\kwd{signal/ttin} & Synchronous & \Posix \\ -\kwd{signal/ttou} & Synchronous & \Posix \\ +\exi{signal/abrt} & Synchronous & \Posix \\ +\exi{signal/fpe} & Synchronous & \Posix \\ +\exi{signal/ill} & Synchronous & \Posix \\ +\exi{signal/pipe} & Synchronous & \Posix \\ +\exi{signal/segv} & Synchronous & \Posix \\ +\exi{signal/ttin} & Synchronous & \Posix \\ +\exi{signal/ttou} & Synchronous & \Posix \\ \\ -\kwd{signal/bus} & Synchronous & BSD + SVR4 \\ -\kwd{signal/emt} & Synchronous & BSD + SVR4 \\ -\kwd{signal/iot} & Synchronous & BSD + SVR4 \\ -\kwd{signal/sys} & Synchronous & BSD + SVR4 \\ -\kwd{signal/trap} & Synchronous & BSD + SVR4 \\ +\exi{signal/bus} & Synchronous & BSD + SVR4 \\ +\exi{signal/emt} & Synchronous & BSD + SVR4 \\ +\exi{signal/iot} & Synchronous & BSD + SVR4 \\ +\exi{signal/sys} & Synchronous & BSD + SVR4 \\ +\exi{signal/trap} & Synchronous & BSD + SVR4 \\ \end{tabular} \end{center} \caption{Uncatchable and synchronous {\Unix} signals. While these signals diff --git a/doc/scsh-manual/tty.tex b/doc/scsh-manual/tty.tex index 28c5d38..d1905c5 100644 --- a/doc/scsh-manual/tty.tex +++ b/doc/scsh-manual/tty.tex @@ -7,10 +7,6 @@ \newcommand{\fr}[1]{\makebox[0pt][r]{#1}} -% \ex{#1} and also generates an index entry. -\newcommand{\exi}[1]{\index{#1@\texttt{#1}}\ex{#1}} -\newcommand{\indextt}[1]{\index{#1@\texttt{#1}}} - Scsh provides a complete set of routines for manipulating terminal devices---putting them in ``raw'' mode, changing and querying their special characters, modifying their i/o speeds, and so forth.