forsyth20121205-174063a80cc13 years agoHistory
758 lines · 17.9 KB · Text
RawDownload
.TLInferno 3rd Edition \- 3 October 2001 Update.brRelease Notes.AIVita Nuovasupport@vitanuova.com.br3 October 2001.SP 4.NH 1Contents.LPThis set of updates applies to the 18 June 2001 base.The installed software must therefore be that of 18 June 2001, whether installed directly,or the result of updating the original July 2000 release with update packages..LPThis update offers the following, compared to the June 2001 release..SH.I "Repairs and changes".IP \(buVarious minor bug fixes and improvements appear here and there.They include corrected usage messages, status returned to the shell on error,diagnosing failures to load library modules,and use of the.CW %rformat to improve diagnostics.Many.I wmapplications adjust their display to suit small screens (eg, on the Compaq iPAQ);currently the applications do some of the work themselves but it will soon be automatic.Other changes are listed below..IP \(bu.I Date (1)takes the options.CW -u(show UTC/GMT)and.CW -n(print time as a number).If given a number of seconds as its argument,.I datetakes that as the time to convert..IP \(bu.I Format (8)supports tiny partitions..IP \(bu.CW /appl/env.buses.I env (2)to access environment variables..IP \(buFor packages created after Saturday 8 September 2001,.CW install/createconverts the leading.CW 10to the letter.CW Aso that the names of update files remain in sorted order..IP \(bu.CW install/insttakes a.CW -coption to cause it to carry on even if some files or directories cannot be made or updated.(This option is intended for special applications and should not generally be used when applying system updates.).IP \(bu.CW install/installtakes a.CW -Poption that lists the packages to install.The.CW -goption causes.CW installto install all available packages..IP \(buThe installation software regards files that have had carriage returns insertedbefore newlines as identical to the original files when deciding when fileshave been modified locally..IP \(buThe.CW wmapplications now check the whole string received on the windowcontrol channel returned by.I wmlib (2)'s.CW titlebar,not just an initial letter;in particular, they check for.CW "exit"not just.CW 'e' ..IP \(bu.I Wm (1)takes the option.CW -sto suppress the start menu..IP \(bu.I Keyring-gensk (2)and.I createsignerkey (8)provide experimental support for the RSA algorithm for signatures insteadof the default El-Gamal algorithm;.CW /keyring/rsaalg.cis new..IP \(bu.CW /keyring/egalg.cuses the correct structure for Public keys..IP \(bu.I Listen (1)has a new option.CW -ithat takes a shell command for each listener to run to set up appropriatecontext (eg, name space) before listening for incoming calls..IP \(bu.I man (1)allows non-numerics in section names..IP \(bu.CW /appl/cmd/mkfilenow includes.CW /mkfiles/mksubdirsand has acquired the list of.CW cmdsubdirectories from.CW /appl/mkfile ..IP \(bu.I Puttargives warnings not fatal errors when files or directories cannot be found..IP \(bu.I sh-expr (1)implements the.CW !=operator..IP \(bu.I Tail (1)no longer gives an array bound error when a binary file does not end with a newline..IP \(bu.CW tiny/shdoes not break when.I filepat (2)is not available..IP \(bu.I Webgrab (1)has several repairs to its HTTP protocol implementation, making it work with multi-homed servers..IP \(bu.CW wm/sendmailno longer fails to save messages when requested(!)..IP \(bu.I Arg (2)allows re-use by ensuring that its globals are reinitialised by its.CW initfunction..IP \(bu.I Bufio (2)correctly implements relative seek..IP \(bu.I Convcs (2)provides several more character sets..IP \(bu.I Cs (8)does not complain if it is already running, suppressing a previously confusing diagnostic..IP \(bu.CW lib/deflateno longer fails on the output of some PC versions of.I gzip ..IP \(bu.I Wmlib (2)adapts a little better to different font and screen sizes (though more remains to be done);on small screens, defined as those less than 480 pixels wide,.I wm (1)puts all windows at the screen origin by default..SH.I "Interface changes and extensions".IP \(bu.I Wm-deb (1)has got a.CW stackbutton to bring up the stack window if it has previously been dismissed.It also allows breakpoints to be set in modules that have not yet been loaded..IP \(bu.CW wm/memory 'sdisplay has been redesigned to be more informative..IP \(bu.CW wm/tetrisallows the use of a stylus (or mouse) to guide the placement of pieces..IP \(bu.CW wm/viewsupports PNG format.IP \(bu.CW wm/viewhas a new option.CW -ifor use in.I plumbing (6)files, to cause it to listen for messages from the.I plumber (8).Existing plumbing files that invoke.CW wm/viewwill typically need to change to add that option for image viewingusing the plumber to work as expected..IP \(bu.I Newns (2)provides more general option parsing by using.I arg (2),and does error checking unless the.CW -ioption is given to the.I namespace (6)commands.Its internal.CW mountcommandalso accepts the new options.CW -k.I keyfileto select the source of the authentication key, and.CW -C.I algto select the encryption algorithm..IP \(bu.I Plumber (8)takes a.CW -voption to cause it to log the contents of messages (for debugging plumbing applications), andalso the option.CW -c.I wmchanto select an alternative window manager channel instead of.CW /chan/wmwhen the.CW -woption is used..SH.I "Tk changes and extensions".LPMany of the Tk changes enforce rules and do more error-checking than before,but there are several extensions and interface changes as well..IP \(buTk applications must create the parent widget before its children.Currently the check to enforce this rule has been suppressed, but it will be enabled in future..IP \(buWidget names are now checked for well-formedness: neither trailing dot nor double dot are allowed..IP \(buWhen text in a text widget is deleted, embedded windows inthat text are only deleted if they are descendents of the textwidget..IP \(buText widget now redisplays correctly when an embedded windowis destroyed..IP \(buText widget now checks for embedded windows in the text that have been destroyed since they were added to the text..IP \(buWidgets packed under a destroyed widget that are notdescendents of that widget are now removed correctlyfrom the packing hierarchy..IP \(bu.CW -activebackgroundnow changes the border appropriately, same as.CW -background ..IP \(bu.CW scrollbarnow returns currently activated part when.CW activateis calledwith no arguments..IP \(buOnly one part of a scrollbar may be active at any one time..IP \(buTk can now distinguish between a null argument.CW {}and a missing argument..IPCreating an embedded window in a text widget at index 1.0no longer causes the packer to go into an infinite loop..IP \(buChanging the options on an embedded window in a textwidget caused an uninitialised pointer access..IP \(buChanging the window associated with an embedded window itemin text and canvas widgets previously did not disassociate the old window correctly..IP \(buChanging the window associated with an embedded window itemin a text widget did not set the widget's size appropriately..IP \(buThe.CW -baselinealignment option for embedded windows in text widgets previouslydid not calculate the line height correctly..IP \(buThe.CW -reliefsetting for buttons is now restored after enter/leave or selection..IP \(buButtons 4, 5 and 6 have been added (for the iPAQ)..IP \(buTk no longer crashes if the `grab' changes during the processing of a mouse event..IP \(buA new event.CW <Destroy>can be bound to a widget to receive notification when it is destroyed (eg, by the destruction ofa parent widget).The.CW <Configure>event is propagated to slaves as well as the configured master.These two changes make it easier to implement pseudo-widgets such as.I dividers (2)..IP \(bu.CW -anchorhas been implemented for labels;.CW -justifyshould be implemented as documented..IP \(buSubmenus are unmapped correctly..IP \(buTk detects command loops (by limiting recursion depth)..IP \(bu.CW canvashas a new boolean option.CW -bufferedthat controls whether the whole canvas, or just the visible region, is allocated an off-screen buffer image.It defaults to just the visible area only..IP \(bu.CW canvashas new operations.CW screenxand.CW screenyto map canvas coordinates to screen coordinates..SH.I "New commands and modules".IP \(buA collection of small and tiny playing card images have been added, in.CW /icons/smallcardsand.CW /icons/tinycards ..IP \(bu.CW install/wfindlists the versions of a given file in a set of installation packages..IP \(bu.I Touchcal (8)provides touch-screen calibration; it runs both inside and outside the windowmanager.I wm (1).Both internal and external interfaces are completely different from previous versions..IP \(bu.I Wm-keyboard (1)describes new commands.CW wm/keyboardand.CW wm/penthat provide soft keyboard and single-stroke gesture recognition for touch screen devices..IP \(bu.I Gamesrv (4)provides a file system interface for multi-player networked games;.I gamesrv (2)provides the interface for the game-specific engines loaded on demand by the game server..IP \(bu.CW utils/awkis a new directory containing the source for a version of.I awkfor use in doing Inferno ports for systems that lack it (or a sufficiently recent version), including Windows.It is not currently made automatically for any system.It is covered by its own licence; see the.CW READMEand.CW NOTICEfiles in that directory..SH.I "Limbo compiler".IP \(buThe compiler now adds a source file name (relative to the Inferno root) to each Disfile, to allow.I debug (2)and thus the debugger.CW wm/deband other commands such as.I profile (1)and.I stack (1)to find sourceand.CW .sblfiles without prompting..IP \(buThe initialisation of large arrays avoids deep recursion, preventing a trap on Ntand a large stack on other platforms..IP \(buOverflow is avoided when sorting integers for case statements..SH.I "Compilers and architectures".IP \(buThe linker.CW 5lhas a critical bug fix in .CW utils/5l/span.cthat fixes a bug in the flushing of literal pools..IP \(bu.CW 5coffhas a small change to make the output conform to actual practicenot COFF documentation..SH.I "Hosted and Native Inferno".IP \(bu.I Emuhas the following fixes and improvements:.RS.IP \(buTrap handling on Windows now (we hope) does all that is requiredto work on many versions, variants, updates and releases..IP \(buThe cursor appears correctly under Windows 2000..IP \(buWindows.I emupasses page up, down scroll, pause, insert, delete and printcharacters through to.CW /dev/keyboard ..IP \(bu.CW styx.cprevents bad Styx messages from causing trouble..IP \(bu.CW devenv.creturns.CW "file exists"if an attempt is made to create an existing name;it implements.CW ORCLOSE ..IP \(bu.CW devroot.cmakes directories mode 555 not 777..RE.IP \(buFor the native kernels only:.RS.IP \(bu.I Env (3)is now provided for native kernels.To add it to a kernel, change the kernel configuration file as follows:.RS.IP 1.Include the device driver.CW envin the.CW devsection..IP 2.Include the support file.CW envin the.CW portsection..IP 3.Include the name.CW /envin the.CW rootsection..LPTo exclude it from a kernel, include the support file.CW noenvin the.CW portsection.You should only do this if you are trying to make a small highly specialised kernel;general applications are likely to make more use of.CW /envnow that it is there,eventually to replace.CW sysenv and to select locales..RE.IP \(buCommon floating-point emulator code has moved from platform-specific directories to.CW /os/port/fpi.cand.CW /os/port/fpimem.c ,with corresponding changes to configuration files and.CW mkfiles ..IP \(buThe scheduling code in.CW /os/port/proc.chas changed to support wait-for-interrupt.If no process can be scheduled, the platform-specific function.CW "void idlehands(void)"is called, with interrupts.I off(unlike the function of the same name in Plan 9).On most platforms, it currently is an empty function defined by.CW #definein.CW fns.h ,and the scheduler effectively spins waiting for an interrupt to make a kernel process ready,but on the iPAQ and a few other platforms it uses the hardware-specific``wait for interrupt'' function, for power saving..IP \(buA new package.CW ipaqis available that populates.CW /os/ipaqwith the preliminary Inferno port to the Compaq iPAQ..IP \(bu.CW /os/ip

Lines 1–500 of 758.