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