From 17041342f73b9b940e04fdc6c68984383eed4147 Mon Sep 17 00:00:00 2001 From: shivers Date: Wed, 1 Nov 1995 21:01:14 +0000 Subject: [PATCH] Hacked the URL's --- doc/scsh-manual.ps | 337 ++++++++++++++++++++++----------------------- 1 file changed, 168 insertions(+), 169 deletions(-) diff --git a/doc/scsh-manual.ps b/doc/scsh-manual.ps index 53fde81..7841071 100644 --- a/doc/scsh-manual.ps +++ b/doc/scsh-manual.ps @@ -1,14 +1,14 @@ %!PS-Adobe-2.0 %%Creator: dvips 5.51 Copyright 1986, 1993 Radical Eye Software %%Title: man.dvi -%%CreationDate: Wed Nov 1 13:59:05 1995 +%%CreationDate: Wed Nov 1 15:58:40 1995 %%Pages: 159 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Palatino-Bold Palatino-Roman Palatino-Italic %%EndComments %DVIPSCommandLine: dvips -o man.ps man.dvi -%DVIPSSource: TeX output 1995.11.01:1358 +%DVIPSSource: TeX output 1995.11.01:1558 %%BeginProcSet: tex.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N} B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0] @@ -1477,14 +1477,13 @@ F000030003F000060003F000060003F000060003F0000C0003F0000C0003F000180003F0003000 3[80 5[149 1[161 17[61 2[52 44[{}35 207.333362 /Palatino-Bold rf /FC 171[50 1[54 11[42 1[62 2[58 65[{}5 75.000000 /Palatino-Bold rf /FD 78[37 58[42 2[32 30 1[45 41 1[66 1[42 5[36 2[41 37 14[50 -2[59 62 19[19 37 37 2[37 1[37 1[37 4[19 44[{.167 SlantFont}21 -75.000000 /Palatino-Roman rf /FE 137[66 1[40 53 47 2[66 73 -106 40 2[40 73 2[60 73 2[60 13[73 3[100 10[100 86 80 19[30 -46[{}19 119.999948 /Palatino-Bold rf /FF 140[39 36 2[50 2[27 -3[53 2[44 1[41 1[46 26[51 17[46 3[46 1[23 46[{}12 91.666666 -/Palatino-Roman rf /FG 138[104 1[76 66 3[104 1[57 3[104 1[66 -85 1[76 1[85 13[104 123 4[170 77[{}13 170.833325 /Palatino-Bold -rf end +2[59 62 19[19 37 37 2[37 3[37 4[19 44[{.167 SlantFont}20 75.000000 +/Palatino-Roman rf /FE 137[66 1[40 53 47 2[66 73 106 40 2[40 +73 2[60 73 2[60 13[73 3[100 10[100 86 80 19[30 46[{}19 119.999948 +/Palatino-Bold rf /FF 140[39 36 2[50 2[27 3[53 2[44 1[41 1[46 +26[51 17[46 3[46 1[23 46[{}12 91.666666 /Palatino-Roman rf +/FG 138[104 1[76 66 3[104 1[57 3[104 1[66 85 1[76 1[85 13[104 +123 4[170 77[{}13 170.833325 /Palatino-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi @@ -1495,7 +1494,7 @@ TeXDict begin 1 0 bop 75 1114 a FG(Scsh)41 b(Reference)i(Manual)p 75 1184 3901 34 v 2608 1284 a FF(For)22 b(scsh)g(r)n(elease)g(0.4)75 4280 y FE(Olin)29 b(Shivers)g(and)h(Brian)f(D.)g(Carlstrom)p -75 4350 3901 17 v 365 5147 a FD(November)18 b(1,)h(1995)h(\261)f(13)14 +75 4350 3901 17 v 365 5147 a FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 2907 5071 323 4 v 2907 5173 4 102 v 1707 w FC(DRAFT)p 3226 5173 V 2907 5176 323 4 v eop %%Page: 2 2 @@ -1537,7 +1536,7 @@ b FA(I)21 b(think)h(not.)28 b(I)21 b(did)f(it.)28 b(I)21 b(did)f(it)h(all,)f (by)h(myself.)2834 4043 y(Olin)g(Shivers)2834 4143 y(Cambridge)2834 4243 y(September)e(4,)h(1994)681 5147 y(ii)p 1952 5071 323 4 v 1952 5173 4 102 v 1251 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 3 3 3 2 bop 365 1307 a FB(Contents)365 1852 y Fy(1)83 b(Introduction)2217 @@ -1590,7 +1589,7 @@ b Fx(:)42 b(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h 39 b Fx(:)j(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h (:)f(:)91 b FA(17)490 4898 y(2.5)86 b(Conditional)21 b(pr)o(ocess)g (sequencing)h(forms)45 b Fx(:)d(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f -(:)h(:)f(:)91 b FA(19)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 +(:)h(:)f(:)91 b FA(19)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1226 w FA(iii)p eop %%Page: 4 4 @@ -1672,7 +1671,7 @@ f(:)h(:)f(:)h(:)f(:)h(:)90 b FA(71)996 4898 y(3.12.2)56 b(The)21 b(tty-info)g(r)o(ecor)o(d)e(type)52 b Fx(:)41 b(:)h(:)f(:)h(:)g(:)f(:)h(:)f (:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)90 b FA(72)681 5147 y(iv)p 1952 5071 323 4 v 1952 5173 4 102 v 1228 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 5 5 5 4 bop 681 614 a FA(3.12.3)55 b(Using)22 b(tty-info)f(r)o(ecor)o(ds)55 @@ -1741,7 +1740,7 @@ b(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h (:)f(:)54 b FA(1)-5 b(15)490 4898 y(7.2)86 b(A)-6 b(wk)48 b Fx(:)41 b(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h (:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)54 -b FA(1)-5 b(15)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 +b FA(1)-5 b(15)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1252 w FA(v)p eop %%Page: 6 6 @@ -1800,7 +1799,7 @@ b(Incompatible)21 b(impr)o(ovements)i Fx(:)41 b(:)h(:)f(:)h(:)f(:)h(:)g(:)f b Fx(:)42 b(:)f(:)h(:)f(:)h(:)f(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)49 b FA(142)681 4060 y Fy(1)m(1)43 b(T)-9 b(odo)2427 b(145)681 5147 y FA(vi)p 1952 5071 323 4 v 1952 5173 4 102 v 1228 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 1 7 1 6 bop 365 1264 a Fv(Chapter)45 b(1)365 1707 y FB(Introduction)365 @@ -1841,7 +1840,7 @@ y(However)-6 b(,)24 b(nothing)i(is)e(certain)g(for)g(long)h(on)f(the)g(Net.) 38 b(Pr)o(obably)23 b(the)h(best)g(way)g(to)365 4898 y(get)19 b(a)e(copy)i(of)f(scsh)h(is)g(to)g(use)f(a)g(network)h(r)o(esour)o (ce-discovery)d(tool,)k(such)f(as)f(ar)o(chie,)f(to)365 5147 -y FD(November)h(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)h(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1257 w FA(1)p eop %%Page: 2 8 @@ -1895,7 +1894,7 @@ Fw(.login)c FA(or)681 4898 y Fw(.profile)p FA(.)43 b(W)-8 b(e)28 b(hope)f(to)h(addr)o(ess)e(all)h(of)g(these)g(issues)h(in)g(futur)o(e)e(r)o (eleases;)j(we)e(even)681 5147 y(2)p 1952 5071 323 4 v 1952 5173 4 102 v 1257 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 3 9 3 8 bop 365 614 a FA(have)22 b(designs)i(for)e(several)g(of)h(these)f(featur) @@ -1949,7 +1948,7 @@ FA(on)573 4799 y Fz(port)o FA('s)30 b(\256le)f(descriptor)-6 b(,)31 b(r)o(eturning)f(whatever)e Fz(pr)o(oc)h FA(r)o(eturns.)53 b(The)29 b(abbr)o(eviated)573 4898 y(name)21 b(means)f(\252call)g(with)i (\256le)f(descriptor)-6 b(.\272)365 5147 y FD(November)18 b(1,)h(1995)h(\261) -f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 +f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1257 w FA(3)p eop %%Page: 4 10 4 9 bop 681 614 a Fw(with-)p Fx(:)14 b(:)g(:)53 b FA(Pr)o(ocedur)o(es)24 @@ -2003,7 +2002,7 @@ Fw(+)p FA(\272)e(ar)o(e)h(allowed)h(to)h(begin)f(symbols.)27 b(So)17 b(the)h(following)g(ar)o(e)e(legitimate)888 4760 y(symbols:)1071 4898 y Fw(-O2)42 b(-geometry)e(+Wn)681 5147 y FA(4)p 1952 5071 323 4 v 1952 5173 4 102 v 1257 w FC(DRAFT)p 2271 5173 V 1952 -5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 5 11 5 10 bop 490 614 a Fs(\017)41 b FA(\252)p Fw(|)p FA(\272)22 @@ -2049,7 +2048,7 @@ FA(her)o(e-string)j(has)g(the)f(form)573 4650 y Fw(#<)p Fq(x)p Fw(...stuff...)p Fq(x)365 4799 y FA(wher)o(e)j Fz(x)g FA(is)h(any)g(single)g (character)e(\(except)g Fw(<)p FA(,)i(see)f(below\),)h(which)g(is)g(used)f (to)h(delimit)365 4898 y(the)d(string)h(bounds.)28 b(Some)20 -b(examples:)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 +b(examples:)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1257 w FA(5)p eop %%Page: 6 12 @@ -2081,7 +2080,7 @@ Fw(format)29 b FA(strings,)36 b(or)d(ar)o(guments)f(to)h(Unix)f(pr)o(o-)681 (#<)i(,x\))d FA(means)g(\252output)h(to)g(the)g(\256le)f(named) b Fw(\(<)k(/usr/shivers/.lo)o(gi)o(n\))34 b FA(means)40 b(\252r)o(ead)d(fr)o (om)681 4898 y Fw(/usr/shivers/.lo)o(gi)o(n)p FA(.\272)681 5147 y(10)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 11 17 11 16 bop 490 614 a FA(Her)o(e)19 b(ar)o(e)h(two)h(mor)o(e)g(examples)f(of)h @@ -2325,7 +2324,7 @@ b(to)g(them)g(into)g(memory)g(buf)o(fers.)24 b(The)15 b(accumulated)e(string) i(can)f(later)g(be)g(r)o(etrieved)365 4898 y(fr)o(om)29 b(the)g(port)g(as)g (a)f(string.)53 b(If)28 b(a)h(user)f(wer)o(e)h(to)g(bind)g Fw(\(current-output-)o(po)o(rt\))22 b FA(to)365 5147 y FD(November)c(1,)h -(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 +(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1220 w FA(1)-5 b(1)p eop %%Page: 12 18 @@ -2394,7 +2393,7 @@ y Ft(2)2219 4799 y Fx(:)14 b(:)g(:)57 b Fz(to)p Fw(\))43 b Fx(:)14 b(:)g(:)g Fw(\))28 b FA(and)g(is)g(implicitly)i(back-)681 4898 y(quoted.)e(For)21 b(example,)681 5147 y(12)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 -5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 13 19 13 18 bop 573 614 a Fw(\(|+)42 b(\(\(1)h(2)g(0\))f(\(3)h(1\)\))g @@ -2454,7 +2453,7 @@ b(de\256nitions)h(of)f(the)f Fw(&)h FA(and)f Fw(run)g FA(macr)o(os)g(ar)o(e)f b Fs(\021)83 b Fw(\(fork)41 b(\()p Fx(\025)e Fw(\(\))k(\(exec-epf)d(.)j Fz(epf)p Fw(\)\)\))756 4723 y(\(run)e(.)j Fz(epf)o Fw(\))83 b Fs(\021)g Fw(\(wait)41 b(\(&)i(.)g Fz(epf)p Fw(\)\))365 5147 -y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(13)p eop %%Page: 14 20 @@ -2501,7 +2500,7 @@ Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(list)1548 b FA(syntax)888 (collecting)g(the)g(pr)o(ocess')f(output)h(to)f(std-)888 4898 y(out)22 b(in)f(some)g(form)g(or)g(another)-6 b(.)681 5147 y(14)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 15 21 15 20 bop 805 636 a Fw(run/port)227 b FA(V)-8 b(alue)18 b(is)g(a)g(port)g @@ -2554,7 +2553,7 @@ b Fw(Port->string-list)21 b FA(r)o(epeat-)573 4799 y(edly)30 b(r)o(eads)f(newline-terminated)h(strings)h(fr)o(om)f(the)g(port)h(until)g (eof,)h(then)f(r)o(e-)573 4898 y(turns)g(the)h(accumulated)e(list)i(of)f (strings.)60 b(The)31 b(delimiting)h(newlines)g(ar)o(e)e(not)365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(15)p eop %%Page: 16 22 @@ -2610,7 +2609,7 @@ b(pr)o(ocedur)o(es)e(and)h(special)g(forms)h(in)h(the)f(pr)o(evious)f (es)g(pr)o(ovide)g(mor)o(e)h(complicated)g(facilities)g(for)h(ma-)681 4898 y(nipulating)21 b(pr)o(ocesses.)681 5147 y(16)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 -5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 17 23 17 22 bop 365 614 a Fy(2.4.1)81 b(Pids)20 b(and)g(ports)g(together)365 @@ -2670,7 +2669,7 @@ b(the)26 b Fw(ls)e FA(pr)o(o-)573 4799 y(cess')31 b(exit)g(status,)j(and)c (two)i(ports)g(open)f(on)h(the)f(temporary)g(\256les.)59 b(The)31 b(\256les)573 4898 y(ar)o(e)17 b(deleted)h(befor)o(e)g Fw(run/collecting)13 b FA(r)o(eturns,)19 b(so)g(when)h(the)f(ports)g(ar)o(e)f(closed,)365 -5147 y FD(November)g(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)g(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(17)p eop %%Page: 18 24 @@ -2715,7 +2714,7 @@ Fw(port1)888 4693 y FA(write;)k(the)g(Scheme)f(par)o(ent)g(is)h(stuck)g(in)g y(Her)o(e's)20 b(a)h(concr)o(ete)f(example)g(that)g(does)h(exactly)f(the)h (above:)681 5147 y(18)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)d(1,)h -(1995)h(\261)f(13)13 b(:)f(58)p eop +(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 19 25 19 24 bop 756 614 a Fw(\(receive)40 b(\(status)g(port1)i(port2\))1148 714 y(\(run/collecting)37 b(\(1)43 b(2\))1322 814 y(\(begin)1409 @@ -2760,7 +2759,7 @@ b Fz(boolean)1503 b FA(syntax)573 4799 y(Run)21 b(each)e(pr)o(oc)h(until)h (one)f(completes)h(successfully)f(\()p Fz(i.e.)p FA(,)g(exit)g(status)g(zer)o (o\).)26 b(Re-)573 4898 y(turn)21 b(tr)o(ue)g(if)f(some)i(pr)o(oc)e (completes)h(successfully;)g(otherwise)g Fw(#f)p FA(.)365 5147 -y FD(November)d(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(19)p eop %%Page: 20 26 @@ -2804,7 +2803,7 @@ Fz(\256lter)g FA(will)h(never)e(be)h(applied)888 4095 y(to)i(a)g(string)g (longer)g(than)g Fz(bu\257en)i FA(chars.)k(The)20 b(default)g Fz(bu\257en)i FA(value)e(is)h(1024.)681 5147 y(20)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 -5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 21 27 21 26 bop 365 1277 a Fv(Chapter)45 b(3)365 1731 y FB(System)51 @@ -2845,7 +2844,7 @@ FA(\320they)c(au-)365 4686 y(tomatically)21 b(r)o(etry)-9 b(.)27 b(\(Curr)o(ently)19 b(only)j(tr)o(ue)f(for)g(I/O)g(calls.\))365 4845 y Fw(\(errno-error)39 b Fz(errno)22 b(syscall)e(.)h(data)p Fw(\))85 b Fs(\000)-14 b(!)87 b Fz(no)21 b(r)o(eturn)g(value)423 -b FA(pr)o(ocedur)o(e)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 +b FA(pr)o(ocedur)o(e)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(21)p eop %%Page: 22 28 @@ -2899,7 +2898,7 @@ Fx(:)14 b(:)g(:)g Fw(\))888 4799 y FA(In)26 b(the)g(\256rst)f(type)h(of)f b(They)888 4898 y(ar)o(e)25 b(evaluated)f(and)i(compar)o(ed)e(to)j(the)f(err) o(or)6 b('s)25 b(errno)h(value.)42 b(An)26 b Fw(else)e FA(clause)681 5147 y(22)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 23 29 23 28 bop 573 614 a FA(matches)23 b(any)g(errno)g(value.)34 @@ -2944,7 +2943,7 @@ h(fr)o(om)f(the)h(err)o(or)-6 b(.)26 b(In)20 b(script)h(mode,)f(the)g (to)g(exit.)490 4799 y(When)j(scsh)h(forks)f(a)g(child)g(with)h Fw(\(fork\))p FA(,)d(the)i(child)g(r)o(esets)f(to)i(script)f(mode.)37 b(This)365 4898 y(can)21 b(be)f(overridden)g(if)h(the)g(pr)o(ogrammer)f -(wishes.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 +(wishes.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(23)p eop %%Page: 24 30 @@ -3006,7 +3005,7 @@ b(special)f(forms)h(ar)o(e)f(simply)h(syntactic)g(sugar)g(for)f(the)h Fw(with-current-)888 4898 y(input-port*)17 b FA(pr)o(ocedur)o(e)h(and)j (friends.)681 5147 y(24)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)d(1,)h -(1995)h(\261)f(13)13 b(:)f(58)p eop +(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 25 31 25 30 bop 365 614 a Fw(\(set-current-inpu)o(t-)o(por)o(t!)37 b Fz(port)p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(unde\256ned)580 @@ -3059,7 +3058,7 @@ b(\(fdes->inport)38 b(0\)\))756 4644 y(\(set-current-ou)o(tp)o(ut-)o(po)o 4875 a Fo(1)485 4898 y Fr(Why)16 b(not)g Fh(move->fdes)p Fr(?)25 b(Because)17 b(the)e(curr)o(ent)h(output)g(port)g(and)g(err)o(or)h(port)f (might)g(be)f(the)h(same)g(port.)365 5147 y FD(November)i(1,)h(1995)h(\261)f -(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w +(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(25)p eop %%Page: 26 32 26 31 bop 888 614 a FA(However)-6 b(,)57 b(you)51 b(ar)o(e)d(mor)o(e)i @@ -3114,7 +3113,7 @@ b(Y)-8 b(ou)21 b(may)g(safely)e(skim)j(or)e(completely)h(skip)g(this)g h(the)g(pr)o(ocess)f(envir)o(onment,)j(and)d(ar)o(e)g(r)o(efer)o(enced)e(by)j (small)681 5147 y(26)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)k(1,)h -(1995)h(\261)f(13)13 b(:)f(58)p eop +(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 27 33 27 32 bop 365 614 a FA(integers)27 b(called)f Fz(\256le)h(descriptors)p FA(.)44 b(Open)27 b(\256le)g(descriptors)f(ar)o(e)f(the)i(fundamental)f(way) @@ -3180,7 +3179,7 @@ b(It)21 b(is)g(an)f(integer)g(semaphor)o(e.)365 4699 y(If)c(it)g(is)g(zer)o b(the)e Fz(r)o(evealed)f FA(\256eld)h(r)o(e\257ects)f(whether)i(or)f(not)g (the)g(port's)g(\256le)h(descriptor)e(has)h(es-)365 4898 y(caped)j(to)h(the)g (Scheme)f(user)-6 b(.)27 b(If)17 b(the)h(Scheme)f(user)h(doesn't)g(know)h -(what)f(\256le)g(descriptor)365 5147 y FD(November)g(1,)h(1995)h(\261)f(13)14 +(what)f(\256le)g(descriptor)365 5147 y FD(November)g(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(27)p eop %%Page: 28 34 @@ -3261,7 +3260,7 @@ y(been)j(allocated)f(to)i(some)g(port.)42 b(In)25 b(this)h(case,)g(the)g b(descriptor)f(to)h(some)g(new)g(location)h(with)f Fw(dup)p FA(,)f(fr)o(eeing)g(up)h(its)g(old)g(descriptor)-6 b(.)25 b(This)681 5147 y(28)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 29 35 29 34 bop 365 614 a FA(pr)o(events)21 b(err)o(ors)g(fr)o(om)g(happening)h(in) @@ -3322,7 +3321,7 @@ Fz(except)f FA(when)i(the)f(\256le)h(descriptor)f(is)g(explicitly)h(closed.) Fw(close)p FA(,)g(two-ar)o(gument)i Fw(dup)p FA(,)f(and)g Fw(move->fdes)p FA(.)27 b(If)573 4898 y(the)i(tar)o(get)f(\256le)h(descriptor)f(of)h(one)h (of)f(these)g(r)o(outines)g(has)g(an)g(allocated)f(port,)365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(29)p eop %%Page: 30 36 @@ -3377,7 +3376,7 @@ FA(is)i(actually)f(shifted,)g(if)g(ther)o(e)g(is)g(a)g(port)h(alr)o(eady)d (using)888 4850 y Fz(tar)o(get-fd)n FA(,)k(it)g(is)g(\256rst)g(r)o(elocated)e (to)i(some)h(other)f(\256le)g(descriptor)-6 b(.)681 5147 y(30)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 31 37 31 36 bop 365 614 a Fy(3.2.6)81 b(Unix)20 b(I/O)365 828 y Fw(\(dup)42 @@ -3448,7 +3447,7 @@ y(sition)h(of)f(the)f(I/O)i(cursor)f(in)g(the)g(I/O)g(str)o(eam.)756 (immediate)f(integers)g(\()p Fg(i.e.)o Fj(,)g(r)o(epr)o(esentable)f(in)i(30)g (bits\).)365 4848 y Fw(\(tell)42 b Fz(fd/port)p Fw(\))85 b Fs(\000)-14 b(!)87 b Fz(integer)1414 b FA(pr)o(ocedur)o(e)365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(31)p eop %%Page: 32 38 @@ -3495,7 +3494,7 @@ Fw(\))86 b Fs(\000)-15 b(!)88 b Fz(integer)764 b FA(pr)o(ocedur)o(e)888 y Fw(\(pipe\))84 b Fs(\000)-14 b(!)87 b Fz([rport)20 b(wport])1474 b FA(pr)o(ocedur)o(e)681 5147 y(32)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 33 39 33 38 bop 573 614 a FA(Returns)21 b(two)h(ports,)e(the)h(r)o(ead)e(and)i @@ -3567,7 +3566,7 @@ Fl(0)31 b Fs(\024)g Fz(start)h Fs(\024)f Fz(end)h Fs(\024)f Fw(\(string-length)38 b Fz(str)p Fw(\))p FA(.)d(It)23 b(r)o(eturns)g(the)h (number)f(of)g(bytes)573 4756 y(r)o(ead.)573 4898 y(A)d(r)o(equest)h(to)g(r)o (ead)e(zer)o(o)g(bytes)i(r)o(eturns)g(immediatedly)-9 b(,)20 -b(with)h(no)h(eof)e(check.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 +b(with)h(no)h(eof)e(check.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(33)p eop %%Page: 34 40 @@ -3636,7 +3635,7 @@ y(the)26 b(two.)44 b(After)25 b(the)h(system)e(call,)j(it)e(allows)g(you)f (end])p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(unde\256ned)373 b FA(pr)o(ocedur)o(e)681 5147 y(34)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 35 41 35 40 bop 573 614 a FA(This)18 b(pr)o(ocedur)o(e)e(writes)j(all)e(the)h(data) @@ -3700,7 +3699,7 @@ b Fx(>)g Fl(0)p FA(,)17 b(or)h(raises)f(an)g(err)o(or)g(exception.)573 b(Doing)21 b(non-blocking)h(i/o)e(to)g(a)f(buf)o(fer)o(ed)e(port)j(is)g(not)h (well-de\256ned,)e(and)573 4718 y(is)i(an)g(err)o(or)e(\(the)i(pr)o(oblem)f (is)h(the)g(subsequent)h(\257ush)g(operation\).)365 5147 y -FD(November)c(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +FD(November)c(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(35)p eop %%Page: 36 42 @@ -3761,7 +3760,7 @@ Fz(no)21 b(r)o(eturn)g(value)920 b FA(pr)o(ocedur)o(e)888 4750 y(This)22 b(pr)o(ocedur)o(e)c(\257ushes)k(all)f(open)g(output)g(ports)g(with) h(buf)o(fer)o(ed)c(data.)681 5147 y(36)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 -4 v 435 w FD(November)g(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +4 v 435 w FD(November)g(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 37 43 37 42 bop 365 614 a Fy(3.2.8)81 b(File)20 b(locking)365 820 @@ -3819,7 +3818,7 @@ Fw(start)e FA(value)i(is)h(an)f(of)o(fset)f(fr)o(om)h(the)g(\256le)g (descriptor)6 b('s)23 b(cur)o(-)573 4709 y(r)o(ent)d(position)i(in)f(the)g (\256le.)490 4898 y Fs(\017)41 b FA(If)20 b Fw(seek/end)p FA(,)d(the)k Fw(start)e FA(value)h(is)h(an)g(of)o(fset)f(fr)o(om)g(the)h(end)g(of)f(the)h -(\256le.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +(\256le.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(37)p eop %%Page: 38 44 @@ -3877,7 +3876,7 @@ f(which)j(manipulate)e(\256le)h Fz(names)p FA(.)27 b(These)681 4898 y(string-pr)o(ocessing)21 b(pr)o(ocedur)o(es)e(ar)o(e)g(documented)i(in) g(section)h(5.1.3.)681 5147 y(38)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 -w FD(November)c(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +w FD(November)c(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 39 45 39 44 bop 365 614 a Fw(\(create-directory)37 b Fz(fname)21 b([perms)f(override?])p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(unde\256ned)207 @@ -3935,7 +3934,7 @@ Fi(rename-file)p Fj('s)g(existence)e(check)g(and)h(the)756 o(ed)f(with)h Fi(old-fname)p Fj(.)756 4807 y(Ther)o(e)33 b(is)g(no)i(way)f (to)h(\256x)f(this)g(pr)o(oblem,)j(given)d(the)h(semantics)f(of)g(Unix)756 4898 y Fi(rename\(\))p Fj(;)20 b(at)f(least)g(it)f(is)h(highly)f(unlikely)f -(to)i(occur)f(in)h(practice.)365 5147 y FD(November)f(1,)h(1995)h(\261)f(13) +(to)i(occur)f(in)h(practice.)365 5147 y FD(November)f(1,)h(1995)h(\261)f(15) 14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(39)p eop %%Page: 40 46 @@ -3998,7 +3997,7 @@ b(.)24 b(If)17 b Fz(chase?)f FA(is)h(false,)f(then)h(the)g(pr)o(ocedur)o(e)e (ecord)p FA(,)g(de\256ned)f(to)h(have)g(the)g(following)h(str)o(uc-)888 4898 y(tur)o(e:)681 5147 y(40)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 -w FD(November)g(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +w FD(November)g(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 41 47 41 46 bop 756 614 a Fw(\(define-record)37 b(file-info)843 714 y(type)260 b(;)43 b Fs(f)p Fw(block-special,)37 b(char-special,)h(directory,) @@ -4039,7 +4038,7 @@ b Fi(file-info)36 b Fj(was)f(named)f Fi(file-attributes)k Fj(in)c(r)o b(W)-7 b(e)33 b(changed)g(the)h(name)g(to)f Fi(file-info)i Fj(for)756 4898 y(consistency)27 b(with)h(the)g(other)g(information-r)o (etrieval)e(pr)o(ocedur)o(es)f(in)i(scsh:)365 5147 y FD(November)18 -b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 +b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(41)p eop %%Page: 42 48 @@ -4090,7 +4089,7 @@ Fz(chase?)f FA(\257ag.)1071 4805 y FD(Oops:)105 b Fi(file-not-writeable?)36 b Fj(does)30 b(not)i(curr)o(ently)f(do)g(the)h(dir)o(ectory)1071 4897 y(check.)681 5147 y FA(42)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 -w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 43 49 43 48 bop 365 614 a Fw(\(file-readable?)38 b Fz(fname)p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(boolean)988 b FA(pr)o(ocedur)o(e)365 @@ -4131,7 +4130,7 @@ Fw(\(f\))k(\(string-append)37 b(dir)43 b("/")f(f\)\))g(files\))573 4621 y FA(or)21 b(cd)f(to)h(the)g(dir)o(ectory)f(befor)o(e)g(using)h(the)g (\256le)g(names:)756 4799 y Fw(\(with-cwd)39 b(dir)843 4898 y(\(for-each)h(delete-file)f(\(directory-file)o(s\)\))o(\))365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(43)p eop %%Page: 44 50 @@ -4181,7 +4180,7 @@ y(\(glob)g("\\\\{lexer,parse)o(r\\)o(\\}/)o(*.)o(c"\))1245 766 4875 a Fo(2)800 4898 y Fr(Why)17 b(bother)f(to)g(mention)g(such)h(a)g (silly)g(possibility?)24 b(Because)17 b(that)f(is)h(what)f(sh)h(does.)681 5147 y FA(44)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)h(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)h(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 45 51 45 50 bop 930 614 a Fw(;;)43 b(All)f(files)f(containing)f(the)i(string)f @@ -4230,7 +4229,7 @@ b('s)20 b(r)o(egular)f(expr)o(ession)i(package.)573 4799 y(The)g(\256les)h Fw(.)f FA(and)g Fw(..)f FA(ar)o(e)g(never)h(matched.)29 b(Other)21 b(dot)h(\256les)g(ar)o(e)e(only)i(matched)f(if)573 4898 y(the)g Fz(dot-\256les?)e FA(ar)o(gument)h(is)i Fw(#t)p FA(.)365 5147 -y FD(November)c(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)c(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(45)p eop %%Page: 46 52 @@ -4278,7 +4277,7 @@ b("/dev")h("/etc")g("/tmp")h("/usr"\))1401 4002 y(;;)g(All)h(subdirs)d(of)j Fw(\(fn\))j(\(string-suffix?)37 b(fn)43 b(extension\)\)\))1226 4799 y(\(define)e(\(true)g(.)j(x\))e(#t\))681 5147 y FA(46)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 47 53 47 52 bop 911 614 a Fw(\(file-match)39 b(".")j(#f)86 b("./\\\\.c"\))911 @@ -4335,7 +4334,7 @@ j(access)e(the)h(new)h(temp)f(\256le,)g(he)h(can)e(delete)h(it)g(and)f(r)o b(subsequent)i(open)f(of)g(this)h(\256lename)f(will)g(then)h(give)573 4799 y(you)16 b(his)g(\256le,)g(to)g(which)g(he)g(has)f(access)g(rights.)26 b(Ther)o(e)14 b(ar)o(e)g(several)h(ways)g(to)h(defeat)573 4898 -y(this)21 b(attack,)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +y(this)21 b(attack,)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(47)p eop %%Page: 48 54 @@ -4392,7 +4391,7 @@ y(\(temp-file-iterat)o(e)1420 4699 y(\()p Fx(\025)f Fw(\(f\))1507 4799 y(\(close)j(\(open-output-fil)o(e)d(f)43 b(flags)e(#o600\)\))1507 4898 y(f\)\)\)\))681 5147 y FA(48)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 49 55 49 54 bop 573 614 a FA(T)-8 b(o)21 b(r)o(ename)f(a)g(\256le)h(to)g(a)g @@ -4449,7 +4448,7 @@ y(r)o(eport)h(an)i(end)g(of)f(\256le.)28 b(This)21 b(is)g(bad.)756 4799 y(In)i(or)o(der)e(to)j(ensur)o(e)e(that)h(an)g(end-of-\256le)f(r)o (eturned)f(to)j(the)f(r)o(eader)d(is)k(legit-)756 4898 y(imate,)j(the)g(r)o (eader)e(and)h(writer)g(must)i(serialise)e(their)h(i/o.)46 -b(The)27 b(simplest)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 +b(The)27 b(simplest)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(49)p eop %%Page: 50 56 @@ -4514,7 +4513,7 @@ b(!)87 b Fz(unde\256ned)975 b FA(pr)o(ocedur)o(e)681 4855 y Fw(\(exec-path-searc)o(h)37 b Fz(fname)21 b(pathlist)p Fw(\))85 b Fs(\000)-14 b(!)87 b Fz(string)21 b(or)g Fw(#f)474 b FA(pr)o(ocedur)o(e)681 5147 y(50)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 51 57 51 56 bop 573 614 a FA(The)30 b Fw(\045exec)f FA(pr)o(ocedur)o(e)f(is)j(the)f @@ -4576,7 +4575,7 @@ g(r)o(eachable)d(thr)o(ough)j(some)g(live)f(con-)573 4442 y(tinuation\).)365 4751 y Fw(\(suspend\))84 b Fs(\000)-15 b(!)88 b Fz(unde\256ned)1459 b FA(pr)o(ocedur)o(e)573 4898 y(Suspend)20 b(the)h(curr)o(ent)f(pr)o(ocess)g (with)i(a)e(SIGST)o(OP)g(signal.)365 5147 y FD(November)e(1,)h(1995)h(\261)f -(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w +(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(51)p eop %%Page: 52 58 52 57 bop 681 766 a Fw(\(fork)41 b Fz([thunk])p Fw(\))86 b @@ -4636,7 +4635,7 @@ b(the)h(simple)888 4799 y(scsh)17 b(r)o(ule:)24 b(Scheme)16 b(ports)g(ar)o(e)e(bound)i(to)g(I/O)g(sour)o(ces)f(and)g(sinks,)j Fz(not)d FA(particular)888 4898 y(\256le)21 b(descriptors.)681 5147 y(52)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 53 59 53 58 bop 573 614 a FA(If)25 b(the)g(child)g(pr)o(ocess)g(wishes)h(to)f(r)o @@ -4692,7 +4691,7 @@ b(If)22 b(ther)o(e)f(is)i(no)g(pr)o(ocess)f(object)h(in)g(the)f(system)h(in-) 573 4799 y(dexed)i(by)h(the)g(given)g(pid,)h Fw(pid->proc)p FA('s)22 b(action)k(is)h(determined)e(by)h(the)g Fz(pr)o(obe?)573 4898 y FA(parameter)19 b(\(default)g Fw(#f)p FA(\):)365 5147 -y FD(November)f(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)f(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(53)p eop %%Page: 54 60 @@ -4759,7 +4758,7 @@ y(grammers)j(ar)o(e)g(encouraged)g(to)h(use)g(pr)o(ocess)f(objects)h(in)h(pr) o(oduction)e(code.)681 4845 y Fw(\(autoreap-policy)37 b Fz([policy])p Fw(\))85 b Fs(\000)-15 b(!)88 b Fz(old-policy)810 b FA(pr)o(ocedur)o(e)681 5147 y(54)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 55 61 55 60 bop 573 614 a FA(The)20 b(scsh)g(pr)o(ogrammer)f(can)g(choose)i(dif)o @@ -4815,7 +4814,7 @@ Fw(wait-process-grou)o(p)21 b FA(call.)365 4599 y(This)f(is)f(not)h(likely)f 4799 y(to)j Fz(stopped)e FA(pr)o(ocesses,)h(which)h(ar)o(e)e(never)h(r)o (eaped.)25 b(So)19 b(it)h(is)f(unlikely)i(that)e(this)h(will)g(be)f(a)365 4898 y(pr)o(oblem)i(for)f(most)i(pr)o(ograms.)365 5147 y FD(November)c(1,)h -(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 +(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(55)p eop %%Page: 56 62 @@ -4883,7 +4882,7 @@ FA(will)k(not)f(r)o(eturn)g(a)f(pr)o(ocess)h(that)f(has)h(been)g(pr)o b(waited.)888 4898 y(The)g(use)g(of)g Fw(wait-any)c FA(is)k(depr)o(ecated.) 681 5147 y(56)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)d(1,)h(1995)h -(\261)f(13)13 b(:)f(58)p eop +(\261)f(15)13 b(:)f(58)p eop %%Page: 57 63 57 62 bop 365 777 a Fw(\(wait-process-gro)o(up)37 b Fz(pr)o(oc/pid)18 b([\257ags])p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz([pr)o(oc)20 @@ -4939,7 +4938,7 @@ Fw(status:stop-sig)13 b FA(r)o(eturns)573 4606 y(the)i(signal)g(that)g b(,)19 b Fw(status:term-sig)13 b FA(r)o(eturns)19 b(the)573 4852 y(signal)i(that)g(terminated)f(the)h(child.)28 b(Otherwise,)21 b(this)g(function)h(r)o(eturns)e(false.)365 5147 y FD(November)e(1,)h(1995)h -(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(57)p eop %%Page: 58 64 @@ -5010,7 +5009,7 @@ b Fz(which)19 b(who)p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(\256xnum)1100 b FA(pr)o(ocedur)o(e)681 4849 y Fw(\(nice)41 b Fz([pid)20 b(delta])p Fw(\))86 b Fs(\000)-15 b(!)88 b Fz(unde\256ned)1202 b FA(pr)o(ocedur)o(e)681 5147 y(58)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 59 65 59 64 bop 573 614 a FA(These)21 b(pr)o(ocedur)o(es)d(set)j(and)f(access)h @@ -5060,7 +5059,7 @@ Fw(\))86 b Fs(\000)-15 b(!)88 b Fz(r)o(ecord)1135 b FA(pr)o(ocedur)o(e)573 4623 y Fw(\(define-record)37 b(user-info)843 4722 y(name)42 b(uid)g(gid)g(home-dir)f(shell\))573 4898 y FA(The)21 b Fz(uid/name)f FA(ar)o(gument)g(is)h(either)g(an)f(integer)h(uid)g(or)g(a)f(string)h(user)o -(-name.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +(-name.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(59)p eop %%Page: 60 66 @@ -5111,7 +5110,7 @@ b FA(is)g(r)o(eturned;)e(if)i(no)g Fz(default)p FA(,)f(then)h(an)g(err)o(or)f b(except)d(that)h(the)h Fz(default-thunk)e FA(is)h(called)g(to)g(generate)g (the)g(de-)888 4898 y(fault)c(value.)681 5147 y(60)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 -5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +5176 323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 61 67 61 66 bop 573 614 a Fw(\(argv)41 b Fz(n)q Fw(\))25 b FA(is)i(simply)g @@ -5152,7 +5151,7 @@ o(sh)37 b(-s)573 4760 y FA(is)24 b(not)g(part)e(of)h(the)h(pr)o(ogram;)f (it's)h(a)f(speci\256cation)h(for)f(the)g(machine)h(to)f(execute)573 4860 y(the)e(pr)o(ogram)f(on,)h(so)g(it)g(is)g(not)g(pr)o(operly)f(part)g(of) h(the)g(pr)o(ogram's)f(ar)o(gument)g(list.)365 5147 y FD(November)e(1,)h -(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 +(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(61)p eop %%Page: 62 68 @@ -5201,7 +5200,7 @@ i(for)g(\252universal)f(coor)o(dinated)g(time,\272)h(which)h(is)f(the)h(of)o (\256cial)681 4898 y(name)h(for)h(what)g(is)g(colloquially)h(r)o(eferr)o(ed)c (to)j(as)g(\252Gr)o(eenwich)f(Mean)g(T)-5 b(ime.\272)681 5147 y(62)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 63 69 63 68 bop 492 614 a FA(P)t Fr(O)t(S)t(I)t(X)28 b FA(allows)d(a)g(single)g @@ -5258,7 +5257,7 @@ g(dual)365 4561 y(standar)o(d/summer)34 b(time-zones)h(\(e.g.,)h (note:)25 b(The)18 b(scsh)i(authors)f(live)g(in)f(a)h(Newtonian)h(universe.) 28 b(W)-6 b(e)19 b(disclaim)h(r)o(e-)365 4898 y(sponsibility)e(for)f (calculations)i(performed)d(in)g(non-ANSI)h(standar)o(d)f(light-cones.)365 -5147 y FD(November)i(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)i(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(63)p eop %%Page: 64 70 @@ -5323,7 +5322,7 @@ b(Sub-second)27 b(r)o(esolution)h(is)888 4898 y(not)21 b(pr)o(ovided)e(by)k (P)t Fr(O)t(S)t(I)t(X)r FA(,)e(but)g(is)f(available)f(on)i(many)g(systems.)28 b(The)20 b(time)h(is)f(r)o(e-)681 5147 y(64)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 65 71 65 70 bop 573 614 a FA(turned)26 b(as)g(elapsed)f(seconds)i(since)f(the)g @@ -5383,7 +5382,7 @@ Fw(:)p Fq(mm)e Fw(:)p Fq(ss)29 b FA(portion)18 b(is)f(deleted)573 b Fs(\000)-14 b(!)87 b Fz(integer)1685 b FA(pr)o(ocedur)o(e)365 4846 y Fw(\(time)42 b Fz([date])p Fw(\))85 b Fs(\000)-14 b(!)87 b Fz(integer)1448 b FA(pr)o(ocedur)o(e)365 5147 y FD(November)18 -b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 +b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(65)p eop %%Page: 66 72 @@ -5449,7 +5448,7 @@ b(but)c(the)g Fw(year)e FA(and)1071 4898 y Fw(year-day)17 b FA(\256elds)k(ar)o(e)f(set,)g(then)h Fw(month)e FA(and)h Fw(month-day)d FA(ar)o(e)j(calculated.)681 5147 y(66)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 67 73 67 72 bop 365 1129 2865 4 v 365 4301 4 3173 v 443 1274 a Fw(~~)99 b FA(Converted)20 b(to)i(the)e Fw(~)h FA(character)-6 b(.)443 @@ -5483,7 +5482,7 @@ FA(1990\))443 3989 y Fw(~Z)99 b FA(time)21 b(zone)g(name)g(or)f(abbr)o (eviation,)g(or)h(no)g(characters)e(if)i(no)g(time)g(zone)g(is)630 4089 y(determinable)958 4278 y(Figur)o(e)g(3.1:)26 b Fw(format-date)16 b FA(conversion)22 b(speci\256ers)p 3226 4301 V 365 4304 2865 -4 v 365 5147 a FD(November)c(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +4 v 365 5147 a FD(November)c(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(67)p eop %%Page: 68 74 @@ -5541,7 +5540,7 @@ b FA(pr)o(ocedur)o(e)888 4347 y(The)21 b Fw(env->alist)c FA(pr)o(ocedur)o(e)i 4699 y(\("SHELL")d(.)j("/bin/csh"\))1115 4799 y(\("EDITOR")c(.)44 b("emacs"\))1115 4898 y Fx(:)14 b(:)g(:)f Fw(\))681 5147 y FA(68)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 69 75 69 74 bop 365 614 a Fw(\(alist->env)39 b Fz(alist)p Fw(\))87 @@ -5594,7 +5593,7 @@ b Fz(env-alist-delta)20 b(.)g(body)p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(value\(s\))20 b(of)h(body)607 b FA(syntax)365 4847 y Fw(\(with-total-env)38 b Fz(env-alist)20 b(.)h(body)p Fw(\))86 b Fs(\000)-15 b(!)88 b Fz(value\(s\))20 b(of)g(body)535 b FA(syntax)365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(69)p eop %%Page: 70 76 @@ -5650,7 +5649,7 @@ Fz(elt)i FA(to)g(the)f(list)h(immediately)g(befor)o(e)e(the)i(\256rst)g b(If)19 b Fz(befor)o(e)h FA(is)f(not)h(in)g(the)g(list,)f Fz(elt)h FA(is)f(added)f(to)i(the)f(end)g(of)g(the)h(list.)681 5147 y(70)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 71 77 71 76 bop 573 614 a Fw(add-after)17 b FA(is)22 b(similar:)28 @@ -5706,7 +5705,7 @@ y(consult)c(one)f(of)g(the)g(standar)o(d)e(Unix)i(texts.)365 (complex,)j(ugly)-9 b(,)29 b(and)f(low-level.)49 b(Unix)365 4898 y(variants)26 b(each)f(pr)o(ovide)g(their)h(own)h(way)f(of)g(contr)o (olling)h(terminal)f(devices,)h(making)365 5147 y FD(November)18 -b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 +b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(71)p eop %%Page: 72 78 @@ -5757,7 +5756,7 @@ b(tty-info)976 4002 y(control-chars)81 b(;)43 b(String:)e(Magic)h(input)f 4699 y(min)521 b(;)43 b(Int:)f(Raw-mode)f(input)g(policy)976 4799 y(time\))433 b(;)43 b(Int:)f(Raw-mode)f(input)g(policy)681 5147 y FA(72)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 73 79 73 78 bop 365 614 a Fy(The)21 b(control-characters)d(string)365 @@ -5807,7 +5806,7 @@ Fr(O)t(S)t(I)t(X)r FA(:)1417 4279 y(0)100 b(134)139 b(600)h(4800)1376 1339 4578 y(1)-5 b(10)99 b(300)f(2400)f(38400)365 4799 y(Y)-8 b(our)27 b(OS)g(may)f(accept)f(others;)k(it)e(may)f(also)g(allow)h(the)f (special)g(symbols)i Fw('exta)c FA(and)365 4898 y Fw('extb)p -FA(.)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +FA(.)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(73)p eop %%Page: 74 80 @@ -5876,7 +5875,7 @@ Fr(Why?)j(Because)18 b(the)e(length)g(of)h(the)f(string)h(varies)h(fr)o(om)f (ovided)f(by)g(most)h(Unixes,)f(but)g(not)g(part)h(of)g(the)g(P)t Fn(O)t(S)t(I)t(X)f Fr(spec.)681 5147 y FA(74)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)i(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)i(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 75 81 75 80 bop 689 535 2425 4 v 689 634 4 100 v 742 604 a FA(Pr)o(ocedur)o(e)507 @@ -5931,7 +5930,7 @@ b FA(pr)o(ocedur)o(es)14 b(transmit)i(the)g(special)g(ST)o(OP)f(and)g(ST)-6 b(AR)m(T)15 b(char)o(-)573 4751 y(acters)i(to)h(the)g(terminal)g(with)g(the)g (intention)i(of)d(stopping)i(and)e(starting)h(terminal)573 4850 y(input)j(\257ow)-8 b(.)365 5147 y FD(November)18 b(1,)h(1995)h(\261)f -(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w +(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(75)p eop %%Page: 76 82 76 81 bop 681 614 a Fy(3.12.5)80 b(Control)21 b(terminals,)d(sessions,)h(and) @@ -5998,7 +5997,7 @@ b Fs(\000)-14 b(!)87 b Fz(integer)847 b FA(pr)o(ocedur)o(e)681 b(pgrp)p Fw(\))86 b Fs(\000)-14 b(!)87 b Fz(unde\256ned)400 b FA(pr)o(ocedur)o(e)681 5147 y(76)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 77 83 77 82 bop 573 614 a FA(This)22 b(pair)g(of)f(pr)o(ocedur)o(es)g(gets)h(and)f @@ -6051,7 +6050,7 @@ o(eal)f(idea)h(if)f(it)h(generalises)f(acr)o(oss)f(the)j(Unix)f(gap.)28 b(Experts)19 b(ar)o(e)756 4807 y(invited)i(to)h(advise.)34 b(Users)20 b(feel)h(fr)o(ee)g(to)h(not)g(worry\320the)f(pr)o(edominance)g(of) 756 4898 y(curr)o(ent)d(popular)g(Unix)g(systems)g(use)g(Berkeley)e(ptys.)365 -5147 y FD(November)i(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)i(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(77)p eop %%Page: 78 84 @@ -6075,7 +6074,7 @@ b(one\))1071 1972 y Fw(\(pg\))g Fl(=)-14 b Fs(\))87 b Fw(#f)1071 2071 y(\(pg\))42 b Fl(=)-14 b Fs(\))87 b Fw(#f)1420 2158 y(.)1420 2191 y(.)1420 2225 y(.)681 5147 y FA(78)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 -4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 79 85 79 84 bop 768 1501 2060 4 v 768 1601 4 100 v 821 1571 a FA(Scsh)938 @@ -6108,7 +6107,7 @@ b(into)h(the)f Fw(tty-info)d FA(r)o(ecor)o(d's)i Fz(contr)o(ol-chars)g FA(string,)i(and)f(the)g(char)o(-)365 3892 y(acter)g(traditionally)g(found)h (at)f(each)g(index.)36 b(Only)24 b(the)g(indices)f(for)h(the)h(P)t Fr(O)t(S)t(I)t(X)i FA(entries)365 3991 y(ar)o(e)20 b(guaranteed)f(to)i(be)g -(non-)p Fw(#f)p FA(.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +(non-)p Fw(#f)p FA(.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(79)p eop %%Page: 80 86 @@ -6152,7 +6151,7 @@ FA(\256eld.)55 b(These)30 b(\257ags)h(generally)f(contr)o(ol)g(the)h(pr)o Fr(O)t(S)t(I)t(X)i FA(entries)20 b(ar)o(e)g(guaranteed)f(to)i(be)g(non-)p Fw(#f)p FA(.)681 5147 y(80)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w -FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 81 87 81 86 bop 495 1741 2605 4 v 495 1840 4 100 v 548 1810 a FA(Scsh)982 b(C)339 b(Meaning)p 3096 1840 V 495 1843 2605 4 v 495 1860 @@ -6185,7 +6184,7 @@ h Fw(tty-info)c FA(r)o(ecor)o(d's)365 3652 y Fz(output-\257ags)e FA(\256eld.)33 b(These)22 b(\257ags)h(generally)f(contr)o(ol)h(the)g(pr)o (ocessing)g(of)f(output)h(chars.)365 3752 y(Only)f(the)h(P)t Fr(O)t(S)t(I)t(X)h FA(entries)d(ar)o(e)e(guaranteed)h(to)h(be)f(non-)p -Fw(#f)p FA(.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 +Fw(#f)p FA(.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(81)p eop %%Page: 82 88 @@ -6230,7 +6229,7 @@ y(special)j(characters.)27 b(They)21 b(ar)o(e)e(non-)r(P)t Fr(O)t(S)t(I)t(X)r FA(,)k(and)e(have)f(non-)p Fw(#f)h FA(values)f(only)i(on)g (SVR4)681 4124 y(systems.)681 5147 y(82)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 -4 v 435 w FD(November)c(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +4 v 435 w FD(November)c(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 83 89 83 88 bop 409 1611 2777 4 v 409 1711 4 100 v 462 1681 a FA(Scsh)982 @@ -6269,7 +6268,7 @@ b(able)26 b(3.5:)36 b(Contr)o(ol-\257ags.)42 b(These)26 b(ar)o(e)e(the)i (generally)g(contr)o(ol)h(the)f(details)g(of)g(the)g(terminal's)h(se-)365 3882 y(rial)e(line.)27 b(Only)22 b(the)h(P)t Fr(O)t(S)t(I)t(X)h FA(entries)d(ar)o(e)e(guaranteed)h(to)h(be)f(non-)p Fw(#f)p -FA(.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +FA(.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(83)p eop %%Page: 84 90 @@ -6320,7 +6319,7 @@ b FA(\256eld.)26 b(These)17 b(\257ags)h(generally)f(contr)o(ol)g(the)g b(Only)c(the)h(P)t Fr(O)t(S)t(I)t(X)h FA(entries)d(ar)o(e)e(guaranteed)g(to)j (be)e(non-)p Fw(#f)p FA(.)681 5147 y(84)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 -4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 85 91 85 90 bop 365 1275 a Fv(Chapter)45 b(4)365 1727 y FB(Networking)365 @@ -6362,7 +6361,7 @@ b Fz(socket-type)83 b FA(is)h(speci\256ed)g(as)h(either)573 4799 y Fw(socket-type/stre)o(am)44 b FA(or)51 b Fw(socket-type/dat)o(agr)o (am)o FA(.)111 b(See)50 b Fw(socket)e FA(for)i(a)573 4898 y(mor)o(e)20 b(complete)h(description)g(of)g(these)g(terms.)365 5147 y FD(November)d(1,)h -(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 +(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(85)p eop %%Page: 86 92 @@ -6422,7 +6421,7 @@ o(int)o(er)o(ne)o(t)888 4699 y FA(The)g Fz(type)f FA(speci\256es)h(the)f b(available)e(depending)i(on)g(your)g(system.)28 b(T)-7 b(ypical)20 b(values)h(ar)o(e:)681 5147 y(86)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 -w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 87 93 87 92 bop 756 614 a Fw(socket-type/str)o(ea)o(m)756 714 y(socket-type/dat)o (ag)o(ram)756 814 y(socket-type/raw)573 1007 y FA(The)19 b @@ -6470,7 +6469,7 @@ y(family\))1348 b(;)43 b(address)e(family)490 4515 y FA(The)21 b Fw(family)d FA(is)j(one)g(of)g(the)g(following)h(constants:)573 4699 y Fw(address-family/u)o(ns)o(pec)o(if)o(ied)573 4799 y(address-family/u) o(ni)o(x)573 4898 y(address-family/i)o(nt)o(ern)o(et)365 5147 -y FD(November)c(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)c(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(87)p eop %%Page: 88 94 @@ -6530,7 +6529,7 @@ b(utorial.\272)49 b(\(r)o(eprinted)24 b(in)i(UNIX)g(Pr)o(o-)888 4819 y(grammer)5 b('s)17 b(Supplementary)f(Documents)h(V)-7 b(olume)16 b(1,)g(PS1:8\))681 5147 y FA(88)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)i(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)i(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 89 95 89 94 bop 365 614 a FA(BSD.)28 b(In)g(the)g(absence)g(of)g(these,)h(your)g @@ -6593,7 +6592,7 @@ FA(r)o(ecor)o(d)e(associated)573 4799 y(with)35 b Fz(socket)p FA(.)68 b Fw(socket-remote-add)o(re)o(ss)28 b FA(r)o(eturns)34 b(the)h(r)o(emote)f Fz(socket-addr)o(ess)573 4898 y FA(r)o(ecor)o(d)19 b(associated)h(with)i Fz(socket)o FA(.)365 5147 y FD(November)c(1,)h(1995)h -(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(89)p eop %%Page: 90 96 @@ -6645,7 +6644,7 @@ y(message/dont-rou)o(te)888 4746 y FA(See)15 b Fw(read-string)c FA(and)j Fw(write-string)d FA(for)k(a)g(mor)o(e)g(detailed)f(description)i (of)f(the)888 4845 y(ar)o(guments)21 b(and)f(r)o(eturn)g(values.)681 5147 y(90)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 91 97 91 96 bop 365 614 a Fu(4.6)99 b(Socket)26 b(options)365 845 @@ -6690,7 +6689,7 @@ Fw(#f)p FA(to)f(disable)g(it)h(or)f(an)h(integer)g(number)f(of)h(seconds)g (option)h(type)e(of)g(this)i(time)f(is)f(a)g(timeout)i(option.)573 4898 y(Ther)o(e)25 b(ar)o(e)f(two)j(examples)e(of)h(this)h(option)g(type:)38 b Fw(socket/send-time)o(ou)o(t)20 b FA(and)365 5147 y FD(November)e(1,)h -(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 +(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(91)p eop %%Page: 92 98 @@ -6737,7 +6736,7 @@ b(;)44 b(Service)c(name)1158 4699 y(aliases)1348 b(;)44 b(Alternative)39 b(names)1158 4799 y(port)1480 b(;)44 b(Port)e(number)1158 4898 y(protocol\))1260 b(;)44 b(Protocol)c(name)681 5147 y FA(92)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 93 99 93 98 bop 573 614 a Fw(protocol-info)12 b FA(allows)19 b(a)f(pr)o(ogram)f(to) @@ -6749,7 +6748,7 @@ FA(.)28 b(The)21 b(value)f(r)o(eturned)g(by)h(this)h(r)o(outine)573 b(protocol-info)843 1079 y(name)1480 b(;)43 b(Protocol)d(name)843 1179 y(aliases)1348 b(;)43 b(Alternative)c(names)843 1279 y(number\))1348 b(;)43 b(Protocol)d(number\))365 5147 y FD(November)18 b(1,)h(1995)h(\261)f -(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w +(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(93)p eop %%Page: 94 100 94 99 bop 681 1265 a Fv(Chapter)44 b(5)681 1707 y FB(Strings)51 @@ -6784,7 +6783,7 @@ o(eturn)g(a)f(match)h(str)o(uctur)o(e)g(describing)g(the)g(match,)g 681 4849 y Fw(\(regexp-match?)38 b Fz(obj)p Fw(\))87 b Fs(\000)-15 b(!)88 b Fz(boolean)1135 b FA(pr)o(ocedur)o(e)681 5147 y(94)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 95 101 95 100 bop 573 614 a FA(Is)21 b(the)g(object)g(a)f(r)o(egular)g(expr)o @@ -6827,7 +6826,7 @@ e(expr)o(ession)i Fz(r)o(egexp)f FA(to)h(the)g(string)h Fz(str)f FA(starting)h(at)e(position)573 4649 y Fz(start)p FA(.)i(If)19 b(the)h(match)g(succeeds)g(it)g(r)o(eturns)f(a)h(r)o(egexp-match,)e (otherwise)j Fw(#f)p FA(.)26 b Fz(Start)573 4749 y FA(defaults)20 -b(to)h(0.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +b(to)h(0.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(95)p eop %%Page: 96 102 @@ -6883,7 +6882,7 @@ o(rd)o([-)o(ci])888 4202 y([sub]string-prefi)o(x,)o(suf)o(fi)o(x[-)o(ci)o(]?) b Fz(fname)p Fw(\))87 b Fs(\000)-14 b(!)87 b Fz(string)816 b FA(pr)o(ocedur)o(e)681 5147 y(96)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 97 103 97 102 bop 573 614 a FA(Replace)23 b(occurr)o(ences)h(of)g(envir)o(onment)g @@ -6941,7 +6940,7 @@ b(this)h(r)o(eason,)f(the)h(r)o(outines)f(in)365 4575 y(this)g(section)f(do)g (-)365 4898 y(r)o(ent)g(working)h(dir)o(ectory)-9 b(,)18 b(whose)i (\256le-name)e(is)i(dot)f(\(\252)p Fw(.)p FA(\272\).)24 b(W)-8 b(orking)21 b(backwar)o(ds)c(fr)o(om)365 5147 y FD(November)h(1,)h(1995)h -(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(97)p eop %%Page: 98 104 @@ -7006,7 +7005,7 @@ b Fl(=)-14 b Fs(\))103 b Fw("")1071 4769 y(\(file-name-as-di)o(rec)o(to)o(ry) 37 b("/"\))387 b Fl(=)-14 b Fs(\))103 b Fw("/")1071 4868 y(\(file-name-as-di) o(rec)o(to)o(ry)37 b(""\))431 b Fl(=)-14 b Fs(\))103 b Fw("/")681 5147 y FA(98)p 1952 5071 323 4 v 1952 5173 4 102 v 1215 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 99 105 99 104 bop 365 780 a Fw(\(directory-as-fil)o(e-)o(nam)o(e)37 @@ -7049,7 +7048,7 @@ b Fs(\))104 b Fw("")756 4364 y(\(file-name-dire)o(ct)o(ory)37 b(""\))517 b Fl(=)-14 b Fs(\))104 b Fw("")365 4741 y(\(file-name-nondir)o(ec) o(tor)o(y)37 b Fz(fname)p Fw(\))87 b Fs(\000)-14 b(!)87 b Fz(string)686 b FA(pr)o(ocedur)o(e)573 4898 y(Return)21 b(non-dir)o(ectory)g(component)h -(of)e(fname.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 +(of)e(fname.)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1216 w FA(99)p eop %%Page: 100 106 @@ -7093,7 +7092,7 @@ b("main.c.old"\))165 b Fl(=)-14 b Fs(\))104 b Fw(".old")1071 4868 y(\(file-name-exten)o(sio)o(n)37 b("/usr/shivers"\))77 b Fl(=)-14 b Fs(\))104 b Fw("")681 5147 y FA(100)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 -5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 101 107 101 106 bop 756 601 a FA(W)-8 b(eir)o(d)20 b(cases:)756 701 @@ -7137,7 +7136,7 @@ b FA(pr)o(ocedur)o(e)573 4636 y(This)15 b(pr)o(ocedur)o(e)e(r)o(eplaces)h Fz(fname)p FA('s)h(extension)h(with)g Fz(ext)o FA(.)26 b(It)15 b(is)g(exactly)f(equivalent)573 4735 y(to)756 4875 y Fw(\(string-append)37 b(\(file-name-sans-e)o(xt)o(ens)o(io)o(n)h Fz(fname)p Fw(\))43 -b Fz(ext)o Fw(\))365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 +b Fz(ext)o Fw(\))365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(101)p eop %%Page: 102 108 @@ -7190,7 +7189,7 @@ b(ar)o(e)f(identical)h(to)g Fw(char->integer)8 b FA(and)14 b Fw(integer->char)9 b FA(except)k(that)h(they)888 4865 y(use)21 b(the)i(A)t Fr(S)t(C)t(I)t(I)h FA(encoding.)681 5147 y(102)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 103 109 103 108 bop 365 614 a Fu(5.3)99 b(Character)25 b(sets)365 828 @@ -7240,7 +7239,7 @@ b(This)756 4624 y(made)30 b(sense,)k(but)e(was)f(unfortunately)h(the)f(r)o 4807 y(was)20 b(not)h(backwar)o(ds-compatible)f(with)i(MIT)e(Scheme;)h(on)g (the)g(other)f(hand,)756 4898 y(the)28 b(MIT)g(Scheme)g(ar)o(gument)g(or)o (der)e(was)i(counter)o(-intuitive)g(and)g(at)h(odds)365 5147 -y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(103)p eop %%Page: 104 110 @@ -7292,7 +7291,7 @@ Fw(\))86 b Fs(\000)-15 b(!)88 b Fz(boolean)926 b FA(pr)o(ocedur)o(e)888 4197 y(These)21 b(pr)o(edicates)e(ar)o(e)g(de\256ned)i(in)g(terms)g(of)g(the) f(above)h(character)e(sets.)681 5147 y(104)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)f(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)f(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 105 111 105 110 bop 365 1266 a Fv(Chapter)45 b(6)365 1711 y FB(Reading)53 @@ -7337,7 +7336,7 @@ b(and)g(r)o(eturns)g(one)h(line)g(of)f(text;)g(on)h(eof,)f(r)o(eturns)g(the)h Fw(read-line)d FA(does)k(with)g(the)g(newline)g(or)f(EOF)573 4898 y(that)g(terminates)g(the)g(line;)h(it)f(takes)f(the)h(general)g(set)g (of)f(values)h(described)f(for)g(the)365 5147 y FD(November)h(1,)h(1995)h -(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(105)p eop %%Page: 106 112 @@ -7403,7 +7402,7 @@ b FA(pr)o(ocedur)o(e)888 4629 y(This)20 b(low-level)e(delimited)h(r)o(eader)e FA(.)888 4898 y Fy(terminator)40 b FA(A)20 b(value)h(describing)f(why)i(the)f (r)o(ead)e(was)i(terminated:)681 5147 y(106)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 107 113 107 112 bop 805 692 a FA(Character)20 b(or)g(eof-object)166 @@ -7421,7 +7420,7 @@ Fz(gobble?)f FA(parameter)f(determines)i(what)f(to)h(do)g(with)g(the)g 1505 y(will)20 b(r)o(etrieve)e(it.)27 b(In)19 b(either)g(case,)g(the)g (character)f(is)i(also)f(the)h(\256rst)f(value)g(r)o(eturned)573 1605 y(by)i(the)g(pr)o(ocedur)o(e)d(call.)365 5147 y FD(November)g(1,)h(1995) -h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(107)p eop %%Page: 108 114 @@ -7462,7 +7461,7 @@ Fy(7.1.1)81 b(Reading)19 b(records)681 4898 y Fw(\(record-reader)38 b Fz([delims)13 b(elide-delims?)g(handle-delim])p Fw(\))41 b Fs(\000)-14 b(!)44 b Fz(pr)o(ocedur)o(e)86 b FA(pr)o(ocedur)o(e)681 5147 y(108)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 109 115 109 114 bop 573 614 a FA(Returns)22 b(a)g(pr)o(ocedur)o(e)d(that)j(r)o(eads)e @@ -7516,7 +7515,7 @@ e(de\256ned)g(by)g(r)o(egular)f(expr)o(es-)573 4799 y(sions.)h(Y)-8 b(ou)19 b(can)f(parse)f(by)h(specifying)g(a)f(pattern)h(that)f Fz(separates)i FA(\256elds,)f(a)f(pattern)573 4898 y(that)k Fz(terminates)f FA(\256elds,)h(or)g(a)f(pattern)g(that)h Fz(matches)f -FA(\256elds:)365 5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 +FA(\256elds:)365 5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(109)p eop %%Page: 110 116 @@ -7580,7 +7579,7 @@ b Fz(string)p Fw(\))p FA(.)888 4799 y(The)26 b(parsers)f(r)o(eturned)g(by)h (the)g(four)f(parser)g(generators)h(implement)g(dif)o(fer)o(ent)888 4898 y(kinds)c(of)e(\256eld)h(parsing:)681 5147 y(1)-5 b(10)p 1952 5071 323 4 v 1952 5173 4 102 v 1178 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 111 117 111 116 bop 573 614 a Fw(field-splitter)36 b FA(The)20 b(r)o(egular)g(expr)o @@ -7636,7 +7635,7 @@ b(example,)756 4699 y(Unix)g Fw($PATH)e FA(lists)j(have)f(separator)f 4799 y(br)o(oken)h(up)g(into)h Fw(\("/bin")41 b(""\))p FA(,)20 b(not)i Fw(\("/bin"\))p FA(.)k(Comma-separated)20 b(lists)756 4898 y(should)h(also)g(be)f(parsed)g(this)i(way)-9 b(.)365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1183 w FA(1)-5 b(1)g(1)p eop %%Page: 112 118 @@ -7691,7 +7690,7 @@ b('s)25 b(interface)h(is)i(designed)f(to)g(make)g(it)g(useful)g(in)h(the)888 4898 y Fw(awk)20 b FA(loop)h(macr)o(o)f(\(section)h(7.2\).)26 b(The)21 b(r)o(eader)e(is)i(used)f(as)h(follows:)681 5147 y(1)-5 b(12)p 1952 5071 323 4 v 1952 5173 4 102 v 1178 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 113 119 113 118 bop 756 614 a Fw(\()p Fz(r)o(eader)43 b([port])n Fw(\))h @@ -7752,7 +7751,7 @@ y(character)h Fx(i)p FA(.)27 b(So)20 b(we)h(can)f(safely)h(begin)g(our)g Fl(+)g(1)p FA(.)490 4799 y(W)-5 b(ith)24 b(this)h(pr)o(ovision,)f(every)f (iteration)h(thr)o(ough)g(the)f(loop)h(makes)g(some)g(forwar)o(d)365 4898 y(pr)o(ogr)o(ess,)c(and)g(the)h(loop)h(is)f(guaranteed)e(to)i -(terminate.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +(terminate.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1179 w FA(1)-5 b(13)p eop %%Page: 114 120 @@ -7779,7 +7778,7 @@ Fx(\025)f Fw(\(s\))43 b(\(map)f(string->number)37 b(\(parser)k(s\)\)\)\))892 FA(Figur)o(e)21 b(7.2:)26 b(Some)21 b(examples)f(of)h Fw(field-reader)p 3542 4120 V 681 4123 2865 4 v 681 5147 a FA(1)-5 b(14)p 1952 5071 323 4 v 1952 5173 4 102 v 1178 w FC(DRAFT)p 2271 5173 -V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 115 121 115 120 bop 490 614 a FA(This)23 b(has)g(the)g(ef)o(fect)e(you)j(want)f(with) @@ -7832,7 +7831,7 @@ y(each)21 b(clause)f(whose)h(condition)h(is)g(satis\256ed)e(by)h(the)g(r)o (ecor)o(d.)490 4799 y(Her)o(e's)i(an)h(example)f(that)h(r)o(eads)e(lines)i (fr)o(om)g(port)g Fw(p)f FA(and)h(prints)g(the)g(line)g(number)365 4898 y(and)d(line)g(of)f(every)h(line)g(containing)h(the)f(string)g(\252)p -Fw(Church-Rosser)p FA(\272:)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +Fw(Church-Rosser)p FA(\272:)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1179 w FA(1)-5 b(15)p eop %%Page: 116 122 @@ -7895,7 +7894,7 @@ b(.)45 b(Unlike)27 b Fw(cond)p FA(,)f(it)h(does)f(not)i(stop)681 4898 y(after)19 b(the)i(\256rst)g(clause)g(is)g(satis\256ed;)f(it)h(checks)g (them)g(all.)681 5147 y(1)-5 b(16)p 1952 5071 323 4 v 1952 5173 4 102 v 1178 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 117 123 117 122 bop 490 614 a Fs(\017)41 b Fw(\()p Fz(test)i(body)938 @@ -7948,7 +7947,7 @@ b(:)g(:)f Fw(\))573 4301 y FA(If)22 b(no)h(other)f(clause)g(has)g(executed)f b Fz(test)f FA(is)573 4799 y(a)c(r)o(egular)o(-expr)o(ession)e(string,)18 b(then)e Fz(exp)f FA(is)h(applied)f(to)h(the)g(match)g(data)e(str)o(uctur)o (e)573 4898 y(r)o(eturned)19 b(by)i(the)g(r)o(egexp)f(match)g(r)o(outine.)365 -5147 y FD(November)e(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)e(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1179 w FA(1)-5 b(17)p eop %%Page: 118 124 @@ -7991,7 +7990,7 @@ b(the)f(standard)e(Scheme)i(READ)f(procedure.)888 4350 y(\(awk)h(\(read\))f 4898 y(\("Olin")f(\(display)g(line\))i(\(newline\)\)\))681 5147 y FA(1)-5 b(18)p 1952 5071 323 4 v 1952 5173 4 102 v 1178 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 -b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 119 125 119 124 bop 573 614 a Fw(;;;)42 b(Count)g(the)g(number)f(of)i(non-comment)c (lines)i(of)i(code)f(in)h(my)g(Scheme)e(source.)573 714 y(\(awk)h @@ -8027,7 +8026,7 @@ y(;;;)g(Sort)g(the)g(entries)f(in)i(/etc/passwd)c(by)k(login)e(name.)573 4699 y(\(let)f(\(\(read)f(\(field-reader)d(\(infix-splitter)g(":")k (7\)\)\)\))g(;)h(In)1357 4799 y(\(awk)f(\(read\))f(\(line)h(fields\))f (\(\(ans)g('\(\)\)\))1445 4898 y(\(#t)h(\(cons)f(\(cons)h(\($)h(fields)e(0\)) -i(line\))e(ans\)\)\)\)\)\))365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(13) +i(line\))e(ans\)\)\)\)\)\))365 5147 y FD(November)18 b(1,)h(1995)h(\261)f(15) 14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1179 w FA(1)-5 b(19)p eop %%Page: 120 126 @@ -8036,7 +8035,7 @@ e(stream.)888 714 y(\(awk)h(\(read-line\))d(\(line\))i(lineno)h(\(\))976 814 y(\(#t)g(\(format)f(#t)h("~d:\\t~a~\045")d(lineno)i(line\)\)\))681 5147 y FA(120)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 -b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 121 127 121 126 bop 365 1262 a Fv(Chapter)45 b(8)365 1702 y FB(Miscellaneous)51 b(routines)365 2175 y Fu(8.1)99 b(Integer)25 b(bitwise)g(ops)365 @@ -8069,7 +8068,7 @@ Fw(1\))p FA(,)20 b(and)g(so)i(on.)573 4081 y(This)e(pr)o(ocedur)o(e)f(is)h b FA(pr)o(ocedur)o(e)573 4799 y(This)23 b(r)o(uns)h(a)e(Scheme)h(48)f(r)o (ead-eval-print)e(loop,)k(r)o(eading)e(forms)h(fr)o(om)g(the)g(cur)o(-)573 4898 y(r)o(ent)d(input)h(port,)g(and)f(writing)i(their)f(values)f(to)h(the)g -(curr)o(ent)f(output)h(port.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13) +(curr)o(ent)f(output)h(port.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15) 14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(121)p eop %%Page: 122 128 @@ -8081,7 +8080,7 @@ y(your)c(shell)h(state,)e(you)h(can)g(fork)f(of)o(f)g(a)g(subshell)i(with)g (oceduralists:)1071 1130 y Fw(\(wait)42 b(\(fork)f(repl\)\))681 5147 y FA(122)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 -b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 123 129 123 128 bop 365 1266 a Fv(Chapter)45 b(9)365 1710 y FB(Running)53 b(scsh)365 2193 y FA(Scsh)23 b(is)g(curr)o(ently)f(implemented)h(on)h(top)f @@ -8128,7 +8127,7 @@ b(Since)20 b(the)h(byte)365 4799 y(codes)i(comprising)h(the)e(pr)o(ogram)g (ar)o(e)g(in)h(the)f(\256le's)h(text)g(section,)g(they)g(ar)o(e)e(not)j (traced)365 4898 y(or)f(copied)g(by)f(the)h(garbage)f(collector)-6 b(,)23 b(do)g(not)g(occupy)g(space)f(in)h(the)g(vm's)h(heap,)e(and)365 -5147 y FD(November)c(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)c(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(123)p eop %%Page: 124 130 @@ -8185,7 +8184,7 @@ b(and)i(executes)f(that)h(instead.)26 b(The)18 b(interpr)o(eter)e(is)j 4898 y(Consult)22 b(the)e(Unix)h(man)g(page)f(for)h(the)g Fw(exec)e FA(system)i(call)g(for)f(mor)o(e)g(information.)681 5147 y(124)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 125 131 125 130 bop 490 614 a FA(Scsh)29 b(allows)h(Scheme)f(pr)o(ograms)g(to)g(have) @@ -8240,7 +8239,7 @@ b(Scheme)f(48,)f(name-space)h(con\257icts)i(vanish;)f(the)f(major)h(pr)o 365 4742 1146 4 v 450 4796 a Fo(1)485 4819 y Fr(Why)16 b(a)h(block-comment)g (instead)f(of)h(an)f(end-of-line)h(delimited)e(comment?)22 b(See)16 b(the)g(section)h(on)f(meta-)365 4898 y(ar)o(gs.)365 -5147 y FD(November)i(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)i(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(125)p eop %%Page: 126 132 @@ -8295,7 +8294,7 @@ b(it)20 b(\256rst)g(parses)g(the)681 4898 y(switches,)26 b(building)f(a)f (list)g(of)h(actions)g(to)f(perform,)h(then)g(the)f(actions)h(ar)o(e)e (performed)681 5147 y(126)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 -b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 127 133 127 132 bop 365 614 a FA(serially)-9 b(.)50 b(The)28 b(switch)h(list)g(is)f (terminated)g(by)g(one)h(of)f(the)g Fz(end-option)f FA(switches.)51 @@ -8352,7 +8351,7 @@ h(the)f(curr)o(ent)g(package)g(in)h(for)o(ce)e(at)i(the)f(end)h(of)f(switch)i (to)i(be)f(exported)f(by)i(the)f(package)f(in)i(a)573 4898 y(str)o(uctur)o(e;)18 b(it)g(can)g(be)f(internal)h(to)h(the)f(package.)25 b(The)18 b(top)g(level)g(passes)g(contr)o(ol)g(to)365 5147 -y FD(November)g(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)g(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(127)p eop %%Page: 128 134 @@ -8417,7 +8416,7 @@ Fw(-ds)g FA(switch.)805 4799 y Fs(\017)41 b Fw(-dm)888 4898 y FA(As)18 b(above,)g(but)h(the)f(curr)o(ent)g(module)g(is)h(ignor)o(ed.)26 b(The)18 b(script)h(is)f(loaded)g(into)h(the)681 5147 y(128)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)f(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)f(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 129 135 129 134 bop 573 614 a Fw(config)14 b FA(package)h(\(\252do-module\272\),)g @@ -8471,7 +8470,7 @@ y(these)21 b(r)o(estrictions)g(ar)o(e)e(violated,)h(most)h(Unix)f(systems)i b(r)o(eporting,)h(but)f(either)g(fail)f(silently)-9 b(,)29 b(or)e(simply)h(incorr)o(ectly)f(implement)g(the)g(de-)365 4898 y(sir)o(ed)20 b(functionality)-9 b(.)28 b(These)21 b(ar)o(e)e(the)i -(facts)f(of)h(Unix)g(life.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 +(facts)f(of)h(Unix)g(life.)365 5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(129)p eop %%Page: 130 136 @@ -8513,7 +8512,7 @@ i(bug)f(wher)o(e)888 4799 y(you)20 b(believe)e(you)i(have)f(six)g(space)f (characters,)g(but)h(you)h(r)o(eally)e(have)g(a)h(tab)f(char)o(-)888 4898 y(acter)-6 b(,)20 b(and)g Fz(vice-versa)p FA(.)681 5147 y(130)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)e(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 131 137 131 136 bop 490 614 a Fs(\017)41 b FA(The)30 b(newline)i(character)d @@ -8566,7 +8565,7 @@ b(The)573 4699 y Fw(command-line-arg)o(s)d FA(variable)37 b(in)h(the)g(scsh)g ("passed"\))p FA(,)h(and)d(the)i Fw(\(command-line\))34 b FA(pr)o(ocedur)o(e) 39 b(r)o(e-)573 4898 y(turns)21 b(the)g(list)g Fw(\("scsh")41 b("Three")g("args")g("passed"\))p FA(.)365 5147 y FD(November)18 -b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 +b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(131)p eop %%Page: 132 138 @@ -8609,7 +8608,7 @@ o(eplace)d(the)i(Unix)g Fw(sort)f FA(utility\320sorting)j(lines)f(r)o(ead)d 4898 y(pr)o(ogram)e(invoked)i(fr)o(om)e(the)h Fw(top)e FA(pr)o(ocedur)o(e.) 681 5147 y(132)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 v 435 w FD(November)f(1,)h(1995)h -(\261)f(13)13 b(:)f(58)p eop +(\261)f(15)13 b(:)f(58)p eop %%Page: 133 139 133 138 bop 756 614 a Fw(#!/usr/local/bi)o(n/)o(scs)o(h)37 b(\\)756 714 y(-dm)42 b(-m)h(sort-toplevel)38 b(-e)43 b(top)f(-s)756 @@ -8650,7 +8649,7 @@ b(,)18 b(it)h(is)g(still)365 4101 y(useful)f(to)h(write)f(the)g(sort)h(pr)o 4799 y FA(Scsh)j(ignor)o(es)g(the)g(value)f(pr)o(oduced)f(by)i(its)g (top-level)f(computation)i(when)f(determin-)365 4898 y(ing)g(its)g(exit)f (status)h(code.)29 b(If)20 b(the)i(top-level)f(computation)h(completed)f -(with)i(no)f(err)o(ors,)365 5147 y FD(November)c(1,)h(1995)h(\261)f(13)14 +(with)i(no)f(err)o(ors,)365 5147 y FD(November)c(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(133)p eop %%Page: 134 140 @@ -8700,7 +8699,7 @@ g(non-standar)o(d)f(switches,)681 3887 y(or)f(invoke)h(the)g(virtual)f 4685 y Ft(+)2099 4715 y Fw(])g([)p Fz(end-option)f(scheme-ar)o(gs)o Fw(])681 4898 y FA(wher)o(e)681 5147 y(134)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 135 141 135 140 bop 623 601 a Fz(meta-ar)o(g:)159 b Fw(\\)43 b Fz(\256lename)623 @@ -8750,7 +8749,7 @@ g(pr)o(ocedur)o(e.)490 4150 y(Notice)f(that)f(you)i(ar)o(e)d(not)j(allowed)e (the)i(\256rst)h(contr)o(ol-)365 4898 y(L)d(character)e(\()r(A)t Fr(S)t(C)t(I)t(I)23 b FA(12\).)i(This)c(means)f(that)g(you)g(can)g(insert)g (a)f(\252)p Fw(#!)p FA(\272)f(trigger)i(line)g(into)h(a)365 -5147 y FD(November)d(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 +5147 y FD(November)d(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(135)p eop %%Page: 136 142 @@ -8801,7 +8800,7 @@ b(out,)g(so)g(small)g(pr)o(ograms)g(compile)g(to)g(much)g(smaller)g(heap)f (images.)681 4852 y Fw(\(dump-scsh)39 b Fz(fname)p Fw(\))87 b Fs(\000)-14 b(!)87 b Fz(unde\256ned)1125 b FA(pr)o(ocedur)o(e)681 5147 y(136)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 137 143 137 142 bop 573 614 a FA(This)20 b(pr)o(ocedur)o(e)e(writes)h(out)h(a)f(heap) @@ -8845,7 +8844,7 @@ y Fw(/usr/local/bin/s)o(cs)o(h)490 4332 y FA(The)30 b(Scheme)g(48)f(image)h (the)h(following)h(form:)573 4603 y Fw(#!/usr/local/lib)o(/s)o(csh)o(/s)o (csh)o(vm)37 b(\\)573 4703 y(-o)43 b(/usr/local/lib/)o(scs)o(h/)o(scs)o(hv)o (m)37 b(-i)573 4803 y Fx(:)14 b(:)g(:)57 b Fz(heap)20 b(image)g(goes)h(her)o -(e)43 b Fx(:)14 b(:)g(:)365 5147 y FD(November)k(1,)h(1995)h(\261)f(13)14 +(e)43 b Fx(:)14 b(:)g(:)365 5147 y FD(November)k(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(137)p eop %%Page: 138 144 @@ -8877,7 +8876,7 @@ b(r)o(eaders)e(and)i(r)o(ead-line)888 4799 y(Scsh)31 b(now)i(has)e(a)f b(can)e(be)h(used)888 4898 y(to)23 b(r)o(ead)f(input)h(delimited)f(by)h(a)f (newline)i(character)d(\()p Fw(read-line)p FA(\),)e(a)j(blank)h(line)681 5147 y(138)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 139 145 139 144 bop 573 614 a FA(\()p Fw(read-paragraph)p FA(\))o(,)19 @@ -8925,7 +8924,7 @@ h(virtual)e(machine.)44 b(This)26 b(pr)o(oduces)f(a)h(stan-)573 y(and)c(does)h(not)g(occupy)g(space)f(in)i(the)e(r)o(un-time)i(heap.)756 4805 y FD(Oops:)81 b Fj(The)26 b(static)g(heap)g(linker)e(was)i(not)g (documented)g(and)g(installed)f(in)756 4897 y(time)18 b(for)g(this)h(r)o -(elease.)365 5147 y FD(November)f(1,)h(1995)h(\261)f(13)14 +(elease.)365 5147 y FD(November)f(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(139)p eop %%Page: 140 146 @@ -8982,7 +8981,7 @@ Fw(begin)e FA(pr)o(ocess)i(form)g(to)g(synchr)o(onise)h(the)f(curr)o(ent)f (e,)e(and)h(tr)o(eats)g(it)h(as)f(if)h(the)f(pr)o(ocedur)o(e)f(had)h(simply)i (r)o(eturned)d Fw(#f)p FA(,)681 5147 y(140)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)j(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)j(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 141 147 141 146 bop 573 614 a Fz(i.e.)p FA(,)16 b(match)g(failur)o(e.)24 @@ -9044,7 +9043,7 @@ b Fw(file-attributes)14 b FA(pr)o(ocedur)o(e)k(is)i(now)h(named)573 4665 y Fw(file-info)p FA(.)573 4799 y(W)-8 b(e)17 b(continue)h(to)f(export)g (a)f Fw(file-attributes)11 b FA(binding)17 b(for)g(the)g(curr)o(ent)f(r)o (elease,)573 4898 y(but)21 b(it)g(will)g(go)g(away)g(in)g(futur)o(e)e(r)o -(eleases.)365 5147 y FD(November)f(1,)h(1995)h(\261)f(13)14 +(eleases.)365 5147 y FD(November)f(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(141)p eop %%Page: 142 148 @@ -9106,7 +9105,7 @@ b(The)21 b(close)h(pr)o(ocedur)o(e)e(r)o(eturns)i(a)888 4898 y(boolean)f(to)h(indicate)e(whether)h(the)g(port)g(had)f(alr)o(eady)f(been)h (closed)h(or)g(not.)681 5147 y(142)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 323 4 -v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop +v 435 w FD(November)d(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 143 149 143 148 bop 490 614 a Fs(\017)41 b FA(Better)20 b(time)h(pr)o(ecision)573 714 y(The)33 b Fw(time+ticks)d FA(pr)o(ocedur)o(e)h(now)k(r)o(eturns)e @@ -9117,13 +9116,13 @@ v 435 w FD(November)d(1,)h(1995)h(\261)f(13)13 b(:)f(58)p eop (object)h(includes)g(the)g(pr)o(ocess)f(id)h(in)g(its)g(printed)f(r)o(epr)o (esentation:)30 b(the)573 1279 y(pr)o(ocess)20 b(object)h(for)g(pr)o(ocess)f (id)h(2653)e(prints)i(as)f Fw(#{proc)41 b(2653})p FA(.)365 -5147 y FD(November)18 b(1,)h(1995)h(\261)f(13)14 b(:)e(58)p +5147 y FD(November)18 b(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(143)p eop %%Page: 144 150 144 149 bop 805 614 a FA(\277)681 5147 y(144)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)18 b(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 145 151 145 150 bop 365 1262 a Fv(Chapter)45 b(1)-6 b(1)365 1702 y @@ -9154,7 +9153,7 @@ y FA(Static)h(heaps;)h(fast)f(startup.)365 4550 y(Gnu)i(r)o(eadline)d(lib.) (with)g(S48)e(thr)o(eads)g(as)h(well)h(as)f(can)h(be)f(done)g(for)h(Unix.)32 b(The)23 b(DEC)365 4898 y(SRC)e(tech)g(r)o(eport)f(gives)h(a)f(good)h (discussion)h(of)f(the)g(issues.)365 5147 y FD(November)d(1,)h(1995)h(\261)f -(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w +(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(145)p eop %%Page: 146 152 146 151 bop 681 614 a FA(T)-8 b(esting)21 b(br)o(oken)g(symlinks\320new)i @@ -9171,7 +9170,7 @@ FA(,)g Fw(fcntl\(\))p FA(\).)k Fw(fcntl)17 b FA(is)i(ugly)-9 b(.)27 b(Better)18 b(to)h(have)f(a)g(pr)o(ocedur)o(e)681 1411 y(for)i(each)h(dif)o(fer)o(ent)d(operation.)681 5147 y(146)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)g(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)g(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 147 153 147 152 bop 365 1096 a FB(Index)365 1514 y Fw(\045read-delimited!)p @@ -9216,7 +9215,7 @@ Fw(char-set?)p FA(,)f(103)1943 4399 y Fw(char-upper-case?)o FA(,)e(104)1943 4499 y Fw(char-whitespace?)o FA(,)g(104)1943 4599 y Fw(chars->char-set)p FA(,)f(103)1943 4698 y Fw(chdir)p FA(,)k(58)1943 4798 y Fw(close)p FA(,)g(25)1943 4898 y Fw(close-after)p -FA(,)e(24)365 5147 y FD(November)i(1,)h(1995)h(\261)f(13)14 +FA(,)e(24)365 5147 y FD(November)i(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(147)p eop %%Page: 148 154 @@ -9275,7 +9274,7 @@ FA(,)e(42)2258 4599 y Fw(file-not-exists?)p FA(,)g(43)2258 4698 y Fw(file-not-readable)o(?)p FA(,)g(42)2258 4798 y Fw(file-not-writable) o(?)p FA(,)g(42)2258 4898 y Fw(file-owner)p FA(,)j(41)681 5147 y(148)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p -2271 5173 V 1952 5176 323 4 v 435 w FD(November)h(1,)h(1995)h(\261)f(13)13 +2271 5173 V 1952 5176 323 4 v 435 w FD(November)h(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 149 155 149 154 bop 365 614 a Fw(file-readable?)p FA(,)15 b(43)365 @@ -9328,7 +9327,7 @@ Fw(pid)p FA(,)k(58)1943 4297 y Fw(pid->proc)p FA(,)e(53)1943 4598 y Fw(port->list)p FA(,)g(15)1943 4698 y Fw(port->sexp-list)p FA(,)e(15)1943 4798 y Fw(port->string)p FA(,)h(15)1943 4898 y Fw(port->string-lis)o(t)p FA(,)f(15)365 5147 y FD(November)k(1,)h(1995)h -(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(149)p eop %%Page: 150 156 @@ -9388,7 +9387,7 @@ Fw(socket-address->i)o(nt)o(ern)o(et)o(-a)o(ddr)o(es)o(s)p FA(,)2590 4699 y(88)2258 4799 y Fw(socket-address->u)o(ni)o(x-a)o(dd)o(re)o (ss)p FA(,)2590 4898 y(88)681 5147 y(150)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 5173 V 1952 5176 -323 4 v 435 w FD(November)j(1,)h(1995)h(\261)f(13)13 b(:)f(58)p +323 4 v 435 w FD(November)j(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 151 157 151 156 bop 365 614 a Fw(socket-connect)p FA(,)15 b(85)365 @@ -9451,7 +9450,7 @@ o(ity)o(-c)o(har)o(s)p FA(,)2275 4500 y(80)1943 4599 y Fw(ttyin/ignore-bre)o (ak)o FA(,)g(80)1943 4699 y Fw(ttyin/ignore-cr)p FA(,)f(80)1943 4799 y Fw(ttyin/input-flow)o(-c)o(tl)o FA(,)h(80)1943 4898 y Fw(ttyin/interrupt-)o(on)o(-b)o(rea)o(k)p FA(,)f(80)365 5147 -y FD(November)k(1,)h(1995)h(\261)f(13)14 b(:)e(58)p 1636 5071 +y FD(November)k(1,)h(1995)h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(151)p eop %%Page: 152 158 @@ -9515,7 +9514,7 @@ FA(,)g(69)2258 4698 y Fw(with-errno-handle)o(r)p FA(,)d(22)2258 4798 y Fw(with-errno-handle)o(r*)o FA(,)h(22)2258 4898 y Fw (with-error-output)o(-p)o(ort)o FA(,)g(24)681 5147 y(152)p 1952 5071 323 4 v 1952 5173 4 102 v 1173 w FC(DRAFT)p 2271 -5173 V 1952 5176 323 4 v 435 w FD(November)j(1,)h(1995)h(\261)f(13)13 +5173 V 1952 5176 323 4 v 435 w FD(November)j(1,)h(1995)h(\261)f(15)13 b(:)f(58)p eop %%Page: 153 159 153 158 bop 365 614 a Fw(with-error-output)o(-p)o(ort)o(*)p @@ -9526,7 +9525,7 @@ y Fw(with-total-env)p FA(,)g(69)365 1212 y Fw(with-total-env*)p FA(,)g(69)365 1312 y Fw(with-umask)p FA(,)i(58)365 1411 y Fw(with-umask*)p FA(,)f(58)365 1511 y Fw(write-string)p FA(,)g(34)365 1611 y Fw(write-string/part)o(ia)o(l)p FA(,)f(35)365 5147 y FD(November)j(1,)h(1995) -h(\261)f(13)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 +h(\261)f(15)14 b(:)e(58)p 1636 5071 323 4 v 1636 5173 4 102 v 436 w FC(DRAFT)p 1955 5173 V 1636 5176 323 4 v 1174 w FA(153)p eop %%Trailer