scsh-checkins
[Top] [All Lists]

[Scsh-checkins] CVS: scsh/doc/scsh-manual .man.hdir,NONE,1.1 css.t2p,NON

To: scsh-checkins@lists.sourceforge.net
Subject: [Scsh-checkins] CVS: scsh/doc/scsh-manual .man.hdir,NONE,1.1 css.t2p,NONE,1.1 man.t2p,NONE,1.1 Makefile,1.1,1.2 front.tex,1.7,1.8 intro.tex,1.6,1.7 man.tex,1.7,1.8 procnotation.tex,1.5,1.6 running.tex,1.5,1.6 strings.tex,1.10,1.11 syscalls.tex,1.9,1.10 todo.tex,1.4,1.5 xman.tex,1.2,1.3
From: Norbert Freudemann <nofreude@users.sourceforge.net>
Date: Wed, 20 Jun 2001 07:28:24 -0700
List-id: <scsh-checkins.lists.sourceforge.net>
Sender: scsh-checkins-admin@lists.sourceforge.net
Update of /cvsroot/scsh/scsh/doc/scsh-manual
In directory usw-pr-cvs1:/tmp/cvs-serv19579

Modified Files:
        Makefile front.tex intro.tex man.tex procnotation.tex 
        running.tex strings.tex syscalls.tex todo.tex xman.tex 
Added Files:
        .man.hdir css.t2p man.t2p 
Log Message:
Tex2page support:

Macros stolen from Dorai Sitaram
Makefile target "html"
Hyperlinks freebsd.org for POSIX syscalls


--- NEW FILE ---
html
--- NEW FILE ---
% css.t2p
% Dorai Sitaram
% 19 Jan 2001
% A basic style for HTML documents generated
% with tex2page.  

\cssblock

body {
   color: black;
   background-color: #e5e5e5;
/*background-color: beige;*/
   margin-top: 2em;
   margin-left: 8%;
   margin-right: 8%;
}

h1,h2,h3,h4,h5,h6 {
   margin-top: .5em;
}

.partheading {
   font-size: 70%;
}

.chapterheading {
   font-size: 70%;
}

pre {
    margin-left: 2em;
}

ol {
   list-style-type: decimal;
}

ol ol {
   list-style-type: lower-alpha;
}

ol ol ol {
   list-style-type: lower-roman;
}

ol ol ol ol {
   list-style-type: upper-alpha;
}

.scheme {
   color: brown;
}

.scheme .keyword {
   color: #990000;
   font-weight: bold;
}

.scheme .builtin {
   color: #990000;
}

.scheme .variable {
   color: navy;
}

.scheme .global {
   color: purple;
}

.scheme .selfeval {
   color: green;
}

.scheme .comment {
   color:  teal;
}

.navigation {
   color: red;
   text-align: right;
   font-style: italic;
}

.disable {
   /* color: #e5e5e5; */
color: gray;
}

.smallcaps {
font-size: 75%;
}

.smallprint {
   color: gray;
   font-size: 75%;
   text-align: right;
}

.smallprint hr {
   text-align: left;
   width: 40%;
}

\endcssblock
--- NEW FILE ---
% man.t2p
% Dorai Sitaram
% Feb 6, 2000

% This file contains the tex2page macros needed to process
% the scsh LaTeX document scsh-n.n.n/doc/scsh-manual/man.tex.
% Copy (or link) this file alongside man.tex and run
%
% tex2page man

\input css.t2p
\dontuseimgforhtmlmath

\let\pagebreak\relax

\let\small\relax

%\let\PRIMtableofcontents\tableofcontents
%\def\tableofcontents{\chapter*{Contents}\PRIMtableofcontents}

\def\subtitle#1{\def\savesubtitle{#1}}

\def\maketitle{
\subject{\TIIPtitle}
{\bf \hr}
\rightline{\savesubtitle}
\bigskip\bigskip
\bigskip\bigskip
{\bf\TIIPauthor}
{\bf\hr}
}

\let\PRIMdocument\document

\def\document{\PRIMdocument

\let\ttchars\relax
\let\ttt\tt

%\def\~{\rawhtml~\endrawhtml}
\def\~{\char`\~}
\def\cd#1{{\tt\def\\{\char`\\}\defcsactive\${\char`\$}\defcsactive\&{\char`\&}#1}}
\def\cddollar{\undefcsactive\$}
\def\cdmath{\undefcsactive\$}
\def\codeallowbreaks{\relax}
\def\defvarx#1#2{\index{#1}\leftline{{\tt #1} \qquad #2}}

\let\PRIMflushright\flushright

\def\flushright{\PRIMflushright\TIIPtabularborder=0 }

\let\PRIMfigure\figure
\let\PRIMendfigure\endfigure

\def\figure{\par\hrule\PRIMfigure}
\def\endfigure{\PRIMendfigure\hrule\par}

\let\PRIMtable\table
\let\PRIMendtable\endtable

\def\table{\par\hrule\PRIMtable}
\def\endtable{\PRIMendtable\hrule\par}

\imgdef\vdots{\bf.\par.\par.}

\evalh{

(define all-blanks?
  (lambda (s)
    (andmap
      char-whitespace?
      (string->list s))))

}


\def\spaceifnotempty{\evalh{

(let ((x (ungroup (get-token))))
  (unless (all-blanks? x)
    (emit #\space)))

}}

\def\dfnix#1#2#3#4{\leftline{{\tt(#1\spaceifnotempty{#2}{\it#2})} \quad 
$\longrightarrow$ \quad {\it #3} \qquad (#4)} \index}

\def\ex#1{{\tt #1}}
\def\l#1{lambda (#1)}
\def\lx#1{lambda {#1}}
%\def\notenum#1{}
%\def\project#1{}
\def\var#1{{\it #1\/}}
\def\vari#1#2{\mbox{{\it #1\/}\undefcsactive\$$_{#2}$}}

\renewenvironment{boxedfigure}{\def\srecomment#1{\\#1\\}%
\begin{figure}\pagestyle}{\end{figure}}

\newenvironment{centercode}{\begin{code}}{\end{code}}

\def\setupcode{\tt%
\def\\{\char`\\}%
\defcsactive\${\$}%
\def\evalto{==> }%
\defcsactive\%{\%}\obeywhitespace}

\newenvironment{code}{\begin{quote}\bgroup\setupcode\GOBBLEOPTARG}
{\egroup\end{quote}}

\newenvironment{codebox}{\begin{tableplain}\bgroup\setupcode\GOBBLEOPTARG}
{\egroup\end{tableplain}}

\renewenvironment{desc}{\begin{quote}}{\end{quote}}

\renewenvironment{exampletable}{%
\def\header#1{\\\leftline{#1}\\}%
\def\splitline#1#2{\\\leftline{#1}\\\leftline{#2}}%
\begin{tabular}{}}{\end{tabular}}

\newenvironment{tightcode}{\begin{code}}{\end{code}}
\renewenvironment{widecode}{\begin{code}}{\end{code}}

\renewenvironment{inset}{\begin{quote}}{\end{quote}}
\renewenvironment{leftinset}{\begin{quote}}{\end{quote}}
\renewenvironment{tightinset}{\begin{quote}}{\end{quote}}
\renewenvironment{tightleftinset}{\begin{quote}}{\end{quote}}
}
Index: Makefile
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** Makefile    1997/04/10 01:21:10     1.1
--- Makefile    2001/06/20 14:28:22     1.2
***************
*** 19,23 ****
  
  clean:
!       -rm *.log
  
  INSTALL_DATA= install -c -m 644
--- 19,24 ----
  
  clean:
!       -rm *.log 
!       rm -r html 
  
  INSTALL_DATA= install -c -m 644
***************
*** 26,29 ****
--- 27,32 ----
        tar cf - *.tex sty | gzip > man.tar.gz
  
+ html:
+       tex2page man
  
  install: man.ps

Index: front.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/front.tex,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** front.tex   2001/06/01 18:42:17     1.7
--- front.tex   2001/06/20 14:28:22     1.8
***************
*** 8,12 ****
--- 8,18 ----
  \maketitle
  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Some code-changes for tex2page and latex output. NF
+ \texonly
  \chapter*{Acknowledgements}
+ \endtexonly
+ \htmlonly
+ \\ \ex{Acknowledgements} \\ \\
+ \endhtmlonly
  
  Who should I thank?

Index: intro.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/intro.tex,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** intro.tex   2001/06/01 17:49:20     1.6
--- intro.tex   2001/06/20 14:28:22     1.7
***************
*** 50,56 ****
  We currently release scsh to the following Internet sites:
  \begin{inset}\begin{flushleft}
! \ex{ftp://ftp-swiss.ai.mit.edu/pub/su/} \\
! \ex{http://www-swiss.ai.mit.edu/scsh/scsh.html}
! \ex{http://www.cs.indiana.edu/scheme-repository/} \\
  \end{flushleft}
  \end{inset}
--- 50,56 ----
  We currently release scsh to the following Internet sites:
  \begin{inset}\begin{flushleft}
! 
\ex{\urlh{ftp://ftp-swiss.ai.mit.edu/pub/su/}{ftp://ftp-swiss.ai.mit.edu/pub/su/}}
 \\
! 
\ex{\urlh{http://www-swiss.ai.mit.edu/scsh/scsh.html}{http://www-swiss.ai.mit.edu/scsh/scsh.html}}
 \\
! 
\ex{\urlh{http://www.cs.indiana.edu/scheme-repository/}{http://www.cs.indiana.edu/scheme-repository/}}
 \\
  \end{flushleft}
  \end{inset}

Index: man.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/man.tex,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** man.tex     2001/06/01 17:49:20     1.7
--- man.tex     2001/06/20 14:28:22     1.8
***************
*** 5,15 ****
  \documentclass[twoside]{report}
  \usepackage{code,boxedminipage,makeidx,palatino,ct,
!             headings,mantitle,array,matter,mysize10}
  
  \usepackage[dvipdfm,hyperindex,hypertex,
!       pdftitle={scsh manual, release 0.5.3},
!       pdfauthor={Olin Shivers and Brian D.~Carlstrom}
!       colorlinks=true,linkcolor=blue,pagecolor=blue,urlcolor=blue,
!       pdfstartview=FitH,pdfview=FitH]{hyperref}
  
  % These fonts are good choices for screen-readable pdf, but the man needs
--- 5,17 ----
  \documentclass[twoside]{report}
  \usepackage{code,boxedminipage,makeidx,palatino,ct,
!             headings,mantitle,array,matter,mysize10,tex2page}
  
+ \texonly
  \usepackage[dvipdfm,hyperindex,hypertex,
!      pdftitle={scsh manual, release 0.5.3},
!      pdfauthor={Olin Shivers and Brian D.~Carlstrom}
!      colorlinks=true,linkcolor=blue,pagecolor=blue,urlcolor=blue,
!      pdfstartview=FitH,pdfview=FitH]{hyperref}
! \endtexonly
  
  % These fonts are good choices for screen-readable pdf, but the man needs
***************
*** 23,39 ****
  
  % Style issues
! \parskip = 3pt plus 3pt
! \sloppy
  
  %\includeonly{syscalls}
  
  \input{decls}
! \makeindex
  %%% End preamble
  
  \begin{document}
  
! \frontmatter
! \include{front}
  
  \mainmatter
--- 25,41 ----
  
  % Style issues
! \parskip = 3pt plus 3pt  
! \sloppy  
  
  %\includeonly{syscalls}
  
  \input{decls}
! \makeindex   
  %%% End preamble
  
  \begin{document}
  
! \frontmatter 
! \include{front} 
  
  \mainmatter

Index: procnotation.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/procnotation.tex,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** procnotation.tex    1999/09/17 01:29:02     1.5
--- procnotation.tex    2001/06/20 14:28:22     1.6
***************
*** 12,16 ****
  An \emph{extended process form} is a specification of a {\Unix} process to
  run, in a particular I/O environment:
!         \codex{\var{epf} {\synteq} (\var{pf} $\var{redir}_1$ {\ldots} 
$\var{redir}_n$)}
  where \var{pf} is a process form and the $\var{redir}_i$ are redirection 
specs.
  A \emph{redirection spec} is one of:
--- 12,16 ----
  An \emph{extended process form} is a specification of a {\Unix} process to
  run, in a particular I/O environment:
!         \codex{\var{epf} {\synteq} (\var{pf} $ \var{redir}_1$ {\ldots} $ 
\var{redir}_n $)}
  where \var{pf} is a process form and the $\var{redir}_i$ are redirection 
specs.
  A \emph{redirection spec} is one of:
***************
*** 141,145 ****
  \codex{(begin (apply exec-path `(\var{prog} \vari{arg}1 {\ldots} 
\vari{arg}n)))}
  %
! \ex{Exec-path} is the version of the \ex{exec()} system call that 
  uses scsh's path list to search for an executable.
  The program and the arguments must be either strings, symbols, or integers.
--- 141,145 ----
  \codex{(begin (apply exec-path `(\var{prog} \vari{arg}1 {\ldots} 
\vari{arg}n)))}
  %
! \ex{Exec-path} is the version of the 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec()}}
 system call that 
  uses scsh's path list to search for an executable.
  The program and the arguments must be either strings, symbols, or integers.
***************
*** 439,443 ****
  He gets into trouble when he subsequently says \ex{(read port2)}.
  The {\Scheme} \ex{read} routine reads the open paren, and then hangs in a
! \ex{read()} system call trying to read a matching close paren.
  But before \ex{myprog} sends the close paren down the stderr
  pipe, it first tries to write a megabyte of data to the stdout pipe. 
--- 439,443 ----
  He gets into trouble when he subsequently says \ex{(read port2)}.
  The {\Scheme} \ex{read} routine reads the open paren, and then hangs in a
! 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=read&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{read()}}
 system call trying to read a matching close paren.
  But before \ex{myprog} sends the close paren down the stderr
  pipe, it first tries to write a megabyte of data to the stdout pipe. 

Index: running.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/running.tex,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** running.tex 1997/04/08 21:42:23     1.5
--- running.tex 2001/06/20 14:28:22     1.6
***************
*** 399,403 ****
  The idea would be that the command
      \codex{ekko Hi there.}
! would by expanded by the \ex{exec(2)} kernel call into
  %
  \begin{code}
--- 399,403 ----
  The idea would be that the command
      \codex{ekko Hi there.}
! would by expanded by the 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec(2)}}
 kernel call into
  %
  \begin{code}
***************
*** 409,413 ****
  and exit.
  
! Unfortunately, the {\Unix} \ex{exec(2)} syscall's support for scripts is
  not very general or well-designed.
  It will not handle multiple arguments;
--- 409,413 ----
  and exit.
  
! Unfortunately, the {\Unix} 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec(2)}}
 syscall's support for scripts is
  not very general or well-designed.
  It will not handle multiple arguments;
***************
*** 556,560 ****
              (cdr args)))\end{code}
  %
! The \ex{exec(2)} expansion of the \ex{\#!} line together with
  the scsh expansion of the ``\verb|\ ekko|'' meta-argument 
  (see section~\ref{sec:meta-arg}) gives the following command-line expansion:
--- 556,560 ----
              (cdr args)))\end{code}
  %
! The 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec(2)}}
 expansion of the \ex{\#!} line together with
  the scsh expansion of the ``\verb|\ ekko|'' meta-argument 
  (see section~\ref{sec:meta-arg}) gives the following command-line expansion:

Index: strings.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/strings.tex,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** strings.tex 2001/06/01 17:49:20     1.10
--- strings.tex 2001/06/20 14:28:22     1.11
***************
*** 32,37 ****
--- 32,44 ----
     \begin{tightinset}
     % The gratuitous mbox makes xdvi render the hyperlinks better.
+    \texonly
     \mbox{\url{http://srfi.schemers.org/srfi-13/srfi-13.html}}\\
     \url{http://srfi.schemers.org/srfi-13/srfi-13.txt}
+    \endtexonly
+    % Changed the \mbox into \urlh for tex2page to avoid problems runing 
tex2page
+    \htmlonly
+    
\urlh{http://srfi.schemers.org/srfi-13/srfi-13.html}{http://srfi.schemers.org/srfi-13/srfi-13.html}\\
+    
\urlh{http://srfi.schemers.org/srfi-13/srfi-13.txt}{http://srfi.schemers.org/srfi-13/srfi-13.txt}
+    \endhtmlonly
     \end{tightinset}
  
***************
*** 45,50 ****
--- 52,64 ----
     \begin{tightinset}
     % The gratuitous mbox makes xdvi render the hyperlinks better.
+    \texonly
     \mbox{\url{http://srfi.schemers.org/srfi-14/srfi-14.html}}\\
     \url{http://srfi.schemers.org/srfi-14/srfi-14.txt}
+    \endtexonly
+    % Changed the \mbox into \urlh for tex2page to avoid problems runing 
tex2page
+    \htmlonly
+    
\urlh{http://srfi.schemers.org/srfi-14/srfi-14.html}{http://srfi.schemers.org/srfi-14/srfi-14.html}\\
+    
\urlh{http://srfi.schemers.org/srfi-14/srfi-14.txt}{http://srfi.schemers.org/srfi-14/srfi-14.txt}
+    \endhtmlonly
     \end{tightinset}
  

Index: syscalls.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/syscalls.tex,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** syscalls.tex        2001/06/13 14:11:49     1.9
--- syscalls.tex        2001/06/20 14:28:22     1.10
***************
*** 376,380 ****
  
  Not all file descriptors are created by requests to make ports.  Some are
! inherited on process invocation via \ex{exec(2)}, and are simply part of the
  global environment. Subprocesses may depend upon them, so if a port is later
  allocated for these file descriptors, is should be considered as a revealed
--- 376,380 ----
  
  Not all file descriptors are created by requests to make ports.  Some are
! inherited on process invocation via 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec(2)}},
 and are simply part of the
  global environment. Subprocesses may depend upon them, so if a port is later
  allocated for these file descriptors, is should be considered as a revealed
***************
*** 389,393 ****
  Unrevealed file ports have the nice property that they can be closed when all
  pointers to the port are dropped. This can happen during gc, or at an
! \ex{exec()}---since all memory is dropped at an \ex{exec()}.  No one knows the
  file descriptor associated with the port, so the exec'd process certainly
  can't refer to it.
--- 389,393 ----
  Unrevealed file ports have the nice property that they can be closed when all
  pointers to the port are dropped. This can happen during gc, or at an
! 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec()}}---since
 all memory is dropped at an 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec()}}.
  No one knows the
  file descriptor associated with the port, so the exec'd process certainly
  can't refer to it.
***************
*** 400,408 ****
  numerical values are a critical part of the process interface.
  
! A port's underlying file descriptor can be shifted around with \ex{dup(2)}
  when convenient. That is, the actual file descriptor on top of which a port is
  constructed can be shifted around underneath the port by the scsh kernel when
  necessary.  This is important, because when the user is setting up file
! descriptors prior to a \ex{exec(2)}, he may explicitly use a file descriptor
  that has already been allocated to some port. In this case, the scsh kernel
  just shifts the port's file descriptor to some new location with \ex{dup},
--- 400,408 ----
  numerical values are a critical part of the process interface.
  
! A port's underlying file descriptor can be shifted around with 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup(2)}}
  when convenient. That is, the actual file descriptor on top of which a port is
  constructed can be shifted around underneath the port by the scsh kernel when
  necessary.  This is important, because when the user is setting up file
! descriptors prior to a 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec(2)}},
 he may explicitly use a file descriptor
  that has already been allocated to some port. In this case, the scsh kernel
  just shifts the port's file descriptor to some new location with \ex{dup},
***************
*** 432,437 ****
  
  The port-shifting machinery makes the following guarantee: a port is only
! moved when the underlying file descriptor is closed, either by a \ex{close()}
! or a \ex{dup2()} operation. Otherwise a port/file-descriptor association is
  stable.
  
--- 432,437 ----
  
  The port-shifting machinery makes the following guarantee: a port is only
! moved when the underlying file descriptor is closed, either by a 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=close&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{close()}}
! or a 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup2&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup2()}}
 operation. Otherwise a port/file-descriptor association is
  stable.
  
***************
*** 525,529 ****
  \defunx{dup->fdes}      {fd/port [newfd]} {fd}
  \begin{desc}
! These procedures provide the functionality of C's \ex{dup()} and \ex{dup2()}.
  The different routines return different types of values:
  \ex{dup->inport}, \ex{dup->outport}, and \ex{dup->fdes} return
--- 525,529 ----
  \defunx{dup->fdes}      {fd/port [newfd]} {fd}
  \begin{desc}
! These procedures provide the functionality of C's 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup()}}
 and 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup2&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup2()}}.
  The different routines return different types of values:
  \ex{dup->inport}, \ex{dup->outport}, and \ex{dup->fdes} return
***************
*** 532,539 ****
  \var{fd/port}---it maps fd$\rightarrow$fd and port$\rightarrow$port.
  
! These procedures use the {\Unix} \ex{dup()} syscall to replicate
  the file descriptor or file port \var{fd/port}.
  If a \var{newfd} file descriptor is given, it is used as the target of
! the dup operation, \ie, the operation is a \ex{dup2()}.
  In this case, procedures that return a port (such as \ex{dup->inport})
  will return one with the revealed count set to one.
--- 532,539 ----
  \var{fd/port}---it maps fd$\rightarrow$fd and port$\rightarrow$port.
  
! These procedures use the {\Unix} 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup()}}
 syscall to replicate
  the file descriptor or file port \var{fd/port}.
  If a \var{newfd} file descriptor is given, it is used as the target of
! the dup operation, \ie, the operation is a 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup2&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup2()}}.
  In this case, procedures that return a port (such as \ex{dup->inport})
  will return one with the revealed count set to one.
***************
*** 954,958 ****
  
  Scsh moves Scheme ports from file descriptor to file descriptor with 
! \ex{dup()} and \ex{close()} as required by the runtime, 
  so it is impossible to keep file locks open across one of these shifts.
  Hence we can only offer {\Posix} advisory file locking directly on raw
--- 954,958 ----
  
  Scsh moves Scheme ports from file descriptor to file descriptor with 
! 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup()}}
 and 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=close&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{close()}}
 as required by the runtime, 
  so it is impossible to keep file locks open across one of these shifts.
  Hence we can only offer {\Posix} advisory file locking directly on raw
***************
*** 961,965 ****
  
  Note that once a Scheme port is revealed in scsh, the runtime will not
! shift the port around with \ex{dup()} and \ex{close()}.
  This means the file-locking procedures can then be applied to the port's
  associated file descriptor.
--- 961,965 ----
  
  Note that once a Scheme port is revealed in scsh, the runtime will not
! shift the port around with 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=dup&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{dup()}}
 and 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=close&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{close()}}.
  This means the file-locking procedures can then be applied to the port's
  associated file descriptor.
***************
*** 1118,1122 ****
      and \var{new-fname} must type-match---either both directories, 
      or both non-directories. 
!     This is required by the semantics of {\Unix} \ex{rename()}.
  
      \remark{
--- 1118,1122 ----
      and \var{new-fname} must type-match---either both directories, 
      or both non-directories. 
!     This is required by the semantics of {\Unix} 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=rename&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{rename()}}.
  
      \remark{
***************
*** 1126,1130 ****
      \ex{rename-file}'s existence check and the actual rename operation,
      your file will be clobbered with \ex{old-fname}. There is no way to fix
!     this problem, given the semantics of {\Unix} \ex{rename()}; 
      at least it is highly unlikely to occur in practice.
      }
--- 1126,1130 ----
      \ex{rename-file}'s existence check and the actual rename operation,
      your file will be clobbered with \ex{old-fname}. There is no way to fix
!     this problem, given the semantics of {\Unix} 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=rename&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{rename()}};
 
      at least it is highly unlikely to occur in practice.
      }
***************
*** 1166,1170 ****
      Interestingly enough, \ex{sync\=file\=system} doesn't actually
      do what it is claimed to do. We just threw it in for humor value.
!     See the \ex{sync(2)} man page for {\Unix} enlightenment.
  \end{desc}
  
--- 1166,1170 ----
      Interestingly enough, \ex{sync\=file\=system} doesn't actually
      do what it is claimed to do. We just threw it in for humor value.
!     See the 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=sync&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{sync(2)}}
 man page for {\Unix} enlightenment.
  \end{desc}
  
***************
*** 1291,1295 ****
  
      Note that these procedures use the process' \emph{effective} user
!     and group ids for permission checking. {\Posix} defines an \ex{access()}
      function that uses the process' real uid and gids. This is handy
      for setuid programs that would like to find out if the actual user
--- 1291,1295 ----
  
      Note that these procedures use the process' \emph{effective} user
!     and group ids for permission checking. {\Posix} defines an 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=access&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{access()}}
      function that uses the process' real uid and gids. This is handy
      for setuid programs that would like to find out if the actual user
***************
*** 1311,1315 ****
  
      Some of these problems could be avoided if {\Posix} had a real-uid
!     variant of the \ex{access()} call we could use, but the atomicity
      issue is still a problem. In the final analysis, the only way to
      find out if you have the right to perform an operation on a file
--- 1311,1315 ----
  
      Some of these problems could be avoided if {\Posix} had a real-uid
!     variant of the 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=access&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{access()}}
 call we could use, but the atomicity
      issue is still a problem. In the final analysis, the only way to
      find out if you have the right to perform an operation on a file
***************
*** 1468,1472 ****
      \ex{file-match} provides a more powerful file-matching service, at the
      expense of a less convenient notation. It is intermediate in
!     power between most shell matching machinery and recursive \ex{find(1)}.
  
      Each pattern is a regexp. The procedure searches from \var{root},
--- 1468,1472 ----
      \ex{file-match} provides a more powerful file-matching service, at the
      expense of a less convenient notation. It is intermediate in
!     power between most shell matching machinery and recursive 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=find&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{find(1)}}.
  
      Each pattern is a regexp. The procedure searches from \var{root},
***************
*** 1717,1721 ****
  directory. See \verb|$path| and \verb|exec-path-list|, below.
  
! Note that there is no analog to the C function \ex{execv()}.
  To get the effect just do
  \codex{(apply exec prog arglist)}
--- 1717,1721 ----
  directory. See \verb|$path| and \verb|exec-path-list|, below.
  
! Note that there is no analog to the C function 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=execv&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{execv()}}.
  To get the effect just do
  \codex{(apply exec prog arglist)}
***************
*** 1725,1729 ****
  To avoid flushing buffered output, see \verb|%exec| below.
  
! Note that the C \ex{exec()} procedure allows the zeroth element of the
  argument vector to be different from the file being executed, \eg
  %
--- 1725,1729 ----
  To avoid flushing buffered output, see \verb|%exec| below.
  
! Note that the C 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=exec&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{exec()}}
 procedure allows the zeroth element of the
  argument vector to be different from the file being executed, \eg
  %
***************
*** 1803,1807 ****
  \defunx {\%fork} {[thunk]} {proc or \sharpf}
  \begin{desc}
!     \ex{fork} with no arguments is like C \ex{fork()}. 
      In the parent process, it returns the child's \emph{process object} 
      (see below for more information on process objects).
--- 1803,1807 ----
  \defunx {\%fork} {[thunk]} {proc or \sharpf}
  \begin{desc}
!     \ex{fork} with no arguments is like C 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=fork&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{fork()}}.
 
      In the parent process, it returns the child's \emph{process object} 
      (see below for more information on process objects).
***************
*** 2243,2247 ****
  These routines get and set the effective and real user and group ids.    
  The \ex{set-uid} and \ex{set-gid} routines correspond to the {\Posix}
! \ex{setuid()} and \ex{setgid()} procedures.
  \end{desc}
  
--- 2243,2247 ----
  These routines get and set the effective and real user and group ids.    
  The \ex{set-uid} and \ex{set-gid} routines correspond to the {\Posix}
! 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=setuid&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{setuid()}}
 and 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=setgid&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{setgid()}}
 procedures.
  \end{desc}
  
***************
*** 2788,2792 ****
      the trailing \ex{:\emph{mm}:\emph{ss}} portion is deleted if it is zeroes.
  
!     \oops{The Posix facility for converting dates to times, \ex{mktime()},
            has a broken design: it indicates an error by returning -1, which
            is also a legal return value (for date 23:59:59 UCT, 12/31/1969).
--- 2788,2792 ----
      the trailing \ex{:\emph{mm}:\emph{ss}} portion is deleted if it is zeroes.
  
!     \oops{The Posix facility for converting dates to times, 
\ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=mktime&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{mktime()}},
            has a broken design: it indicates an error by returning -1, which
            is also a legal return value (for date 23:59:59 UCT, 12/31/1969).

Index: todo.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/todo.tex,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** todo.tex    2001/06/01 17:49:20     1.4
--- todo.tex    2001/06/20 14:28:22     1.5
***************
*** 8,13 ****
  we'll put you on the team.
  Visit the Scheme Underground Web page for more information on good hacks at
! \begin{tightinset}\verb|http://www.ai.mit.edu/projects/su/|
! \end{tightinset}
  Scsh is a tool that lets you write fun programs that do real things in
  an elegant language; go wild.
--- 8,15 ----
  we'll put you on the team.
  Visit the Scheme Underground Web page for more information on good hacks at
! \begin{inset} \begin{flushleft}
! 
\ex{\urlh{http://www.ai.mit.edu/projects/su/}{http://www.ai.mit.edu/projects/su/}}
! \end{flushleft}
! \end{inset}
  Scsh is a tool that lets you write fun programs that do real things in
  an elegant language; go wild.

Index: xman.tex
===================================================================
RCS file: /cvsroot/scsh/scsh/doc/scsh-manual/xman.tex,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** xman.tex    1997/03/11 02:48:43     1.2
--- xman.tex    2001/06/20 14:28:22     1.3
***************
*** 5,9 ****
  \documentclass[twoside]{report}
  \usepackage{code,boxedminipage,draftfooters,makeidx,palatino,ct,
!             headings,mantitle,array,matter,a4}
  
  % Style issues
--- 5,9 ----
  \documentclass[twoside]{report}
  \usepackage{code,boxedminipage,draftfooters,makeidx,palatino,ct,
!             headings,mantitle,array,matter,a4,tex2page}
  
  % Style issues



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-checkins] CVS: scsh/doc/scsh-manual .man.hdir,NONE,1.1 css.t2p,NONE,1.1 man.t2p,NONE,1.1 Makefile,1.1,1.2 front.tex,1.7,1.8 intro.tex,1.6,1.7 man.tex,1.7,1.8 procnotation.tex,1.5,1.6 running.tex,1.5,1.6 strings.tex,1.10,1.11 syscalls.tex,1.9,1.10 todo.tex,1.4,1.5 xman.tex,1.2,1.3, Norbert Freudemann <=