20020715.ms 24 KB

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