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