xref: /inferno-os/doc/20020628.ms (revision 1ff17325e1e5b77e0ac131933127c676bf3b04fc)
1*1ff17325SCharles.Forsyth.TL
2*1ff17325SCharles.ForsythInferno 3rd Edition \- 28 June 2002 Update
3*1ff17325SCharles.Forsyth.br
4*1ff17325SCharles.ForsythRelease Notes
5*1ff17325SCharles.Forsyth.AI
6*1ff17325SCharles.ForsythVita Nuova
7*1ff17325SCharles.Forsythsupport@vitanuova.com
8*1ff17325SCharles.Forsyth.br
9*1ff17325SCharles.Forsyth28 June 2002
10*1ff17325SCharles.Forsyth.SP 4
11*1ff17325SCharles.Forsyth.NH 1
12*1ff17325SCharles.ForsythBase for update
13*1ff17325SCharles.Forsyth.LP
14*1ff17325SCharles.ForsythThis set of updates applies to the 18 June 2001 base.
15*1ff17325SCharles.ForsythThe installed software must therefore be that of 18 June 2001, whether installed directly,
16*1ff17325SCharles.Forsythor the result of updating the original July 2000 release with update packages to the
17*1ff17325SCharles.Forsyth18 June 2001 level.
18*1ff17325SCharles.ForsythThis set of updates can be applied, however, whether or not the previous update
19*1ff17325SCharles.Forsythof 3 October 2001 was installed; this package includes all those changes too.
20*1ff17325SCharles.Forsyth.NH 1
21*1ff17325SCharles.ForsythContents
22*1ff17325SCharles.Forsyth.LP
23*1ff17325SCharles.ForsythThis update offers the following, compared to the 3 October 2001 release.
24*1ff17325SCharles.Forsyth.LP
25*1ff17325SCharles.ForsythThe following sections provide short
26*1ff17325SCharles.Forsythsummaries of the more interesting or important changes.
27*1ff17325SCharles.ForsythThere are many more minor or cosmetic changes.
28*1ff17325SCharles.Forsyth.SH
29*1ff17325SCharles.Forsyth.I "New commands and modules"
30*1ff17325SCharles.Forsyth.IP \(bu
31*1ff17325SCharles.Forsyth.I Fc (1)
32*1ff17325SCharles.Forsythis a floating-point calculator.
33*1ff17325SCharles.Forsyth.IP \(bu
34*1ff17325SCharles.ForsythA new page
35*1ff17325SCharles.Forsyth.I man (6)
36*1ff17325SCharles.Forsythdescribes the formatting commands used in manual pages.
37*1ff17325SCharles.Forsyth.IP \(bu
38*1ff17325SCharles.ForsythSupport for system-level memory monitoring has been made available
39*1ff17325SCharles.Forsythas an optional component of
40*1ff17325SCharles.Forsyth.CW emu ,
41*1ff17325SCharles.Forsythwith the interface provided by a new driver
42*1ff17325SCharles.Forsyth.CW /emu/devmem.c .
43*1ff17325SCharles.ForsythIt is not compiled in by default,
44*1ff17325SCharles.Forsythsince it is relatively intrusive.
45*1ff17325SCharles.ForsythDetails of how to enable it will be provided with the applications that use it.
46*1ff17325SCharles.Forsyth.IP \(bu
47*1ff17325SCharles.Forsyth.I Strings (1)
48*1ff17325SCharles.Forsythextracts strings from a file.
49*1ff17325SCharles.Forsyth.IP \(bu
50*1ff17325SCharles.Forsyth.CW 9export
51*1ff17325SCharles.Forsyth(see
52*1ff17325SCharles.Forsyth.I export (4))
53*1ff17325SCharles.Forsythserves a name space to a 9P client (mainly useful for
54*1ff17325SCharles.Forsythinteracting with Third Edition Plan 9 systems at the moment).
55*1ff17325SCharles.Forsyth.IP \(bu
56*1ff17325SCharles.Forsyth.CW cdfs ,
57*1ff17325SCharles.Forsythwhich was described by
58*1ff17325SCharles.Forsyth.I dossrv (4)
59*1ff17325SCharles.Forsythbut not actually shipped is now included.
60*1ff17325SCharles.Forsyth.IP \(bu
61*1ff17325SCharles.Forsyth.CW csquery ,
62*1ff17325SCharles.Forsythdescribed in
63*1ff17325SCharles.Forsyth.I cs (8),
64*1ff17325SCharles.Forsythqueries the connection service and prints the result.
65*1ff17325SCharles.Forsyth.IP \(bu
66*1ff17325SCharles.Forsyth.CW newer ,
67*1ff17325SCharles.Forsythdescribed by
68*1ff17325SCharles.Forsyth.I ftest (1),
69*1ff17325SCharles.Forsythis a shell predicate that compares the modification times on two files.
70*1ff17325SCharles.Forsyth.IP \(bu
71*1ff17325SCharles.Forsyth.I Print (2)
72*1ff17325SCharles.Forsythis a new module that provides an interface to directly-driven printers.
73*1ff17325SCharles.Forsyth.SH
74*1ff17325SCharles.Forsyth.I "Repairs and changes"
75*1ff17325SCharles.Forsyth.IP \(bu
76*1ff17325SCharles.Forsyth.CW cp
77*1ff17325SCharles.Forsythhas been reworked extensively; amongst other things, it can now safely traverse
78*1ff17325SCharles.Forsytharbitrary name spaces without becoming confused by
79*1ff17325SCharles.Forsythcomplex mounts.
80*1ff17325SCharles.Forsyth.IP \(bu
81*1ff17325SCharles.Forsyth.I Listen (1)
82*1ff17325SCharles.Forsythand
83*1ff17325SCharles.Forsyth.CW dial
84*1ff17325SCharles.Forsythboth accept a
85*1ff17325SCharles.Forsyth.CW -A
86*1ff17325SCharles.Forsythoption to cause it to authenticate a connection.
87*1ff17325SCharles.Forsyth.IP \(bu
88*1ff17325SCharles.Forsyth.I Diff (1)
89*1ff17325SCharles.Forsythcompares binary files and also does not quit (during recursive diffs) when it finds
90*1ff17325SCharles.Forsytha file it cannot open.
91*1ff17325SCharles.Forsyth.IP \(bu
92*1ff17325SCharles.Forsyth.I Ls (1)
93*1ff17325SCharles.Forsythimplements the
94*1ff17325SCharles.Forsyth.CW -u
95*1ff17325SCharles.Forsythand
96*1ff17325SCharles.Forsyth.CW -t
97*1ff17325SCharles.Forsythsorting operations properly.
98*1ff17325SCharles.ForsythA new
99*1ff17325SCharles.Forsyth.CW -e
100*1ff17325SCharles.Forsythoption prints the time as a decimal integer (seconds since the system Epoch).
101*1ff17325SCharles.Forsyth.IP \(bu
102*1ff17325SCharles.Forsyth.I Sh
103*1ff17325SCharles.Forsythregards all of `../', `./', and `#' at the front of a command name as a request to use the name as-is.
104*1ff17325SCharles.Forsyth.IP \(bu
105*1ff17325SCharles.Forsyth.I Tail
106*1ff17325SCharles.Forsythhas been changed to avoid some boundary cases.
107*1ff17325SCharles.Forsyth.IP \(bu
108*1ff17325SCharles.Forsyth.I Touch
109*1ff17325SCharles.Forsythuses standard argument processing and returns an error exit status if it fails.
110*1ff17325SCharles.Forsyth.IP \(bu
111*1ff17325SCharles.Forsyth.I Zeros
112*1ff17325SCharles.Forsythaccepts new options
113*1ff17325SCharles.Forsyth.CW -r
114*1ff17325SCharles.Forsythto generate random bytes
115*1ff17325SCharles.Forsythand
116*1ff17325SCharles.Forsyth.CW -v
117*1ff17325SCharles.Forsythto produce blocks with a given value.
118*1ff17325SCharles.Forsyth.IP \(bu
119*1ff17325SCharles.ForsythThe network games software in
120*1ff17325SCharles.Forsyth.CW /appl/games
121*1ff17325SCharles.Forsythuses port 6660 for its signer, not the standard Inferno signer's port.
122*1ff17325SCharles.Forsyth.IP \(bu
123*1ff17325SCharles.Forsyth.I Charon :
124*1ff17325SCharles.Forsythdisguises itself as Mozilla to satisfy agent-name probes; retries fetches on error; supports multiple windows;
125*1ff17325SCharles.Forsythdetects HTML vs plain text correctly; has many Javascript fixes, including fixing a day one bug
126*1ff17325SCharles.Forsythin operator precedence (!).
127*1ff17325SCharles.ForsythIn general, it
128*1ff17325SCharles.Forsythhas undergone extensive changes,
129*1ff17325SCharles.Forsythparticularly to the cookies and Javascript implementation.
130*1ff17325SCharles.ForsythIt also insists that it be run under the window manager
131*1ff17325SCharles.Forsyth.I wm (1).
132*1ff17325SCharles.ForsythIt can be set to plumb schemes that it does not implement internally.
133*1ff17325SCharles.Forsyth.IP \(bu
134*1ff17325SCharles.ForsythThe installation software now uses the numeric time as-is to name output packages;
135*1ff17325SCharles.Forsyththe temporary fix introduced in Ocotober of converting  leading
136*1ff17325SCharles.Forsyth.CW 10
137*1ff17325SCharles.Forsythto
138*1ff17325SCharles.Forsyth.CW A
139*1ff17325SCharles.Forsythhas been removed.
140*1ff17325SCharles.Forsyth.IP \(bu
141*1ff17325SCharles.Forsyth.CW /appl/lib/dis.b
142*1ff17325SCharles.Forsythprints offsets from
143*1ff17325SCharles.Forsyth.CW MP
144*1ff17325SCharles.Forsythcorrectly (it previously printed them
145*1ff17325SCharles.Forsythas offsets from
146*1ff17325SCharles.Forsyth.CW FP ).
147*1ff17325SCharles.Forsyth.IP \(bu
148*1ff17325SCharles.Forsyth.CW /appl/lib/parseman.b
149*1ff17325SCharles.Forsythaccounts for enough extra
150*1ff17325SCharles.Forsyth.I troff
151*1ff17325SCharles.Forsythcommands to display
152*1ff17325SCharles.Forsyth.I man (6)
153*1ff17325SCharles.Forsythcorrectly.
154*1ff17325SCharles.Forsyth.IP \(bu
155*1ff17325SCharles.Forsyth.CW /appl/lib/profile.b
156*1ff17325SCharles.Forsythbinds
157*1ff17325SCharles.Forsyth.CW #P
158*1ff17325SCharles.Forsythonly if needed.
159*1ff17325SCharles.Forsyth.IP \(bu
160*1ff17325SCharles.Forsyth.CW /appl/lib/translate.b
161*1ff17325SCharles.Forsyth.I translate (2)) (
162*1ff17325SCharles.Forsythnow computes the right hash value.
163*1ff17325SCharles.Forsyth.IP \(bu
164*1ff17325SCharles.ForsythSeveral run-time checks that were missing or incomplete for array access and slicing have been added.
165*1ff17325SCharles.Forsyth.IP \(bu
166*1ff17325SCharles.Forsyth.CW lib/isrv
167*1ff17325SCharles.Forsythno longer starts a new shell.
168*1ff17325SCharles.Forsyth.IP \(bu
169*1ff17325SCharles.Forsyth.I Wm-ftree (1)
170*1ff17325SCharles.Forsythhas several new options:
171*1ff17325SCharles.Forsyth.CW -E ,
172*1ff17325SCharles.Forsyth.CW -p
173*1ff17325SCharles.Forsythand
174*1ff17325SCharles.Forsyth.CW -d .
175*1ff17325SCharles.Forsyth.IP \(bu
176*1ff17325SCharles.Forsyth.CW wm/rt
177*1ff17325SCharles.Forsythnow correctly updates stack size (if set).
178*1ff17325SCharles.Forsyth.IP \(bu
179*1ff17325SCharles.Forsyth.I Xd (1)
180*1ff17325SCharles.Forsythcorrectly implements
181*1ff17325SCharles.Forsyth.CW -r
182*1ff17325SCharles.Forsythto suppress repeated lines.
183*1ff17325SCharles.Forsyth.IP \(bu
184*1ff17325SCharles.Forsyth.I gettar (1)
185*1ff17325SCharles.Forsythdocuments the
186*1ff17325SCharles.Forsyth.B lstar
187*1ff17325SCharles.Forsythoutput format
188*1ff17325SCharles.Forsyth.IP \(bu
189*1ff17325SCharles.Forsyth.I man (6)
190*1ff17325SCharles.Forsythdescribes the manual page documentation format
191*1ff17325SCharles.Forsyth.SH
192*1ff17325SCharles.Forsyth.I "Interface changes and extensions"
193*1ff17325SCharles.Forsyth.IP \(bu
194*1ff17325SCharles.Forsyth.I Security-password (2)
195*1ff17325SCharles.Forsythprovides a new entry
196*1ff17325SCharles.Forsyth.CW setpwfile
197*1ff17325SCharles.Forsythto allow the default name
198*1ff17325SCharles.Forsyth.CW /keydb/password
199*1ff17325SCharles.Forsythto be changed.
200*1ff17325SCharles.Forsyth.IP \(bu
201*1ff17325SCharles.Forsyth.I Dossrv (4)
202*1ff17325SCharles.Forsythhas changed extensively, to support rename and long names in FAT format correctly.
203*1ff17325SCharles.ForsythIt uses a smaller number of IO buffers.
204*1ff17325SCharles.Forsyth.IP \(bu
205*1ff17325SCharles.Forsyth.I Createsignerkey (8)
206*1ff17325SCharles.Forsythhas a completely different invocation, documented in that manual page,
207*1ff17325SCharles.Forsythwith a conventional option structure replacing a rather idiosyncratic chain
208*1ff17325SCharles.Forsythof optional arguments.
209*1ff17325SCharles.ForsythThe old syntax is temporarily secretly still supported, but only
210*1ff17325SCharles.Forsythfor the benefit of any shell scripts that might so use it; if you have any,
211*1ff17325SCharles.Forsythplease change them to use the new syntax before the old usage finally vanishes in a later release.
212*1ff17325SCharles.Forsyth.IP \(bu
213*1ff17325SCharles.Forsyth.I Sum (1)
214*1ff17325SCharles.Forsythdocuments the new
215*1ff17325SCharles.Forsyth.CW sha1sum
216*1ff17325SCharles.Forsythcommand.
217*1ff17325SCharles.Forsyth.IP \(bu
218*1ff17325SCharles.Forsyth.I Bufio (2)
219*1ff17325SCharles.Forsythreturns an error if a seek fails rather than stopping the process(!).
220*1ff17325SCharles.Forsyth.IP \(bu
221*1ff17325SCharles.Forsyth.CW /lib/convcs
222*1ff17325SCharles.Forsythhas several more character sets:
223*1ff17325SCharles.Forsyth.CW koi8-r ,
224*1ff17325SCharles.Forsyth.CW windows-1250
225*1ff17325SCharles.Forsythand
226*1ff17325SCharles.Forsyth.CW windows-1252 .
227*1ff17325SCharles.Forsyth.IP \(bu
228*1ff17325SCharles.Forsyth.I Keyring-sha (2)
229*1ff17325SCharles.Forsythdocuments two new functions,
230*1ff17325SCharles.Forsyth.CW hmac_sha1
231*1ff17325SCharles.Forsythand
232*1ff17325SCharles.Forsyth.CW hmac_md5 ,
233*1ff17325SCharles.Forsythwhich are keyed versions of the corresponding secure hashing functions,
234*1ff17325SCharles.Forsythas defined by RFC2104.
235*1ff17325SCharles.ForsythThe new definitions are in
236*1ff17325SCharles.Forsyth.CW /module/keyring.m .
237*1ff17325SCharles.Forsyth.IP \(bu
238*1ff17325SCharles.Forsyth.I Keyring-getstring (2)
239*1ff17325SCharles.Forsythmakes it clear that it does not
240*1ff17325SCharles.Forsyth.I provide
241*1ff17325SCharles.Forsythdelimited I/O but rather
242*1ff17325SCharles.Forsyth.I requires
243*1ff17325SCharles.Forsythit (eg, as provided by
244*1ff17325SCharles.Forsyth.I ssl (3))
245*1ff17325SCharles.Forsythfor successful operation.
246*1ff17325SCharles.Forsyth.IP \(bu
247*1ff17325SCharles.Forsyth.I Security-ssl (2)
248*1ff17325SCharles.Forsythno longer requires
249*1ff17325SCharles.Forsyth.CW #D
250*1ff17325SCharles.Forsythto be bound into the name space (since it can only be used locally in any case).
251*1ff17325SCharles.ForsythConsequently,
252*1ff17325SCharles.Forsyth.CW bind
253*1ff17325SCharles.Forsythcalls have been removed from several modules that used SSL.
254*1ff17325SCharles.Forsyth.IP \(bu
255*1ff17325SCharles.Forsyth.CW /appl/lib/crypt/ssl3.b
256*1ff17325SCharles.Forsythhas several critical bug fixes, allowing secure connections to work correctly in Charon;
257*1ff17325SCharles.Forsythan important bug fix was also made to
258*1ff17325SCharles.Forsyth.CW /appl/lib/crypt/x509.b .
259*1ff17325SCharles.Forsyth.IP \(bu
260*1ff17325SCharles.Forsyth.I Imageremap
261*1ff17325SCharles.Forsythhas been changed to allow concurrent use.
262*1ff17325SCharles.Forsyth.IP \(bu
263*1ff17325SCharles.Forsyth.I Translate (6)
264*1ff17325SCharles.Forsythand
265*1ff17325SCharles.Forsyth.CW /appl/lib/translate.b
266*1ff17325SCharles.Forsythhave changed as required to put the locale-specific dictionaries in directory
267*1ff17325SCharles.Forsyth\f(CW/locale/\fP\fIlocale\f(CW/dict\fP;
268*1ff17325SCharles.Forsyththe directory for a chosen
269*1ff17325SCharles.Forsyth.I locale
270*1ff17325SCharles.Forsythis then normally bound onto
271*1ff17325SCharles.Forsyth.CW /locale/dict ,
272*1ff17325SCharles.Forsythwhere
273*1ff17325SCharles.Forsyth.CW translate
274*1ff17325SCharles.Forsythlooks by default.
275*1ff17325SCharles.Forsyth.IP \(bu
276*1ff17325SCharles.ForsythThe documentation for
277*1ff17325SCharles.Forsyth.I button (9)
278*1ff17325SCharles.Forsythno longer claims that
279*1ff17325SCharles.Forsyth.CW -padx
280*1ff17325SCharles.Forsythand
281*1ff17325SCharles.Forsyth.CW -pady
282*1ff17325SCharles.Forsythare supported options for that widget.
283*1ff17325SCharles.Forsyth.IP \(bu
284*1ff17325SCharles.Forsyth.CW sys.m
285*1ff17325SCharles.Forsythhas some new constants defined for use by a later Styx revision.
286*1ff17325SCharles.Forsyth.SH
287*1ff17325SCharles.Forsyth.I "Tk changes and extensions"
288*1ff17325SCharles.Forsyth.IP \(bu
289*1ff17325SCharles.ForsythThe canvas code provides extensions to Tk:
290*1ff17325SCharles.Forsyth.CW "grab set tag" ,
291*1ff17325SCharles.Forsyth.CW "grab release tag" ,
292*1ff17325SCharles.Forsythand
293*1ff17325SCharles.Forsyth.CW "grab ifunset tag" .
294*1ff17325SCharles.ForsythSee
295*1ff17325SCharles.Forsyth.I canvas (9)
296*1ff17325SCharles.Forsythfor details.
297*1ff17325SCharles.Forsyth.IP \(bu
298*1ff17325SCharles.ForsythAlso in canvases, object-specific hit tests have been added, rather than using a bounding box
299*1ff17325SCharles.Forsythin most cases.
300*1ff17325SCharles.Forsyth.IP \(bu
301*1ff17325SCharles.ForsythBorderwidth defaults to zero in the entry widget.
302*1ff17325SCharles.Forsyth.IP \(bu
303*1ff17325SCharles.ForsythTk multiplexes the cursor amongst top-level windows.
304*1ff17325SCharles.Forsyth.IP \(bu
305*1ff17325SCharles.ForsythText and other items selected use foreground/background colours
306*1ff17325SCharles.Forsyth.SH
307*1ff17325SCharles.Forsyth.I "Limbo compiler"
308*1ff17325SCharles.Forsyth.IP \(bu
309*1ff17325SCharles.ForsythConstant tuple and adt values can be used as values in
310*1ff17325SCharles.Forsyth.CW con
311*1ff17325SCharles.Forsythconstant declarations.
312*1ff17325SCharles.Forsyth.IP \(bu
313*1ff17325SCharles.ForsythIn an array value, the use of reference values for different
314*1ff17325SCharles.Forsyth.CW pick
315*1ff17325SCharles.Forsythalternatives of the same adt no longer draws a diagnostic
316*1ff17325SCharles.Forsythbut causes the array value to be an array of
317*1ff17325SCharles.Forsyth.CW ref
318*1ff17325SCharles.Forsythto the adt, not a particular pick alternative.
319*1ff17325SCharles.Forsyth.IP \(bu
320*1ff17325SCharles.ForsythThe C language stub declarations support
321*1ff17325SCharles.Forsyth.CW pick
322*1ff17325SCharles.Forsythadts.
323*1ff17325SCharles.Forsyth.IP \(bu
324*1ff17325SCharles.ForsythThe alignment of
325*1ff17325SCharles.Forsyth.CW big
326*1ff17325SCharles.Forsythand
327*1ff17325SCharles.Forsyth.CW real
328*1ff17325SCharles.Forsythis now correct in C stubs.
329*1ff17325SCharles.Forsyth.IP \(bu
330*1ff17325SCharles.ForsythThe string escape
331*1ff17325SCharles.Forsyth.CW \ef
332*1ff17325SCharles.Forsythis form-feed (to simplify translation of C programs).
333*1ff17325SCharles.Forsyth.SH
334*1ff17325SCharles.Forsyth.I "Compilers and utilities"
335*1ff17325SCharles.Forsyth.IP \(bu
336*1ff17325SCharles.Forsyth.I Iar 's
337*1ff17325SCharles.Forsythsource directory has been renamed from
338*1ff17325SCharles.Forsyth.CW ar
339*1ff17325SCharles.Forsythto
340*1ff17325SCharles.Forsyth.CW iar .
341*1ff17325SCharles.Forsyth.IP \(bu
342*1ff17325SCharles.Forsyth.CW mk
343*1ff17325SCharles.Forsythunderstands the long-name table in Windows' archive files, preventing
344*1ff17325SCharles.Forsythspurious out-of-date status and other confusing results in builds.
345*1ff17325SCharles.Forsyth.IP \(bu
346*1ff17325SCharles.Forsyth.CW sqz
347*1ff17325SCharles.Forsythand
348*1ff17325SCharles.Forsyth.CW zqs
349*1ff17325SCharles.Forsythcan compress larger ARM and PowerPC executables.
350*1ff17325SCharles.Forsyth.IP \(bu
351*1ff17325SCharles.Forsyth.CW kprof
352*1ff17325SCharles.Forsythuses a table now provided by
353*1ff17325SCharles.Forsyth.CW /dev/kprof
354*1ff17325SCharles.Forsythto provide profiling results to the resolution selected by a given platform.
355*1ff17325SCharles.Forsyth.SH
356*1ff17325SCharles.Forsyth.I "Hosted and Native Inferno"
357*1ff17325SCharles.Forsyth.LP
358*1ff17325SCharles.ForsythChanges common to hosted and native kernels:
359*1ff17325SCharles.Forsyth.IP \(bu
360*1ff17325SCharles.ForsythThe
361*1ff17325SCharles.Forsyth.CW HOSTMODEL
362*1ff17325SCharles.Forsythand
363*1ff17325SCharles.Forsyth.CW TARGMODEL
364*1ff17325SCharles.Forsythfor Plan 9 are now
365*1ff17325SCharles.Forsyth.CW Plan9
366*1ff17325SCharles.Forsythnot, rather confusingly,
367*1ff17325SCharles.Forsyth.CW Inferno .
368*1ff17325SCharles.ForsythA good few source files have been renamed accordingly.
369*1ff17325SCharles.Forsyth.IP \(bu
370*1ff17325SCharles.ForsythThe memory allocation functions have been modified slightly to support the addition of
371*1ff17325SCharles.Forsythmemory monitoring and profiling.
372*1ff17325SCharles.ForsythSome functions have also been added to the C library supporting
373*1ff17325SCharles.Forsyth.I emu
374*1ff17325SCharles.Forsythand the kernels,
375*1ff17325SCharles.Forsythwith an eye to starting the revision of Styx, based on the current 9P2000.
376*1ff17325SCharles.ForsythConsequently, the
377*1ff17325SCharles.Forsythinclude file
378*1ff17325SCharles.Forsyth.CW lib9.h
379*1ff17325SCharles.Forsythfor all platforms has been modified:
380*1ff17325SCharles.Forsythto add new functions such as
381*1ff17325SCharles.Forsyth.CW setmalloctag ;
382*1ff17325SCharles.Forsythto make the types of parameters to the
383*1ff17325SCharles.Forsyth.CW malloc
384*1ff17325SCharles.Forsythcalls uniform (and reflect the documentation, as it happens),
385*1ff17325SCharles.Forsythso that sizes are always unsigned;
386*1ff17325SCharles.Forsythto change the type of a parameter to
387*1ff17325SCharles.Forsyth.CW strchr
388*1ff17325SCharles.Forsythand
389*1ff17325SCharles.Forsyth.CW strrchr
390*1ff17325SCharles.Forsythfrom
391*1ff17325SCharles.Forsyth.CW char
392*1ff17325SCharles.Forsythto
393*1ff17325SCharles.Forsyth.CW int ;
394*1ff17325SCharles.Forsythto remove obsolete definitions such as
395*1ff17325SCharles.Forsyth.CW UMFILE
396*1ff17325SCharles.Forsythand
397*1ff17325SCharles.Forsyth.CW UMDIR ;
398*1ff17325SCharles.Forsythand to add new functions for use inside the kernels.
399*1ff17325SCharles.ForsythSeveral new functions are strictly for internal use
400*1ff17325SCharles.Forsyth(and thus might change in future), and
401*1ff17325SCharles.Forsyththey have not been added to section 10.
402*1ff17325SCharles.ForsythOne exception is the new function
403*1ff17325SCharles.Forsyth.CW tokenize ,
404*1ff17325SCharles.Forsythdocumented in
405*1ff17325SCharles.Forsyth.I getfields (10.2)
406*1ff17325SCharles.Forsythand used by
407*1ff17325SCharles.Forsyth.I parsecmd (10.2).
408*1ff17325SCharles.Forsyth.I Getfields
409*1ff17325SCharles.Forsythreplaces the function called
410*1ff17325SCharles.Forsyth.CW parsefields ,
411*1ff17325SCharles.Forsythwhich has been removed, and all calls to it changed to use
412*1ff17325SCharles.Forsyth.CW getfields .
413*1ff17325SCharles.ForsythThe higher aim of some of these otherwise fussy changes is
414*1ff17325SCharles.Forsythto work towards making Inferno and Plan 9 drivers interchangeable
415*1ff17325SCharles.Forsyth(as best we can).
416*1ff17325SCharles.Forsyth.IP \(bu
417*1ff17325SCharles.ForsythTo help decouple authentication methods from identity setting, two new files
418*1ff17325SCharles.Forsyth.CW caphash
419*1ff17325SCharles.Forsythand
420*1ff17325SCharles.Forsyth.CW capuse
421*1ff17325SCharles.Forsythhave been added to
422*1ff17325SCharles.Forsyth.CW #c
423*1ff17325SCharles.Forsyth(a temporary location for them), supported by code in
424*1ff17325SCharles.Forsyth.CW auth.c
425*1ff17325SCharles.Forsyth.CW /os/port/auth.c ). (
426*1ff17325SCharles.ForsythTheir use will soon replace the
427*1ff17325SCharles.Forsyth.CW setid
428*1ff17325SCharles.Forsythfunctionality of
429*1ff17325SCharles.Forsyth.I keyring-auth .
430*1ff17325SCharles.ForsythThey will not be documented until then.
431*1ff17325SCharles.Forsyth.IP \(bu
432*1ff17325SCharles.Forsyth.CW /emu/exception.c
433*1ff17325SCharles.Forsythand
434*1ff17325SCharles.Forsyth.CW /os/port/exception.c
435*1ff17325SCharles.Forsythno longer trap the use of the
436*1ff17325SCharles.Forsyth.CW exit
437*1ff17325SCharles.Forsythstatement (by accident of implementation).
438*1ff17325SCharles.Forsyth.CW \(bu
439*1ff17325SCharles.Forsyth.CW /emu/dis.c
440*1ff17325SCharles.Forsythand
441*1ff17325SCharles.Forsyth.CW /os/port/dis.c
442*1ff17325SCharles.Forsythdo not leave a process in Broken state when it
443*1ff17325SCharles.Forsythreceives an exception because a kernel memory allocation failed.
444*1ff17325SCharles.Forsyth.IP \(bu
445*1ff17325SCharles.ForsythThe JIT compilation of case statements has fixed a day one bug
446*1ff17325SCharles.Forsyththat caused a degenerate form of
447*1ff17325SCharles.Forsyth.CW case
448*1ff17325SCharles.Forsyth(with only a default arm) to be compiled incorrectly.
449*1ff17325SCharles.Forsyth.IP \(bu
450*1ff17325SCharles.ForsythThe 386 JIT will allow rescheduling, and the scheduling is finer grained on the ARM.
451*1ff17325SCharles.Forsyth.IP \(bu
452*1ff17325SCharles.ForsythARM code generation produces correct code for some list accesses that were previously wrong
453*1ff17325SCharles.Forsyth(the Dis operator HEADM)
454*1ff17325SCharles.Forsyth.IP \(bu
455*1ff17325SCharles.Forsyth.I Emu
456*1ff17325SCharles.Forsythhas the following changes specific to it:
457*1ff17325SCharles.Forsyth.RS
458*1ff17325SCharles.Forsyth.IP \-
459*1ff17325SCharles.ForsythThe mouse event queue in
460*1ff17325SCharles.Forsyth.CW devcon.c
461*1ff17325SCharles.Forsythis now a circular queue without locks as in the native kernel;
462*1ff17325SCharles.Forsyththis prevents a scheduling problem under Linux.
463*1ff17325SCharles.Forsyth.IP \-
464*1ff17325SCharles.ForsythThe
465*1ff17325SCharles.Forsyth.CW READSTR
466*1ff17325SCharles.Forsythconstant defined by the native kernels is now also defined by
467*1ff17325SCharles.Forsyth.CW emu .
468*1ff17325SCharles.Forsyth.IP \-
469*1ff17325SCharles.ForsythThe function previously called
470*1ff17325SCharles.Forsyth.CW rendezvous
471*1ff17325SCharles.Forsythis now called
472*1ff17325SCharles.Forsyth.CW erendezvous
473*1ff17325SCharles.Forsythto avoid a type clash with a library function on Plan 9
474*1ff17325SCharles.Forsyth(its `rendezvous' function takes an unsigned long as first parameter, not
475*1ff17325SCharles.Forsyth.CW void* ).
476*1ff17325SCharles.Forsyth.CW lib9.h
477*1ff17325SCharles.Forsythhas changed accordingly where required.
478*1ff17325SCharles.Forsyth.IP \-
479*1ff17325SCharles.Forsyth.CW devcon.c
480*1ff17325SCharles.Forsythacquires
481*1ff17325SCharles.Forsyth.CW caphash
482*1ff17325SCharles.Forsythand
483*1ff17325SCharles.Forsyth.CW capuse .
484*1ff17325SCharles.Forsyth.IP \-
485*1ff17325SCharles.ForsythA new file
486*1ff17325SCharles.Forsyth.CW auth.c
487*1ff17325SCharles.Forsythmust be included in every build.
488*1ff17325SCharles.Forsyth.IP \-
489*1ff17325SCharles.ForsythSeveral drivers in
490*1ff17325SCharles.Forsyth.CW emu
491*1ff17325SCharles.Forsythhave been changed to use
492*1ff17325SCharles.Forsyth.RS
493*1ff17325SCharles.Forsyth.P1
494*1ff17325SCharles.Forsyth	switch((ulong)c->qid.path ...)
495*1ff17325SCharles.Forsyth.P2
496*1ff17325SCharles.Forsyth.RE
497*1ff17325SCharles.Forsythto force 32-bit operations to be used when
498*1ff17325SCharles.Forsyth.CW path
499*1ff17325SCharles.Forsytheventually becomes 64 bits.
500*1ff17325SCharles.Forsyth.IP \-
501*1ff17325SCharles.ForsythAlso in
502*1ff17325SCharles.Forsyth.CW emu
503*1ff17325SCharles.Forsyththe function
504*1ff17325SCharles.Forsyth.CW oserrstr
505*1ff17325SCharles.Forsythnow takes a buffer length, rather than assuming
506*1ff17325SCharles.Forsyth.CW ERRLEN .
507*1ff17325SCharles.Forsyth.IP \-
508*1ff17325SCharles.ForsythObsolete code for time and directory mode conversions (!) has been removed from
509*1ff17325SCharles.Forsyth.CW os-*.c .
510*1ff17325SCharles.Forsyth.IP \-
511*1ff17325SCharles.ForsythObsolete code for `daemonize' has been removed from
512*1ff17325SCharles.Forsyth.CW os-*.c
513*1ff17325SCharles.Forsythand
514*1ff17325SCharles.Forsyth.CW lib9 .
515*1ff17325SCharles.Forsyth.RE
516*1ff17325SCharles.Forsyth.IP \(bu
517*1ff17325SCharles.ForsythFor the native kernels:
518*1ff17325SCharles.Forsyth.RS
519*1ff17325SCharles.Forsyth.IP \-
520*1ff17325SCharles.Forsyth.CW /os/port/devprof.c
521*1ff17325SCharles.Forsythhas been added but is not yet supported (it is not configured in to any kernel,
522*1ff17325SCharles.Forsythso no existing kernels are affected by its presence).
523*1ff17325SCharles.Forsyth.IP \-
524*1ff17325SCharles.Forsyth.CW /os/port/devcons.c
525*1ff17325SCharles.Forsythhas
526*1ff17325SCharles.Forsyth.CW caphash
527*1ff17325SCharles.Forsythand
528*1ff17325SCharles.Forsyth.CW capuse
529*1ff17325SCharles.Forsyth.IP \-
530*1ff17325SCharles.ForsythEvery kernel configuration file must now include
531*1ff17325SCharles.Forsyth.CW auth
532*1ff17325SCharles.Forsythin the
533*1ff17325SCharles.Forsyth.CW port
534*1ff17325SCharles.Forsythsection to include
535*1ff17325SCharles.Forsyth.CW /os/port/auth.c .
536*1ff17325SCharles.Forsyth.RE
537*1ff17325SCharles.Forsyth...#.bp
538*1ff17325SCharles.Forsyth...#.NH 1
539*1ff17325SCharles.Forsyth...#Description by source file
540*1ff17325SCharles.Forsyth...#.LP
541*1ff17325SCharles.Forsyth...#.TS
542*1ff17325SCharles.Forsyth...#lf(CW)w(2.5i) lf(R)w(4i) .
543*1ff17325SCharles.Forsyth...#/appl/charon	T{
544*1ff17325SCharles.Forsyth...#plumbs schemes that aren't built-in, if on an authorised list
545*1ff17325SCharles.Forsyth...#.br
546*1ff17325SCharles.Forsyth...#retries on error (but not POST)
547*1ff17325SCharles.Forsyth...#.br
548*1ff17325SCharles.Forsyth...#identifies itself as Mozilla to pass agent-name tests.
549*1ff17325SCharles.Forsyth...#.br
550*1ff17325SCharles.Forsyth...#bug fix: doesn't loop (exhausting memory) if a file ends with bad data.
551*1ff17325SCharles.Forsyth...#.br
552*1ff17325SCharles.Forsyth...#private version of Url
553*1ff17325SCharles.Forsyth...#.br
554*1ff17325SCharles.Forsyth...#CCI removed
555*1ff17325SCharles.Forsyth...#.br
556*1ff17325SCharles.Forsyth...#charon_code and charon_guiwm removed
557*1ff17325SCharles.Forsyth...#.br
558*1ff17325SCharles.Forsyth...#multiple windows
559*1ff17325SCharles.Forsyth...#.br
560*1ff17325SCharles.Forsyth...#detects HTML vs text correctly
561*1ff17325SCharles.Forsyth...#.br
562*1ff17325SCharles.Forsyth...#separate layout and gui display
563*1ff17325SCharles.Forsyth...#.br
564*1ff17325SCharles.Forsyth...#T}
565*1ff17325SCharles.Forsyth...#/appl/cmd/diff.b	T{
566*1ff17325SCharles.Forsyth...#compare binary files as documented
567*1ff17325SCharles.Forsyth...#.br
568*1ff17325SCharles.Forsyth...#don't quit if files can't be opened
569*1ff17325SCharles.Forsyth...#.br
570*1ff17325SCharles.Forsyth...#T}
571*1ff17325SCharles.Forsyth...#/appl/cmd/strings.b	T{
572*1ff17325SCharles.Forsyth...#new command
573*1ff17325SCharles.Forsyth...#.br
574*1ff17325SCharles.Forsyth...#T}
575*1ff17325SCharles.Forsyth...#/appl/cmd/sh	T{
576*1ff17325SCharles.Forsyth...#../ / ./ and # starting a (command) name all cause it to be treated as absolute
577*1ff17325SCharles.Forsyth...#.br
578*1ff17325SCharles.Forsyth...#T}
579*1ff17325SCharles.Forsyth...#/appl/lib/auth.b	T{
580*1ff17325SCharles.Forsyth...#allow nobody even if setid is 0 provided it appears in the algorithm list
581*1ff17325SCharles.Forsyth...#.br
582*1ff17325SCharles.Forsyth...#don't bind #D
583*1ff17325SCharles.Forsyth...#.br
584*1ff17325SCharles.Forsyth...#T}
585*1ff17325SCharles.Forsyth...#/appl/lib/createsignerkey.b	T{
586*1ff17325SCharles.Forsyth...#arguments
587*1ff17325SCharles.Forsyth...#.br
588*1ff17325SCharles.Forsyth...#don't bother with random
589*1ff17325SCharles.Forsyth...#.br
590*1ff17325SCharles.Forsyth...#error status
591*1ff17325SCharles.Forsyth...#.br
592*1ff17325SCharles.Forsyth...#T}
593*1ff17325SCharles.Forsyth...#.TE
594*1ff17325SCharles.Forsyth...#.TS
595*1ff17325SCharles.Forsyth...#lf(CW)w(2.5i) lf(R)w(4i) .
596*1ff17325SCharles.Forsyth...#/appl/lib/crypt/ssl3.b	T{
597*1ff17325SCharles.Forsyth...#delete session id on alert
598*1ff17325SCharles.Forsyth...#.br
599*1ff17325SCharles.Forsyth...#T}
600*1ff17325SCharles.Forsyth...#/appl/lib/ecmascript	T{
601*1ff17325SCharles.Forsyth...#correct precedence for operators
602*1ff17325SCharles.Forsyth...#.br
603*1ff17325SCharles.Forsyth...#delete HTML comments
604*1ff17325SCharles.Forsyth...#.br
605*1ff17325SCharles.Forsyth...#T}
606*1ff17325SCharles.Forsyth...#/appl/lib/isrv.b	T{
607*1ff17325SCharles.Forsyth...#don't start a new shell
608*1ff17325SCharles.Forsyth...#.br
609*1ff17325SCharles.Forsyth...#T}
610*1ff17325SCharles.Forsyth...#/appl/lib/login.b	T{
611*1ff17325SCharles.Forsyth...#don't bind #D
612*1ff17325SCharles.Forsyth...#.br
613*1ff17325SCharles.Forsyth...#T}
614*1ff17325SCharles.Forsyth...#/appl/lib/logind.b	T{
615*1ff17325SCharles.Forsyth...#don't bind #D
616*1ff17325SCharles.Forsyth...#.br
617*1ff17325SCharles.Forsyth...#don't load (unused) Random
618*1ff17325SCharles.Forsyth...#.br
619*1ff17325SCharles.Forsyth...#minor internal changes.
620*1ff17325SCharles.Forsyth...#.br
621*1ff17325SCharles.Forsyth...#T}
622*1ff17325SCharles.Forsyth...#/appl/lib/profile.b	T{
623*1ff17325SCharles.Forsyth...#memory profiling
624*1ff17325SCharles.Forsyth...#.br
625*1ff17325SCharles.Forsyth...#T}
626*1ff17325SCharles.Forsyth...#/appl/lib/srv.b	T{
627*1ff17325SCharles.Forsyth...#be sure to FORKFD so file descriptors don't accumulate in parent
628*1ff17325SCharles.Forsyth...#.br
629*1ff17325SCharles.Forsyth...#T}
630*1ff17325SCharles.Forsyth...#/appl/lib/ssl.b	T{
631*1ff17325SCharles.Forsyth...#don't require #D to be bound since it can only be used locally
632*1ff17325SCharles.Forsyth...#.br
633*1ff17325SCharles.Forsyth...#T}
634*1ff17325SCharles.Forsyth...#/appl/lib/usb/*	T{
635*1ff17325SCharles.Forsyth...#see TI925 release
636*1ff17325SCharles.Forsyth...#.br
637*1ff17325SCharles.Forsyth...#T}
638*1ff17325SCharles.Forsyth...#/appl/lib/wmlib.b	T{
639*1ff17325SCharles.Forsyth...#calculate correct size of file browser (eg when full screen)
640*1ff17325SCharles.Forsyth...#.br
641*1ff17325SCharles.Forsyth...#don't mess with the cursor
642*1ff17325SCharles.Forsyth...#.br
643*1ff17325SCharles.Forsyth...#T}
644*1ff17325SCharles.Forsyth...#/appl/minicharon	T{
645*1ff17325SCharles.Forsyth...#moan if no window manager
646*1ff17325SCharles.Forsyth...#.br
647*1ff17325SCharles.Forsyth...#don't trap if module not yet loaded
648*1ff17325SCharles.Forsyth...#.br
649*1ff17325SCharles.Forsyth...#T}
650*1ff17325SCharles.Forsyth...#/appl/wm/bounce.b
651*1ff17325SCharles.Forsyth...#/appl/wm/man.b
652*1ff17325SCharles.Forsyth...#/appl/wm/mand.b
653*1ff17325SCharles.Forsyth...#/appl/wm/polyhedra.b
654*1ff17325SCharles.Forsyth...#/appl/wm/wm.b	T{
655*1ff17325SCharles.Forsyth...#correct window size in full screen mode
656*1ff17325SCharles.Forsyth...#.br
657*1ff17325SCharles.Forsyth...#T}
658*1ff17325SCharles.Forsyth...#/appl/wm/reversi.b	T{
659*1ff17325SCharles.Forsyth...#use fittoscreen(0)
660*1ff17325SCharles.Forsyth...#.br
661*1ff17325SCharles.Forsyth...#T}
662*1ff17325SCharles.Forsyth...#/appl/wm/polyhedra.b	T{
663*1ff17325SCharles.Forsyth...#sys->sleep(0) to yield
664*1ff17325SCharles.Forsyth...#.br
665*1ff17325SCharles.Forsyth...#T}
666*1ff17325SCharles.Forsyth...#/man/2/security-ssl	T{
667*1ff17325SCharles.Forsyth...#bind not required
668*1ff17325SCharles.Forsyth...#.br
669*1ff17325SCharles.Forsyth...#conventions documented accurately
670*1ff17325SCharles.Forsyth...#.br
671*1ff17325SCharles.Forsyth...#T}
672*1ff17325SCharles.Forsyth...#/man/2/keyring-getstring	T{
673*1ff17325SCharles.Forsyth...#makes it clear that it doesn't PROVIDE delimited i/o, but EXPECTS it (eg, via ssl(3))
674*1ff17325SCharles.Forsyth...#.br
675*1ff17325SCharles.Forsyth...#T}
676*1ff17325SCharles.Forsyth...#.TE
677*1ff17325SCharles.Forsyth...#.TS
678*1ff17325SCharles.Forsyth...#lf(CW)w(2.5i) lf(R)w(4i) .
679*1ff17325SCharles.Forsyth...#/crypt/jacobi.c	T{
680*1ff17325SCharles.Forsyth...#add missing return statement
681*1ff17325SCharles.Forsyth...#.br
682*1ff17325SCharles.Forsyth...#T}
683*1ff17325SCharles.Forsyth...#/emu/alloc.c	T{
684*1ff17325SCharles.Forsyth...#changes for monitoring
685*1ff17325SCharles.Forsyth...#.br
686*1ff17325SCharles.Forsyth...#long for size throughout
687*1ff17325SCharles.Forsyth...#.br
688*1ff17325SCharles.Forsyth...#poolrealloc, now used by malloc
689*1ff17325SCharles.Forsyth...#.br
690*1ff17325SCharles.Forsyth...#poolmsize
691*1ff17325SCharles.Forsyth...#.br
692*1ff17325SCharles.Forsyth...#malloc and realloc tagging data with pc of allocation
693*1ff17325SCharles.Forsyth...#.br
694*1ff17325SCharles.Forsyth...#ud -> lud etc
695*1ff17325SCharles.Forsyth...#.br
696*1ff17325SCharles.Forsyth...#T}
697*1ff17325SCharles.Forsyth...#/emu/chan.c	T{
698*1ff17325SCharles.Forsyth...#space isn't frog, experimentally
699*1ff17325SCharles.Forsyth...#.br
700*1ff17325SCharles.Forsyth...#T}
701*1ff17325SCharles.Forsyth...#/emu/dat.h	T{
702*1ff17325SCharles.Forsyth...#READSTR definition
703*1ff17325SCharles.Forsyth...#.br
704*1ff17325SCharles.Forsyth...#Rept definition (will change)
705*1ff17325SCharles.Forsyth...#.br
706*1ff17325SCharles.Forsyth...#add BusyGC
707*1ff17325SCharles.Forsyth...#.br
708*1ff17325SCharles.Forsyth...#remove support for %N
709*1ff17325SCharles.Forsyth...#.br
710*1ff17325SCharles.Forsyth...#T}
711*1ff17325SCharles.Forsyth...#/emu	T{
712*1ff17325SCharles.Forsyth...#oserrstr takes buffer size (consequential changes throughout)
713*1ff17325SCharles.Forsyth...#.br
714*1ff17325SCharles.Forsyth...#no %N
715*1ff17325SCharles.Forsyth...#.br
716*1ff17325SCharles.Forsyth...#Plan 9's HOSTMODEL -> Plan9 not Inferno (!)
717*1ff17325SCharles.Forsyth...#.br
718*1ff17325SCharles.Forsyth...#msize -> hmsize in some cases
719*1ff17325SCharles.Forsyth...#.br
720*1ff17325SCharles.Forsyth...#rendezvous -> erendezvous
721*1ff17325SCharles.Forsyth...#.br
722*1ff17325SCharles.Forsyth...#T}
723*1ff17325SCharles.Forsyth...#/emu/devcon.c	T{
724*1ff17325SCharles.Forsyth...#no %N, Nconv
725*1ff17325SCharles.Forsyth...#.br
726*1ff17325SCharles.Forsyth...#remove debugging memout file
727*1ff17325SCharles.Forsyth...#.br
728*1ff17325SCharles.Forsyth...#use of (ulong)c->qid.path ...
729*1ff17325SCharles.Forsyth...#.br
730*1ff17325SCharles.Forsyth...#remove logmsg calls
731*1ff17325SCharles.Forsyth...#.br
732*1ff17325SCharles.Forsyth...#T}
733*1ff17325SCharles.Forsyth...#/emu/devprof.c	T{
734*1ff17325SCharles.Forsyth...#memory profiling
735*1ff17325SCharles.Forsyth...#.br
736*1ff17325SCharles.Forsyth...#T}
737*1ff17325SCharles.Forsyth...#/emu/devprog.c	T{
738*1ff17325SCharles.Forsyth...#msize -> hmsize because malloc and heap addresses are different
739*1ff17325SCharles.Forsyth...#.br
740*1ff17325SCharles.Forsyth...#T}
741*1ff17325SCharles.Forsyth...#/emu/dis.c	T{
742*1ff17325SCharles.Forsyth...#instrument garbage collections
743*1ff17325SCharles.Forsyth...#.br
744*1ff17325SCharles.Forsyth...#force periodic garbage collection passes when not idle (BusyGC)
745*1ff17325SCharles.Forsyth...#.br
746*1ff17325SCharles.Forsyth...#T}
747*1ff17325SCharles.Forsyth...#/emu/discall.c	T{
748*1ff17325SCharles.Forsyth...#tag QLock structures with owner
749*1ff17325SCharles.Forsyth...#.br
750*1ff17325SCharles.Forsyth...#T}
751*1ff17325SCharles.Forsyth...#/emu/fns.h	T{
752*1ff17325SCharles.Forsyth...#oserrstr definition
753*1ff17325SCharles.Forsyth...#.br
754*1ff17325SCharles.Forsyth...#obsolete gsleep defn removed
755*1ff17325SCharles.Forsyth...#.br
756*1ff17325SCharles.Forsyth...#T}
757*1ff17325SCharles.Forsyth...#/emu/main.c	T{
758*1ff17325SCharles.Forsyth...#obsolete gsleep defn removed
759*1ff17325SCharles.Forsyth...#.br
760*1ff17325SCharles.Forsyth...#T}
761*1ff17325SCharles.Forsyth...#.TE
762*1ff17325SCharles.Forsyth...#.TS
763*1ff17325SCharles.Forsyth...#lf(CW)w(2.5i) lf(R)w(4i) .
764*1ff17325SCharles.Forsyth...#/emu/os-*	T{
765*1ff17325SCharles.Forsyth...#dflag becomes simply don't enable graphics terminal (ie, save/restore tty state)
766*1ff17325SCharles.Forsyth...#.br
767*1ff17325SCharles.Forsyth...#daemonize calls removed [do it from outside]
768*1ff17325SCharles.Forsyth...#.br
769*1ff17325SCharles.Forsyth...#rendezvous -> erendezvous
770*1ff17325SCharles.Forsyth...#.br
771*1ff17325SCharles.Forsyth...#some files had obsolete timeconv and dirmodconv code, now removed
772*1ff17325SCharles.Forsyth...#.br
773*1ff17325SCharles.Forsyth...#T}
774*1ff17325SCharles.Forsyth...#/emu/proc.c	T{
775*1ff17325SCharles.Forsyth...#provisional rpt code (will change, will move)
776*1ff17325SCharles.Forsyth...#.br
777*1ff17325SCharles.Forsyth...#T}
778*1ff17325SCharles.Forsyth...#/emu/vlrt-Nt.c	T{
779*1ff17325SCharles.Forsyth...#use dat.h not local definitions
780*1ff17325SCharles.Forsyth...#.br
781*1ff17325SCharles.Forsyth...#T}
782*1ff17325SCharles.Forsyth...#/include/interp.h	T{
783*1ff17325SCharles.Forsyth...#force HEAP_ALIGN to provide extra cell in heap header for heap profiling
784*1ff17325SCharles.Forsyth...#.br
785*1ff17325SCharles.Forsyth...#new functions: heapmonitor, hmsize
786*1ff17325SCharles.Forsyth...#.br
787*1ff17325SCharles.Forsyth...#utfnlen removed  (local to interp/runt.c)
788*1ff17325SCharles.Forsyth...#.br
789*1ff17325SCharles.Forsyth...#T}
790*1ff17325SCharles.Forsyth...#/include/pool.h	T{
791*1ff17325SCharles.Forsyth...#sizes are now unsigned
792*1ff17325SCharles.Forsyth...#.br
793*1ff17325SCharles.Forsyth...#poolcompact defn, new poolmsize, poolrealloc
794*1ff17325SCharles.Forsyth...#.br
795*1ff17325SCharles.Forsyth...#T}
796*1ff17325SCharles.Forsyth...#/include/tk.h	T{
797*1ff17325SCharles.Forsyth...#extra state to control cursor
798*1ff17325SCharles.Forsyth...#.br
799*1ff17325SCharles.Forsyth...#T}
800*1ff17325SCharles.Forsyth...#/interp/comp-386.c	T{
801*1ff17325SCharles.Forsyth...#implement and enable interpreter rescheduling when JIT enabled
802*1ff17325SCharles.Forsyth...#.br
803*1ff17325SCharles.Forsyth...#T}
804*1ff17325SCharles.Forsyth...#/interp/comp-arm.c
805*1ff17325SCharles.Forsyth...#/interp/comp-thumb.c	T{
806*1ff17325SCharles.Forsyth...#change arm rescheduling check to be similar to 386
807*1ff17325SCharles.Forsyth...#.br
808*1ff17325SCharles.Forsyth...#T}
809*1ff17325SCharles.Forsyth...#/interp/gc.c	T{
810*1ff17325SCharles.Forsyth...#instrument garbage collector
811*1ff17325SCharles.Forsyth...#.br
812*1ff17325SCharles.Forsyth...#add heapmonitor hook for devmem.c
813*1ff17325SCharles.Forsyth...#.br
814*1ff17325SCharles.Forsyth...#T}
815*1ff17325SCharles.Forsyth...#/interp/heap.c	T{
816*1ff17325SCharles.Forsyth...#define heapmonitor hook (default: nil)
817*1ff17325SCharles.Forsyth...#.br
818*1ff17325SCharles.Forsyth...#call it at appropriate places
819*1ff17325SCharles.Forsyth...#.br
820*1ff17325SCharles.Forsyth...#change // to /* comment
821*1ff17325SCharles.Forsyth...#.br
822*1ff17325SCharles.Forsyth...#add hmsize to account for alloc.c changes
823*1ff17325SCharles.Forsyth...#.br
824*1ff17325SCharles.Forsyth...#T}
825*1ff17325SCharles.Forsyth...#/interp/keyring.c	T{
826*1ff17325SCharles.Forsyth...#ensure keyring i/o functions return "failure" as intended (improves diagnostic of login/logind)
827*1ff17325SCharles.Forsyth...#.br
828*1ff17325SCharles.Forsyth...#T}
829*1ff17325SCharles.Forsyth...#/interp/math.c	T{
830*1ff17325SCharles.Forsyth...#min -> minimum (to avoid clash with C macro)
831*1ff17325SCharles.Forsyth...#.br
832*1ff17325SCharles.Forsyth...#T}
833*1ff17325SCharles.Forsyth...#/interp/runt.c	T{
834*1ff17325SCharles.Forsyth...#check for nil arrays in utf functions, and negative offsets
835*1ff17325SCharles.Forsyth...#.br
836*1ff17325SCharles.Forsyth...#T}
837*1ff17325SCharles.Forsyth...#.TE
838*1ff17325SCharles.Forsyth...#.TS
839*1ff17325SCharles.Forsyth...#lf(CW)w(2.5i) lf(R)w(4i) .
840*1ff17325SCharles.Forsyth...#/interp/string.c	T{
841*1ff17325SCharles.Forsyth...#msize -> hmsize
842*1ff17325SCharles.Forsyth...#.br
843*1ff17325SCharles.Forsyth...#T}
844*1ff17325SCharles.Forsyth...#/interp/tk.c	T{
845*1ff17325SCharles.Forsyth...#cursor switching between apps
846*1ff17325SCharles.Forsyth...#.br
847*1ff17325SCharles.Forsyth...#T}
848*1ff17325SCharles.Forsyth...#/interp/validstk.c	T{
849*1ff17325SCharles.Forsyth...#msize -> hmsize
850*1ff17325SCharles.Forsyth...#.br
851*1ff17325SCharles.Forsyth...#T}
852*1ff17325SCharles.Forsyth...#/interp/xec.c	T{
853*1ff17325SCharles.Forsyth...#check that slice offset isn't negative
854*1ff17325SCharles.Forsyth...#.br
855*1ff17325SCharles.Forsyth...#T}
856*1ff17325SCharles.Forsyth...#/kern	T{
857*1ff17325SCharles.Forsyth...#new function utfecpy, added to directory and mkfile
858*1ff17325SCharles.Forsyth...#.br
859*1ff17325SCharles.Forsyth...#strchr, strrchr argument -> int not char
860*1ff17325SCharles.Forsyth...#.br
861*1ff17325SCharles.Forsyth...#T}
862*1ff17325SCharles.Forsyth...#/kfs	T{
863*1ff17325SCharles.Forsyth...#replace DEBUG by KFSDEBUG
864*1ff17325SCharles.Forsyth...#.br
865*1ff17325SCharles.Forsyth...#remove obsolete malloc definition
866*1ff17325SCharles.Forsyth...#.br
867*1ff17325SCharles.Forsyth...#ensure HFILES includes emu dat.h and fns.h
868*1ff17325SCharles.Forsyth...#.br
869*1ff17325SCharles.Forsyth...#T}
870*1ff17325SCharles.Forsyth...#/lib9/errstr-*	T{
871*1ff17325SCharles.Forsyth...#add support for buffer limit to oserrstr
872*1ff17325SCharles.Forsyth...#.br
873*1ff17325SCharles.Forsyth...#T}
874*1ff17325SCharles.Forsyth...#/lib9	T{
875*1ff17325SCharles.Forsyth...#exits argument shouldn't be const
876*1ff17325SCharles.Forsyth...#.br
877*1ff17325SCharles.Forsyth...#add utfecpy
878*1ff17325SCharles.Forsyth...#.br
879*1ff17325SCharles.Forsyth...#remove log-* and logging stuff from print.c
880*1ff17325SCharles.Forsyth...#.br
881*1ff17325SCharles.Forsyth...#remove printcol from doprint.c
882*1ff17325SCharles.Forsyth...#.br
883*1ff17325SCharles.Forsyth...#T}
884*1ff17325SCharles.Forsyth...#/man/1/gettar	T{
885*1ff17325SCharles.Forsyth...#document lstar's format
886*1ff17325SCharles.Forsyth...#.br
887*1ff17325SCharles.Forsyth...#T}
888*1ff17325SCharles.Forsyth...#/man/*	T{
889*1ff17325SCharles.Forsyth...#extraneous/incorrect cross-references corrected
890*1ff17325SCharles.Forsyth...#.br
891*1ff17325SCharles.Forsyth...#T}
892*1ff17325SCharles.Forsyth...#/usr/inferno/mkfile	T{
893*1ff17325SCharles.Forsyth...#-Inferno -> -Plan9 for several things
894*1ff17325SCharles.Forsyth...#.br
895*1ff17325SCharles.Forsyth...#(because of HOSTMODEL/TARGMODEL change)
896*1ff17325SCharles.Forsyth...#.br
897*1ff17325SCharles.Forsyth...#mkfile-Plan9-* TARGMODEL -> Plan9 not Inferno
898*1ff17325SCharles.Forsyth...#.br
899*1ff17325SCharles.Forsyth...#T}
900*1ff17325SCharles.Forsyth...#/os/ip/ip.c	T{
901*1ff17325SCharles.Forsyth...#adjust length after options stripped
902*1ff17325SCharles.Forsyth...#.br
903*1ff17325SCharles.Forsyth...#T}
904*1ff17325SCharles.Forsyth...#/os/ip/kernel.h	T{
905*1ff17325SCharles.Forsyth...#strrchr char -> int
906*1ff17325SCharles.Forsyth...#.br
907*1ff17325SCharles.Forsyth...#T}
908*1ff17325SCharles.Forsyth...#/os/port/alloc.c	T{
909*1ff17325SCharles.Forsyth...#int -> ulong in sizes
910*1ff17325SCharles.Forsyth...#.br
911*1ff17325SCharles.Forsyth...#same memory allocation conventions as /emu/alloc.c (re sizing, quanta)
912*1ff17325SCharles.Forsyth...#.br
913*1ff17325SCharles.Forsyth...#strip last aspects of audit
914*1ff17325SCharles.Forsyth...#.br
915*1ff17325SCharles.Forsyth...#other changes similar to /emu/alloc.c
916*1ff17325SCharles.Forsyth...#.br
917*1ff17325SCharles.Forsyth...#T}
918*1ff17325SCharles.Forsyth...#/appl/acme	T{
919*1ff17325SCharles.Forsyth...#raise an non-nil exception, not empty string
920*1ff17325SCharles.Forsyth...#.br
921*1ff17325SCharles.Forsyth...#T}
922*1ff17325SCharles.Forsyth...#/appl/charon	T{
923*1ff17325SCharles.Forsyth...#error when no window manager running
924*1ff17325SCharles.Forsyth...#.br
925*1ff17325SCharles.Forsyth...#cookies code being added/improved
926*1ff17325SCharles.Forsyth...#.br
927*1ff17325SCharles.Forsyth...#java script fixes/enhancements
928*1ff17325SCharles.Forsyth...#.br
929*1ff17325SCharles.Forsyth...#T}
930*1ff17325SCharles.Forsyth...#/appl/cmd/install/install.b	global is default now
931*1ff17325SCharles.Forsyth...#/appl/cmd/install/wrap.b	extra package name check
932*1ff17325SCharles.Forsyth...#/appl/cmd/sh	code tidy up
933*1ff17325SCharles.Forsyth...#/appl/ebook	ongoing changes
934*1ff17325SCharles.Forsyth...#/appl/lib/dis.b	offset from fp to mp fix
935*1ff17325SCharles.Forsyth...#/appl/lib/dividers.b	extra bind command to fix dividers issue
936*1ff17325SCharles.Forsyth...#/appl/lib/ecmascript.b	T{
937*1ff17325SCharles.Forsyth...#parsing of '/' improved (division or start of
938*1ff17325SCharles.Forsyth...#regular expression)
939*1ff17325SCharles.Forsyth...#.br
940*1ff17325SCharles.Forsyth...#T}
941*1ff17325SCharles.Forsyth...#/appl/lib/parseman.b	extra troff commands accounted for
942*1ff17325SCharles.Forsyth...#/appl/lib/profile.b	bind of #P only if needed
943*1ff17325SCharles.Forsyth...#/appl/lib/translate.b	hash code fix
944*1ff17325SCharles.Forsyth...#/appl/wm/c4.b	evaluation function improvement
945*1ff17325SCharles.Forsyth...#/appl/wm/pen.b	namechan() call moved to fix bug
946*1ff17325SCharles.Forsyth...#/appl/wm/polyhedra.b	cosmetic changes
947*1ff17325SCharles.Forsyth...#/appl/wm/readmail.b	slight code improvements
948*1ff17325SCharles.Forsyth...#/appl/wm/sendmail.b	ditto
949*1ff17325SCharles.Forsyth...#/man/1/ebook	text improvements
950*1ff17325SCharles.Forsyth...#/man/1/sh-std	ditto
951*1ff17325SCharles.Forsyth...#/man/1/sum	sha1sum added
952*1ff17325SCharles.Forsyth...#/man/2/keyring	hmac_sha1, hmac_md5 added
953*1ff17325SCharles.Forsyth...#/man/3/kprof	slight rewrite
954*1ff17325SCharles.Forsyth...#/man/4/export	9export added
955*1ff17325SCharles.Forsyth...#/man/6/translate	new BUGS section comment
956*1ff17325SCharles.Forsyth...#/man/9/button	padx, pady removed
957*1ff17325SCharles.Forsyth...#/man/9/canvas	added grab commands
958*1ff17325SCharles.Forsyth...#/module/keyring.m	added hmac routines
959*1ff17325SCharles.Forsyth...#/module/sys.m	added DM* constants for future use
960*1ff17325SCharles.Forsyth...#/emu/devcon.c	T{
961*1ff17325SCharles.Forsyth...#caphash and capuse files added for future
962*1ff17325SCharles.Forsyth...#development
963*1ff17325SCharles.Forsyth...#.br
964*1ff17325SCharles.Forsyth...#T}
965*1ff17325SCharles.Forsyth...#/emu/dis.c	added Enomem check to broken progs
966*1ff17325SCharles.Forsyth...#/emu/exception.c	added couple of extra string checks
967*1ff17325SCharles.Forsyth...#/emu/exportfs.c	T{
968*1ff17325SCharles.Forsyth...#nexterror() replaced by return to give
969*1ff17325SCharles.Forsyth...#better error recovery
970*1ff17325SCharles.Forsyth...#.br
971*1ff17325SCharles.Forsyth...#T}
972*1ff17325SCharles.Forsyth...#/emu/os-Nt.c	prints on console when ran out of kernel processes
973*1ff17325SCharles.Forsyth...#image/bezier.c	getbezsplinepts() added
974*1ff17325SCharles.Forsyth...#interp/comp-arm.c	headm bug fix, removed dodgy code
975*1ff17325SCharles.Forsyth...#interp/comp-power.c	removed dodgy code
976*1ff17325SCharles.Forsyth...#interp/comp-thumb.c	headm bug fix, removed dodgy code
977*1ff17325SCharles.Forsyth...#interp/keyring.c	T{
978*1ff17325SCharles.Forsyth...#generalization of certain keyring functions
979*1ff17325SCharles.Forsyth...#.br
980*1ff17325SCharles.Forsyth...#addition of hmac routines
981*1ff17325SCharles.Forsyth...#.br
982*1ff17325SCharles.Forsyth...#T}
983*1ff17325SCharles.Forsyth...#interp/tk.c	tkcursorcmd() removed temporarily
984*1ff17325SCharles.Forsyth...#/os/ip/devip.c	ipremove() replaced by devremove()
985*1ff17325SCharles.Forsyth...#/os/ip/ip.c	fragoff now a ulong
986*1ff17325SCharles.Forsyth...#/os/ip/tcp.c	extra safety checks
987*1ff17325SCharles.Forsyth...#/os/port/devcons.c	caphash and capuse files added
988*1ff17325SCharles.Forsyth...#/os/port/devkprof.c	general improvements
989*1ff17325SCharles.Forsyth...#/os/port/dis.c	Enomem check on broken progs
990*1ff17325SCharles.Forsyth...#/os/port/exception.c	added couple of extra string checks
991*1ff17325SCharles.Forsyth...#/os/port/exportfs.c	T{
992*1ff17325SCharles.Forsyth...#nexterror() replaced by return to give
993*1ff17325SCharles.Forsyth...#better error recovery
994*1ff17325SCharles.Forsyth...#.br
995*1ff17325SCharles.Forsyth...#check against correct file offset when reading directories
996*1ff17325SCharles.Forsyth...#.br
997*1ff17325SCharles.Forsyth...#T}
998*1ff17325SCharles.Forsyth...#/os/port/utils.c	parsefields(), stroll() removed
999*1ff17325SCharles.Forsyth...#/tk/canvs.c	T{
1000*1ff17325SCharles.Forsyth...#extensions to tk: grab set tag, grab release tag,
1001*1ff17325SCharles.Forsyth...#.br
1002*1ff17325SCharles.Forsyth...#grab ifunset tag
1003*1ff17325SCharles.Forsyth...#.br
1004*1ff17325SCharles.Forsyth...#T}
1005*1ff17325SCharles.Forsyth...#/tk/ctext.c	T{
1006*1ff17325SCharles.Forsyth...#text widget tag highlight fix
1007*1ff17325SCharles.Forsyth...#text widget tag index fix
1008*1ff17325SCharles.Forsyth...#.br
1009*1ff17325SCharles.Forsyth...#T}
1010*1ff17325SCharles.Forsyth...#/tk/entry.c	borderwidth default to 0 in entry widget
1011*1ff17325SCharles.Forsyth...#/tk/menus.c	menu button release fix (off by the borderwidth bug)
1012*1ff17325SCharles.Forsyth...#/tk/scrol.c	T{
1013*1ff17325SCharles.Forsyth...#scrollbar selection fixes (off by 1 bugs)
1014*1ff17325SCharles.Forsyth...#.br
1015*1ff17325SCharles.Forsyth...#autorepeat code added but disabled
1016*1ff17325SCharles.Forsyth...#.br
1017*1ff17325SCharles.Forsyth...#T}
1018*1ff17325SCharles.Forsyth...#/tk/utils.c	tkinsidepoly() function
1019*1ff17325SCharles.Forsyth...#/tk/xdata.c	unused globals removed
1020*1ff17325SCharles.Forsyth...#/tk/*	T{
1021*1ff17325SCharles.Forsyth...#draw methods take extra parameter
1022*1ff17325SCharles.Forsyth...#.br
1023*1ff17325SCharles.Forsyth...#hit methods added
1024*1ff17325SCharles.Forsyth...#.br
1025*1ff17325SCharles.Forsyth...#tkcfirsttag(), tkclasttag() fixes
1026*1ff17325SCharles.Forsyth...#.br
1027*1ff17325SCharles.Forsyth...#tkrunpack() argument type change
1028*1ff17325SCharles.Forsyth...#.br
1029*1ff17325SCharles.Forsyth...#T}
1030*1ff17325SCharles.Forsyth...#.TE
1031