CEDAR 5.0 RELEASE Cedar 5.0 Release This release is a major revision of the operating system for Cedar. All interfaces have been recompiled. There are many functional changes, especially in the file system. Users should read and follow the installation procedure (described below) carefully. There are two global documentation files that you may find useful. They are available through Cedar5.0.df, and their full names are: [Indigo]Documentation>Cedar5.0.tioga -- this release message [Indigo]Documentation>Catalog.tioga -- the package catalog The openr command can be used to open a viewer on any source file in the release given only its short name. For example, openr Cedar5.0.tioga would open a viewer on this release message. This command is particularly useful for browsing through documentation. A companion command, findr, can be used to find all source files in the release whose short names match a pattern (the first letter of the pattern cannot be *). **** Known Problems **** Dandelions - are not supported for Cedar 5.0. We expect to be able to support them in early January 1984. In the meantime, Cedar 4.4 should be used for Dandelions. MakeBoot - is not ready for Cedar 5.0. Clients who need to make boot files must use Cedar 4.4 until a PostCedar version of MakeBoot is available. WalnutSend - There is a potential deadlock during sending. If you wish to close a sender while it is sending, either use right-click (to automatically close the viewer), or wait until the date and from fields have appeared in the sender. RefText - AppendRope is declared with start: NAT instead of start: INT. This can cause a bounds fault in other packages, notably ViewerIO. IO - UnsafeGetBlock has been observed to fail for large byte counts (> LAST[NAT]). DFPackage - If you need to import (in the DF sense) a file that is private to Tioga (interface or implementation), do not do so from Tioga.df; use instead the appropriate inner DF file (TBase, TEdit, etc.) There is a bug in BringOver that may cause a file not to be retrieved if referenced through Tioga.df. Missing messages - There were no release messages for AMEvents, AMProcess, BasicLoadState, BasicTime, BcdStuff, BootTool, CedarRuntime, ColorPackage, Communication, DebugTool, DFPackage, DFTool, Disk, DiskTool, File, Germ, GrapevineUser, HeadsCommon, HeadsD0, HeadsDorado, Iago, Idle, Installer, Loader, LoadState, Lupine, LupineStubs, Maintain, MesaRuntime, Peanut, PeekMail, Pup, Rollback, RPCRuntime, SafeStorage, ShowPress, SimpleTerminal, STP, Tentacles, Terminal, Tioga, UserCredentials, Viewers, VM, or WorldVM. The release master does not feel responsible for this lack, but has tried to generate reasonable substitutes. These components are marked with "(no message)" to indicate that the information about changes is at least partially guesswork. **** Installation Procedure **** The installation information is graciously provided by Jim Donahue. Cleaning up Save your private files on a server Before you proceed with the installation instructions given below, first clean up your old world and move the files you want to save to a file server. You can use DFDisk to make sure that you have got them all. (The files that haven't been SModel'ed to a file server are listed at the end of Disk.df under [Unknown].) Make a new user profile One of the changes in Cedar 5.0 is that it uses a user profile entry to decide what DF files to bring over during booting. The boot looks in your user profile for an "Installation.Bringover" entry, which can be any list of DF Files; only the exported components of these DF files are fetched. What if you're just getting started and don't even have a user profile on your local disk? In this case, the booting machinery will try to find a user profile in a reasonable place. First, if you have a directory on Ivy, it will be searched for a .profile; if this fails, then the default profile is taken from [Indigo]Top>User.Profile. You cannot boot Cedar 5 correctly with a Cedar 4.4 user profile. So, if you have an old profile stored on [Ivy]UserName.profile, you should either delete it (in which case the standard User.profile will be used), or change it to make it suitable for 5.0. The easiest way to do this is to retrieve the profile stored on [Indigo]Top>User.profile, make whatever modifications you want, and then store the result on [Ivy]UserName.profile. Unless you really know what you're doing, don't change the Installation.Bringover option that is specified there. There have been a large number of changes in the user profile options for Cedar 5, so if you plan substantial modification of the default profile, first look in [Indigo]Documentation>UserProfileDoc.tioga Doing the conversion Now that you're ready to reformat your disk for the great leap into 5.0, here's how to do it: want to use Iago. This would allow you to do the installation yourself, but you don't want to.) asked how many semipartitions to use (semipartitions are also known as Model 44's for historical reasons). reformat if you don't have to -- it's expensive. confirmation. If you made a mistake or changed your mind about how you would like the disk structured, don't worry -- nothing has been done and you can just repeat the sequence of questions and answers. Only after you give confirmation will the actions be performed. confirmations are necessary. <> After doing all this, you will find that triple-booting the machine will get you into the 5.0 world (even if you have an Alto partition). You can get from the Cedar partition to the Debugger partition by typing control-swat. If you have an Alto partition you can get there with the BootTool or by triple-booting with the M switch. Note: To boot with a particular switch, either use the BootTool and set the Switches field, or hold the appropriate key down until 845 appears on the control panel after beginning the booting. Booting and Rollback Booting a 5.0 volume with no switches will perform a rollback unless there is no checkpoint file. Only if you boot with the F switch will you get the full boot sequence. Warning about sticky checkpoints: Installing and booting a new boot file does not destroy your old checkpoint; your old checkpoint includes the old boot file, which you were presumably trying to get rid of by booting. So the very next thing to do after installing a new boot file and booting -- with the F switch -- is to take a new checkpoint. <> After going through the installation process, you will have the following volumes on your disk: 1. (required) a Cedar volume 2. (optional) a Debugger volume, 3. (optional) an Alto volume The Booter and the Othello volume have gone away in Cedar 5.0. The Booter volume previously held a special boot file that, when booted, would look for a checkpoint and, if one existed, would perform a rollback; otherwise it would perform a full boot. This is now the default behavior when booting. Othello has been replaced by Iago, a program contained in the boot file. Booting a 5.0 boot file with the "L" switch will get you to Iago. The Iago operations are familiar to anyone who has used Othello; type "?" for a list of them. **** Significant Changes in this Release **** There are two documents that should help you with converting Cedar 4.4 programs to Cedar 5.0 programs. They are available through Life Support.df, and their full names are: [Indigo]Documentation>Cedar5Conversion.tioga [Indigo]Documentation>IOConversion.tioga FS There is an entirely new file system for Cedar 5.0, FS. It is described from the Cedar programmer's point of view in FSDoc.tioga. Below is a brief description of the major changes from the user's point of view. Instead of copying, attachments One of the major changes that you will see after you boot is that many more files seem to be on your disk than you are used to in Cedar 4.4. (Type `List *Doc.tioga' in a CommandTool to see how many more documentation files there are!) No, your disk hasn't gotten bigger nor has Cedar become greedy and left you with no room to work. Instead, the DF software has made use of FS attachments to give local names to many of the files stored on [Indigo]. To explain what this means, you need to know something about the way FS names files. Names for FS files are called ``FNames.'' An FName consists of (in order) a server, a root directory, zero or more subdirectories, a simple name, and a version. Both FTP bracket syntax and CIFS slash syntax for FNames are accepted; the following constructs are equivalent: [server]subDirectory>simpleName!version /server/rootDirectory/subDirectory/simpleName!version A named server like [Ivy] or /Indigo/ is a remote file server. The names of files on remote servers are called ``GNames,'' for global names. An unnamed server, [] or //, means the local server (your disk). The names of files on the local server are called ``LNames,'' for local names. In a GName, the rootDirectory is the directory on the server. In an LName, the rootDirectory is the name of the logical volume. []<> or /// means the current logical volume. For example, if you are using the Debugger volume, ///foo.mesa means the foo.mesa file in the Debugger, while //Cedar/foo.mesa means the foo.mesa file on the Cedar volume. If you are using the Cedar volume, ///foo.mesa means the foo.mesa file on the Cedar volume, while //Debugger/foo.mesa means the foo.mesa file on the Debugger volume. There is no need for special tools to move files around between volumes (you don't need the ClientFileTool anymore.) All FNames, both GNames and LNames, have version parts. For example, the following are complete FNames: [Indigo]Documentation>FSDoc.tioga!478 []<>FS.mesa!3 ///FS.mesa!3 []Temp>DebugTool.bcd!12 //Debugger/Temp/DebugTool.bcd!12 An attachment in FS is an association of an LName to a GName; for instance, after you boot there will be an attachment from the local name ///WalnutDoc.tioga!1 to the global name [Indigo]Documentation>WalnutDoc.tioga!H. When you do a Bringover, the only effect is to establish the attachments of the local names to the global names -- no copying of the contents of any of the global files is done. The good part of attachments is that they are cheap; you can have many LNames in your local file system without giving up all your disk to the system. The less good thing about attachments is that files are transferred as they are referenced - there may be long pauses at unexpected times, and the unavailability of Indigo may cause Cedar to hang, crash, or otherwise misbehave. Partial names and working directories An FName that does not start with a server part is called a partial name and will be interpreted relative to a working directory. If you type a file name in a CommandTool, it will be interpreted relative to the working directory that appears in the CommandTool herald line; the default is ///, pronounced root. Working directories aren't fully implemented in Cedar yet, but if you'd like to get some idea of how they will be able to help you in the future, go read Cedar5LocalDirectories.tioga. Caching and cache management When you open a file using an LName that is an attachment to a GName or if you open a file using a GName directly, FS has to copy the bits of the file from the server to the local file cache. Because of this copying, you will often see some delays when you open a file; in the worse case the open may fail because the server is dead. This is the price you pay for keeping things remotely and leaving your local disk uncluttered. Another effect of the caching is that your disk space (as measured by Watch) will normally hover around 1000 free pages. That sounds like a small amount, but it really isn't. Most of the space on the disk is being managed by the FS cache; if you need space, the FS cache manager can allocate space to your local files by removing from the cache files stored on remote servers. Instead of $ files, versions Because all file names now have explicit versions, Tioga no longer produces a $ file when you save a file you have been editing. Instead, it makes a new file with the next higher version number. The default in Cedar 5.0 is to keep at most two versions of each .tioga file, so the previous version will be not be destroyed. Most of the time a version number is not necessary as part of an FName -- FS will use either the most recent or least recent version as is appropriate. You can name a particular version of a file by using either a version number or the version variables !L, meaning the lowest existing version number, or !H, meaning the highest existing version number. The most recent version of Foo.tioga is Foo.tioga!H and (using the default of keeping two versions) the previous version is Foo.tioga!L. Instead of a FileTool DFTool To do a bringover or smodel, use either the DFTool or DFCommands. To get an instance of the DFTool, type ``DFTool'' to the CommandTool. You should check the DFTool user profile options described in UserProfileDoc.tioga. List and Copy Because of FS, special tools are not required to list, fetch, or store files on remote servers. The List command can be given patterns using remote paths and the Copy command can be used to retrieve and store files on remote servers; descriptions of the List and Copy commands are given in ListDoc.tioga and CopyDoc.tioga. Instead of a UserExec The CommandTool To get a new CommandTool, click ``Cmd'' in the upper right hand part of the screen. CommandToolDoc.tioga gives a general introduction to the use of the command tool. The CommandTool gives you a much more limited set of buttons than you used to have with the UserExec (although more can be added, see CreateButtonDoc.tioga). To set a breakpoint, for instance, you need to use the InterpreterTool. The InterpreterTool To get a new InterpreterTool, type ``Interpreter'' to a CommandTool. InterpreterToolDoc.tioga gives a general introduction to the use of the InterpreterTool. Debugger user profile entries So that you can use the same user profile on both the Cedar volume and the Debugger volume, you can now precede any user profile entry with "Debugger." to have it take effect only on the Debugger volume. For instance, two reasonable PreRun lines would be: <> <> Notice that FNames are used here to guarantee that the latest version is fetched from the server. !H is the default. <> Your mail database must be on Alpine. Your log file may be local, but we strongly recommend that it be on Alpine. See Karen Kolling for an Alpine account if you do not already have one. **** Component Summary **** The following is a complete list of the system components included in this release. Details about the relationship of each component to the previous release and pointers to documentation and DF files appear in the Summary of Release Components section, below. The field after the package name indicates what has changed. It can take the following values: new component is new for this release minor component only has minor bugs fixed and/or simple conversion major component has significant changes The next field indicates where the package resides. It can take the following values: Basic component is in BasicCedarD*.boot Cedar component is in CedarD*.boot Tool component is covered by Tools.df, but all or part is not in any boot file other component is not in one of the above categories ** Umbrella DF files ** AbstractMachine new Cedar BasicCedar major Basic LifeSupport new Cedar Nucleus new Basic Tools new Tool UserInterface major Cedar ** Packages of general interest ** BasicPackages new Cedar BasicTime new Basic Binder minor Tool BootTool major Tool BTree minor Basic Celtics new other Chat minor Tool Clock minor Tool ColorPackage minor other CommandTool new Cedar Compiler minor Tool CompNeeds new other Cypress major other DebugTool major Tool DFCommands new other DFIncludes new other DFTool new Tool ExecHacks new other Forms minor other FS new Basic Graphics minor Cedar InterpreterTool major Cedar IO major Basic Maintain minor other MesaRuntime major Basic Peanut minor other PeekMail minor other Real minor Basic Reminder minor other Rope minor Basic SafeStorage major Basic Scaled minor other Set minor other ShowPress minor other SpellingTool new other Spy minor Tool Squirrel minor other StructuredStreams new other Terminal new Basic Tioga major Cedar TSetter minor other UserCredentials new Basic UserProfile minor Cedar Viewers minor Cedar VM new Basic VTables minor other Walnut major other Watch major Tool Waterlily minor other ** Packages of limited interest ** AlpineUser minor other AMEvents minor Cedar AMModel major Cedar AMProcess major Cedar AMTypes major Cedar BasicLoadState new Basic BcdStuff new Basic BTreeTest new other CedarRuntime new Basic CollectibleVM new other CoFork minor other Communication minor Basic DFPackage new Cedar Disk new Basic DiskTool new other File new Basic FileStream new Basic FileStreamTest new other FormatDisk new Basic FSUtil new other Germ minor other GoodTimes new other GrapevineUser minor Basic HeadsCommon minor Basic HeadsD0 minor Basic HeadsDorado minor Basic Iago new Basic Idle new other IFSFile minor other IOTest new other Inscript minor Cedar Installer new Cedar Interpreter major Cedar Lister major other Loader major Basic LoadState major Basic Lupine minor other MCross minor other MicrocodeD0 new other MicrocodeDorado new other OnlineMergeSort minor other Othello minor other PlotPackage minor other PrintTV new Cedar ProcessProps minor Basic Pup minor Basic Pupwatch minor other ReadEvalPrint minor Cedar RedBlackTree minor other RedBlackTreeRef minor other ReleaseTool new other Rollback new Basic RPCRuntime minor Cedar Sequin minor other SimpleTerminal new Basic SirPress minor other STP minor Basic Tentacles new Basic TIP minor Cedar VersionMap minor Cedar VersionMapBuilder major other WorldVM minor Cedar ** Boot file summary ** BasicCedar* BasicLoadState, BasicTime, BcdStuff, BTree, CedarRuntime, Communication, Disk, File, FileStream, FormatDisk, FS, GrapevineUser, HeadsCommon, HeadsD0, HeadsDorado, Iago, IO, Loader, LoadState, MesaRuntime, ProcessProps, Pup, Real, Rollback, Rope, SafeStorage, SimpleTerminal, STP, Tentacles, Terminal, UserCredentials, VM Cedar* AMEvents, AMModel, AMProcess, AMTypes, BasicPackages, CommandTool, DFPackage, Graphics, ColorPackage, Inscript, Installer, Interpreter, InterpreterTool, PrintTV, ReadEvalPrint, RPCRuntime, Tioga, TIP, UserProfile, VersionMap, Viewers, WorldVM **** Release Components **** Note: In the descriptions that follow the DF file or files for a component are located on [Indigo]Top> unless otherwise specified. If the documentation file name is not a path, it is assumed to be accessible using the DF file name and BringOver, i.e., BringOver /o DocFileName DFFileName In general, documentation for Component is stored on one of [Indigo]Documentation>Component.tioga [Indigo]Documentation>ComponentDoc.tioga but there are occasional exceptions. For brevity, we do not list Component.Press if Component.Tioga exists, and we do not include [Indigo]Documentation> in the file name if that is the prefix. If not specified, the host is assumed to be [Indigo]. All components of Cedar 5.0 are listed below. Unless otherwise indicated, questions about changes in individual components should be addressed to their maintainers. AlpineUser DF files: AlpineUser.df Documentation: AlpineDoc.tioga, WalnutOnAlpineDoc.tioga Maintainer: Kolling, Taft No significant changes. AMEvents DF files: AMEvents.df Documentation: AMEvents.mesa, FastBreak.mesa | see maintainer Maintainer: Birrell, Rovner No known changes (no message). AMModel DF files: AMModel.df Documentation: AMModel.mesa, AMMiniModel.mesa Maintainer: Rovner Conversion to 5.0, bug fixes, interface cleanup. AMProcess DF files: AMProcess.df Documentation: AMProcess.mesa | see maintainer Maintainer: Birrell, Rovner No known changes (no message). AMTypes DF files: AMTypes.df Documentation: AMTypesDoc.tioga (out of date) | AMTypes.mesa, AMBridge.mesa Maintainer: Rovner Conversion to 5.0, bug fixes, interface cleanup. BasicLoadState DF files: BasicLoadState.df Documentation: BcdDefs.mesa, BcdOps.mesa, Table.mesa, TimeStamp.mesa | see maintainer Maintainer: Levin New for Cedar 5.0 (no message). BasicPackages DF files: BasicPackages.df Documentation: Commander.mesa, CommandToolDoc.tioga, PriorityQueue.mesa, Random.mesa, RefTab.mesa, Resource.mesa, RopeFile.mesa, SymTab.mesa Maintainer: Atkinson, MBrown, Rovner, Stewart BasicPackages is a bootfile component that combines several unrelated components. All of them were present in earlier releases, and all but Random and RopeFile were part of the boot file in earlier releases. Combining things in this way may not be a good idea, for several reasons, and we may split them apart in some later release. You may avoid some df-file editing by referring to the pieces of BasicPackages via LifeSupport.df. BasicTime DF file: BasicTime.df Documentation: BasicTime.mesa | see maintainer Maintainers: Birrell, Levin New for Cedar 5.0 (no message). BcdStuff DF file: BCDStuff.df Documentation: see maintainer Maintainers: Levin, Maxwell, Rovner Replaces Bcd.df from Cedar 4.4 (no message). Binder DF file: Binder.df Documentation: Mesa language manual (outdated) Maintainer: Rovner No significant changes. BootTool DF file: BootTool.df Documentation: see maintainer Maintainer: Levin, Rovner No known changes (no message). BTree DF file: BTree.df Documentation: BTreeDoc.tioga Maintainer: Taft There have been some minor interface changes BTreeTest DF file: BTreeTest.df Documentation: BTreeDoc.tioga Maintainer: Taft New component (formerly part of BTree.df). A test and performance measurement program for the BTree package. Celtics DF file: Celtics.df Documentation: CelticsDoc.tioga Maintainer: Atkinson The Celtics package contains two debugging tools: Celtics and BreakTool. Celtics is used to set low-cost counting breakpoints. These breakpoints can even be set in very sensitive code, such as the allocator or page fault handling, since incrementing the count is entirely performed with resident code. BreakTool, on the other hand, permits the setting of conditional or logging breakpoints, where an expression is evaluated at every breakpoint. These breakpoints are much more powerful, but the user is cautioned against setting them in places required for the handling of breakpoints. Chat DF file: Chat.df Documentation: ChatDoc.tioga Maintainer: Stewart No significant changes. Note: Chat uses ">logfile" to redirect output, not "> logfile" which does nothing. Clock DF file: Clock.df Documentation: see maintainer Maintainer: Atkinson Mostly minor conversion changes. The ChangeOffset button now changes the time by hours (left-click), minutes (middle-click) or seconds (right-click). Holding the Shift key during the mouse click causes the time to appear to go forward, otherwise time appears to go backward. Holding Control for any click causes the displayed time to be the actual time. CoFork DF file: CoFork.df Documentation: CoForkDoc.tioga Maintainer: Sturgis No significant changes. CollectibleVM DF file: CollectibleVM.df Documentation: CollectibleVM.mesa Maintainer: Taft This is a new package for obtaining chunks of raw VM that are reclaimed automatically. This is useful for applications requiring storage that is page-aligned or has other properties obtainable from VM but not from the normal Cedar allocator. ColorPackage DF file: ColorPackage.df Documentation: ColorWorld.mesa, ColorMap.mesa | see maintainer Maintainers: Wyatt, Stone No significant changes for clients. The implementation was converted to use the new Terminal interface. CommandTool DF file: CommandTool.df Documentation: CommandToolDoc.tioga, Cedar5LocalDirectories.tioga, CreateButtonDoc.tioga | CommandTool.mesa, FileNames.mesa, RopeList.mesa Maintainer: Stewart The CommandTool has been extensively rewritten for Cedar 5. You are strongly encouraged to read CommandToolDoc.tioga. CommandToolStructureDoc.tioga is less interesting. The Cedar 5 CommandTool is a stream-oriented "glass teletype" command-line processor. It is a place to invoke Cedar subsystems. It is sufficiently like any other executive so that you can probably get by, but you should read CommandToolDoc.tioga and some of the documentation files for the various commands. Interesting interfaces: CommandTool.mesa -- command line parsing and so forth. FileNames.mesa -- processing of file names beyond that available from FS RopeList.mesa -- a version of List that deals with LIST OF Rope.ROPE. Communication DF file: Communication.df Documentation: see maintainer Maintainer: Birrell, Levin No known changes (no message). Compiler DF file: Compiler.df Documentation: Cedar Language Reference Manual Maintainer: Rovner The compiler no longer gives (or needs to give) the warning: Long REF-containing arg/result record is unsafe. CompNeeds DF file: CompNeeds.df Documentation: CompNeedsDoc.tioga Maintainer: Spreitzer CompNeeds examines source files to determine compilation and binding dependencies and produces a command to compile and bind whatever is necessary to produce up-to-date BCDs for a given set of goal modules. Cypress DF file: Cypress.df Documentation: [Indigo]Database>CypressDoc.press Maintainer: Cattell.pa Get on CedarDatabase^ or see maintainer for details of changes. Cypress is the the database management package for Cedar. It is accessed through the interface DB.mesa, or via application programs such as Walnut. The Squirrel application (see separate catalog entry) provides some general-purpose database tools. DebugTool DF file: DebugTool.df Documentation: see maintainer Maintainer: Birrell Conversion changes, perhaps others (no message). Dependencies DF file: Dependencies.df Documentation: Dependencies.mesa Maintainer: Rovner New for 5.0. The Dependencies command produces a cross reference that lists for each bcd file in or under a specified DF file the other bcd files that depend on it. Dependencies takes the name of a df file as a parameter and produces two text files: Dependencies.txt and Dependencies.log. Dependencies.txt has the cross reference; Dependencies.log contains a copy of the stuff printed on the commandtool typescript as Dependencies runs. This package was produced by copying Roy Levin's implementation of VerifyDF and modifying it. DFCommands DF file: DFCommands.df Documentation: BringOverDoc.tioga, SModelDoc.tioga, VerifyDFDoc.tioga Maintainer: vanLeunen DFCommands provides a command-line interface to the DFTool. These commands do not interact with the user; that is, in terms of Cedar 4.4's versions of these commands, "/a" (auto-confirm) is now the only behavior available. DFIncludes DF file: DFIncludes.df Documentation: in catalog entry Maintainer: MBrown The command line "DFIncludes XXX.df" produces a file DFIncludes.txt with lines of the form "shortFileName containingDfFile directory", sorted by shortFileName. There is one line for each source file included (in the DF sense) in XXX.df. Both containingDfFile and directory are stripped of redundant information (like "/Indigo/Cedar/Top/") to keep the lines short. Warnings are written to DFIncludes.log. DFPackage DF file: DFPackage.df Documentation: DFOperations.mesa, DFOperationsQueue.mesa, DFUtilities.mesa | see maintainer Maintainer: Levin New for Cedar 5.0 (no message). This package supports the manipulation of DF files. DFTool DF file: DFTool.df Documentation: see maintainer Maintainer: Levin New for Cedar 5.0 (no message). Provides interactive replacement for BringOver, SModel, and VerifyDF commands of Cedar 4.4. Disk DF file: Disk.df Documentation: Disk.mesa | see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no message). DiskTool DF file: DiskTool.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no message). ExecHacks DF file: ExecHacks.df Documentation: See catalog entry. Maintainer: Plass A revival of a Scott McGregor hack to put some handy menu buttons in the CommandTool. Adds some handy menu buttons to CommandTool viewers: "Compile" and "Redo". "Compile" deduces a filename from the selection, and then does a "Compile", "Bind", or "@" with the root of the filename, depending on the extension. It is purely textual, and extracts just the root of the file name because the Compile command doesn't accept fNames (as of this writing). So watch your working directories. "Redo" is a simple replay of the last command. File DF file: File.df Documentation: File.mesa | see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no message). FileStream DF file: FileStream.df Documentation: FileStreamDoc.tioga Maintainer: Hagmann FileStream is a separate package for Cedar 5.0. It is a generic file stream package, and currently its clients are FS and Alpine file streams. It is a higher performance implementation of its predecessor, FileIO. All parameters in stream creation to FileStream are now used; previously some were ignored. Two streams (one read and one write stream) may now reference the same open file. Sequential reading of a stream will cause the package to pre-read data ahead when sufficient buffers exist. Write behind (the parallel writing of dirty buffers) is also performed. FileStreamTest DF file: FileStreamTest.df Documentation: see maintainer Maintainer: Hagmann This is a bunch of test software for the filestream package. It probably should not be cataloged nor mentioned in the release. FormatDisk DF file: FormatDisk.df Documentation: FormatDisk.mesa Maintainer: Taft Performs machine-dependent disk initialization operations, principally formatting and initial microcode installation. Iago is the only intended client. Forms DF file: Forms.df Documentation: SampleSheet.tioga Maintainer: Beach New message forms: CSLNotebookMsg.form, LibraryRequest.form, PostCedarRelease.form, PreCedarRelease.form, BootFileRelease.form. New Mesa.form and Help.template. Minor updates to Slides.form, BlueAndWhite.Style and CSLBusinessLetter.form. FS DF file: FS.df Documentation: FSDoc.tioga Maintainer: Schroeder FS is a file system for use on a Cedar workstation. It provides access both to remote file servers and to the local disk. Remote files accessible from FS must reside on a file server that supports the FTP protocol, in particular IFS's and Alpine servers. These file servers may be accessed from many Cedar instances on different workstations at the same time. Local files are accessed through an abstraction called the local server. The local server is the set of logical volumes on the local disk of a Cedar instance. One of these logical volumes may be designated the system volume. FS provides a directory for each volume, and a cache for remote files on the system volume. FS also defines a generic abstraction, the FS.OpenFile, of which the workstation file system is only one class. The generic operations provide access to the data pages and properties of files. Other packages may create their own classes of FS.OpenFile's, upon which these generic FS operations also may be performed. For example, direct page-at-a-time access to Alpine servers is provided through this mechanism. FS also contains facilities for creating IO.STREAM's on files, for binding local names to remote files, for finding the version of a file that was created at a particular time, and for limiting the number of extant versions of local files. FSUtil DF file: FSUtil.df Documentation: FSUtilDoc.tioga Maintainer: Schroeder This package includes commands for listing the set of FS.OpenFiles, FS.ActiveFiles, and IO.STREAM's of class $FileStream that exist in a Cedar instance. It also contains commands for listing the FS cache LRU chain, listing statistics of the FS cache flusher, exercising the cache flusher, and forcing FS.OpenFiles to be closed. All these commands will be of interest to experts only. Germ DF file: Germ.df Documentation: see maintainer Maintainer: Taft No known changes (no message). GoodTimes DF file: GoodTimes.df Documentation: see maintainer Maintainer: Atkinson GoodTimes is a simple program that measures and reports elapsed times for various Cedar computations. Graphics DF file: Graphics.df Documentation: Graphics.mesa Maintainer: Wyatt No significant changes. GrapevineUser DF file: GrapevineUser.df Documentation: see maintainer Maintainer: Birrell, Schroeder No known changes (no message). HeadsCommon DF file: HeadsCommon.df Documentation: see maintainer Maintainer: Taft No known changes (no message). HeadsD0 DF file: HeadsD0.df Documentation: see maintainer Maintainer: Taft No known changes (no message). HeadsDorado DF file: HeadsDorado.df Documentation: see maintainer Maintainer: Taft No known changes (no message). Iago DF file: Iago.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no message). Idle DF file: Idle.df Documentation: Idle.mesa | see maintainer Maintainer: Levin New for Cedar 5.0 (no message). IFSFile DF file: IFSFile.df Documentation: IFSFile.mesa | see maintainer Maintainer: Atkinson IFSFile supports Leaf protocol access to IFS. Leaf access is primarily useful for low overhead random access to pages of a file. There are no functional changes since Cedar 4.4, although there is a greater use of SafeStorage facilities. Inscript DF file: Inscript.df Documentation: InscriptDoc.tioga Maintainer: Rovner No significant changes. Installer DF file: Installer.df Documentation: see maintainer Maintainer: Levin New for Cedar 5.0 (no message). Interpreter DF file: Interpreter.df Documentation: Interpreter.mesa Maintainer: Rovner New for 5.0. InterpreterTool DF file: InterpreterTool.df Documentation: InterpreterToolDoc.tioga Maintainer: Rovner Conversion to 5.0, bug fixes, enhancements. IO DF file: IO.df Documentation: IOConversionDoc.tioga, IODoc.tioga, EditedStream.mesa, IOClasses.mesa Maintainer: MBrown There have been many changes in IO; see IOConversionDoc.tioga for a description of interesting changes since Cedar 4.4. The IO, EditedStream, IOClasses, IOUtils, and Convert interfaces are exported by this component. Convert.AppendTime, Convert.RopeFromTime, and other procedures that obviously share this code do not implement time zone printing (the includeZone parameter is ignored). The STREAM produced by ViewerIO.CreateViewerStreams (part of the Tioga component) does not create a true edited stream (as defined by the EditedStream interface); in particular, the DeliverWhenProc is always passed NIL for the "buffer" parameter. This works fine for simple DeliverWhenProcs, such as EditedStream.IsACR (the default). Use of the default DeliverWhenProc is highly recommended. More ambitious DeliverWhenProcs must call ViewerIOExtras.GetBuffer to obtain the current buffer. Calling this on every invocation of a DeliverWhenProc will result in very poor performance. IOTest DF file: IOTest.df Documentation: see maintainer Maintainer: MBrown New component. A test program for the IO package. Lister DF file: Lister.df Documentation: ListerDoc.tioga Maintainer: Atkinson The Cedar 5.0 Lister is a major rewrite of the old Lister. Lister is a program to produce human readable files from bcd files produced by the Compiler and Binder. Lister registers a variety of commands, each of which produces a different set of information from a given list of bcd files. These commands include: BcdLister lists contents of a bcd file BodyLister lists the bodies of a bcd file (single module) CodeLister lists the code of a bcd file (single module) ExportsLister lists the exports of a bcd file FGTLister lists the fine grain table of a bcd file (single module) GlobalFramesLister lists the fine grain table of a bcd file RTBcdLister lists the runtime types information of a bcd file SymbolLister lists the symbols of a bcd file (single module) UnboundLister lists the unbound exports of a bcd file UsingLister generates a DIRECTORY clause for a bcd file (single module) Loader DF file: Loader.df Documentation: Loader.mesa | see maintainer Maintainer: Levin, Schroeder No known changes (no message). LoadState DF file: LoadState.df Documentation: LoadState.mesa | see maintainer Maintainer: Birrell, Levin, Rovner New for Cedar 5.0 (no message). Lupine DF file: Lupine.df Documentation: LupineUsersGuide.press Maintainer: Birrell No known changes (no message). Maintain DF file: Maintain.df Documentation: see maintainer Maintainer: Birrell, Schroeder No known changes (no message). MCross DF file: MCross.df Documentation: MCrossDoc.tioga Maintainer: Rovner No significant changes. MesaRuntime DF file: MesaRuntime.df Documentation: see maintainer Maintainer: Levin New for Cedar 5.0 (no message). Exports Basics, MesaRuntimeInit, PrincOps, PrincOpsUtils, Process, ProcessExtras, RuntimeError. MicrocodeD0 DF file: MicrocodeD0.df Documentation: see maintainer Maintainer: Fiala This version implements new reference counting and storage allocation opcodes used by Cedar 5.0. This version is not upward-compatible from the 4.4 version. This component consists of microcode files that Dolphin users must install on their disk in order to run Cedar. The installation is ordinarily done automatically by Iago when you create your Cedar world. If you issue the Iago commands manually, the files you install are: Install Cedar Microcode: CedarD0.eb Install Initial Microcode: InitialPilot.eb If you want to boot Cedar with the boot button, OR Install Initial Microcode: RubiconInitialAltoD0.eb If you want to boot the Alto emulator with the boot button. MicrocodeDorado DF file: MicrocodeDorado.df Documentation: [Indigo]DoradoBooting.press Maintainer: Taft NOTE: Names have changed since Cedar 4.4 in order to conform to the standard . style. This component consists of microcode files that Dorado users must install on their disk in order to run Cedar. The installation is ordinarily done automatically by Iago when you create your Cedar world. If you issue the Iago commands manually, the files you install are: Install Cedar Microcode: file CedarDorado.eb Install Initial Microcode: file InitialEtherCedarDorado.eb If you want to boot Cedar with the boot button, OR Install Initial Microcode: file InitialEtherAltoMesaDorado.eb If you want to boot the Alto emulator with the boot button. OnlineMergeSort DF file: OnlineMergeSort.df Documentation: ListSort.mesa Maintainer: MBrown No significant changes. Peanut DF file: Peanut.df Documentation: see maintainer Maintainer: Wyatt A Tioga-based mail reading and sending package. New for Cedar 5.0; formerly included in the ISL release. No significant changes from the Cedar 4.4 version. PeekMail DF file: PeekMail.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no message). PrintTV DF file: PrintTV.df Documentation: PrintTV.mesa, BackStop.mesa Maintainer: Rovner Conversion to 5.0, bug fixes, inclusion of a "BackStop" interface. ProcessProps DF file: ProcessProps.df Documentation: ProcessProps.mesa Maintainer: Atkinson No significant changes. Pup DF file: Pup.df Documentation: see maintainer Maintainer: Birrell, Levin No known changes (no message). PupWatch DF file: PupWatch.df Documentation: see maintainer Maintainer: Birrell No significant changes. PupWatch is a tool for viewing and recording all Pup packets to and from a particular host on the directly attached Ethernet. Very useful when debugging protocols. ReadEvalPrint DF file: ReadEvalPrint.df Documentation: ReadEvalPrint.mesa | see maintainer Maintainer: Stewart, Rovner Internal cleanup of catch phrases. They will do what you want more often. Real DF file: Real.df Documentation: MesaFloat60.bravo | Real.mesa | Ieee.mesa | see maintainer Maintainer: Levin, Stewart No significant changes. RedBlackTree DF file: RedBlackTree.df Documentation: OrderedSymbolTable.mesa Maintainer: MBrown No significant changes. RedBlackTreeRef DF file: RedBlackTreeRef.df Documentation: OrderedSymbolTableRef.mesa Maintainer: MBrown No significant changes. ReleaseTool DF file: ReleaseTool.df Documentation: see maintainer Maintainer: Atkinson The ReleaseTool is a new component for Cedar 5.0. The ReleaseTool is used to verify the completeness and consistency of releases, and to ship the files from the staging directory (normally [Indigo]) to the release directory (normally [Indigo]). Reminder DF file: Reminder.df Documentation: Reminder.mesa Maintainer: Rovner No significant changes. Rollback DF file: Rollback.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no message). Rope DF file: Rope.df Documentation: RopeDoc.tioga | see maintainer Maintainer: Atkinson The Rope package, which is new for Cedar 5.0, exports the familiar old interfaces Ascii, ConvertUnsafe, RefText, and Rope. The most notable changes for Cedar 5.0 are value, as in AppendChar: PROC [to: REF TEXT, from: CHAR] RETURNS [REF TEXT]. The result TEXT is the same REF as the parameter to, unless to.length = to.maxLength when AppendChar is called. In this case, a longer TEXT is allocated and the current contents of to are copied into it. It is considered an error to pass NIL as the value of to (PointerFault will be raised). The same convention is followed by all procs that append to a REF TEXT in the RefText interface. The IO and Convert interfaces follow the same conventions. the minor changes in Rope. RPCRuntime DF file: RPCRuntime.df Documentation: LupineRuntime.mesa, RPC.mesa, RPCLupine.mesa, RPCWatch.mesa | see maintainer Maintainer: Birrell No known changes (no message). SafeStorage DF file: SafeStorage.df Documentation: SafeStorage.mesa, SafeStorageDoc.tioga (outdated) | see maintainer Maintainer: Rovner Various changes (no message). The SafeStorage package exports Atom, List, SafeStorage, and UnsafeStorage. Note that finalization must be enabled for every finalizable object, not just for the type. The implementation has fewer arbitrary limits - RC table overflow is now handled by expanding the table, rather than crashing. Pinned reference counts can not occur. Allocation and reference counting operations are now (roughly) twice as fast. Scaled DF file: Scaled.df Documentation: Scaled.mesa Maintainer: Plass No significant changes. Sequin DF file: Sequin.df Documentation: Sequin.mesa | see maintainer Maintainer: Atkinson Sequin supports a full-duplex sequential stream of packets on the Ethernet. It is primarily used to support IFSFile (Leaf access to IFS). There are no functional changes since Cedar 4.4, although there is a greater use of SafeStorage facilities. Set DF file: Set.df Documentation: SetDoc.tioga Maintainer: Rovner No significant changes. ShowPress DF file: ShowPress.df Documentation: see maintainer Maintainer: Beach, Wyatt No known changes (no message). SimpleTerminal DF file: SimpleTerminal.df Documentation: SimpleTerminal.mesa Maintainer: Levin New for Cedar 5.0 (no message). SirPress DF file: SirPress.df Documentation: SirPress.mesa | see maintainer Maintainer: Plass No interesting changes. SpellingTool DF file: SpellingTool.df Documentation: SpellingToolDoc.tioga Maintainer: Nix The Spelling Tool is an efficient, lightweight tool for checking spelling in text. It is used much like a string search command; however, rather than locating the next piece of text that matches a particular pattern, it locates the next misspelled word. The Tool also provides facilities that assist in correcting misspelled words and that retrieve definitions from the Dictionary Server. Spy DF file: Spy.df Documentation: SpyDoc.tioga Maintainer: Maxwell The Cedar 5.0 Spy has some minor improvements over the Cedar 4.4 Spy. Squirrel DF file: Squirrel.df Documentation: SquirrelDoc.tioga Maintainer: Cattell, Donahue Squirrel provides general-purpose database tools. It is intended for debugging database applications, and for building special databases for which no special application code is necessary or desirable. Squirrel implements whiteboards, used for Cedar documentation. Experimental whitepages facilities are now available, as well. STP DF file: STP.df Documentation: STP.mesa | see maintainer Maintainer: Birrell, Levin No known changes (no message). StructuredStreams DF file: StructuredStreams.df Documentation: StructuredStreams.mesa | see maintainer Maintainer: Spreitzer This is a kind of output stream. It is a filter that inserts white space to do pretty-printing. StructuredStreams.Mesa defines the calls peculiar to pretty printing. This is an IO.STREAMs interface to Greg Nelson's UnparserBuffer, which is also in the DF file. Tentacles DF file: Tentacles.df Documentation: see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no message). Terminal DF file: Terminal.df Documentation: Terminal.mesa | see maintainer Maintainers: Levin, Wyatt New for Cedar 5.0. The Terminal interface replaces the Cedar 4.4 interfaces UserTerminal and ColorDisplay. Tioga DF file: Tioga.df Documentation: TiogaDoc.tioga Maintainer: TiogaImplementors^.pa Tioga now reads files with RopeFile, so it may hold a read lock on large files. Operations which load a file into a viewer now distinguish between a request for a specific version (a "!" in the file name) and a request for the latest version (no "!" in the file name). You can see the difference in the viewer caption: specific versions include the version number in the file name; latest versions show the version number in parentheses. Viewers showing the latest version of a file will be reloaded whenever a newer version is created. (If such a viewer has been edited, a warning message will be posted instead.) TIP DF file: TIP.df Documentation: TIPDoc.tioga Maintainer: TiogaImplementors^.pa No significant changes. TSetter DF file: TSetter.df Documentation: TSetterDoc.tioga Maintainer: Beach, Plass  Underlined tabs now work.  TSIncludePress from the PostCedar version has been folded in.  Using "*" instead of a server name will now cause TSetter to display the press file on your screen. UserCredentials DF file: UserCredentials.df Documentation: UserCredentials.mesa | see maintainer Maintainer: Levin No known changes (no message). UserProfile DF file: UserProfile.df Documentation: UserProfileDoc.tioga Maintainer: Donahue No significant changes in this package. However, there are numerous new or changed options for the entries in the user profile. VersionMap DF file: VersionMap.df Documentation: VersionMap.mesa | VersionMapDefaults.mesa | see maintainer Maintainer: Atkinson The disk format for stored version maps now contains an index that accelerates short name lookup (for the openr and findr commands). The implementation also uses RopeFile to reduce VM usage. VersionMapBuilder DF file: VersionMapBuilder.df Documentation: see maintainer | see catalog entry Maintainer: Atkinson The Cedar 5.0 VersionMapBuilder is a major rework of the way that version maps are built. VersionMapBuilder now uses the top-level DF file for the release to build the maps, rather than a remote directory enumeration. Viewers DF file: Viewers.df Documentation: ViewerDoc.tioga (incomplete and out of date) Maintainer: Wyatt Viewers now includes an implementation of Sliders. John Maxwell has rewritten the DeskTops implementation. Captions show the version number in parentheses for "latest version" files. ViewRec DF file: ViewRec.df Documentation: ViewRecDoc.tioga | see maintainer Maintainer: Spreitzer You now have the option of allowing your RecordViewers to dynamically relayout to fit the current viewer width. More Cedar aggregate classes supported (ARRAYs and SEQUENCEs). Numerous small changes. VM DF file: VM.df Documentation: VM.mesa, VMStatistics.mesa Maintainer: Birrell, Levin New for Cedar 5.0 (no message). VTables DF file: VTables.df Documentation: VTables.mesa | see maintainer Maintainer: Atkinson No significant changes since Cedar 4.4. Walnut DF file: Walnut.df Documentation: WalnutDoc.tioga Maintainer: Orr This is a minimal rework of the Walnut of the Cedar 4.4 world. A major change is that the user's mail database must be on Alpine. Please see the documentation for details. Another change: If Walnut forces the user to do a scavenge, or automatically does a scavenge becaue the database is empty, the user is given the option of setting the start position for the next expunge to the current end of the log file. If one has started with a relatively "clean" log file (an expunge done recently), this is a reasonable option to take. An annoying bug in WalnutSend has been fixed. If the input focus is in some other viewer when the send is finished, WalnutSend will no longer grab the cursor. Instead, it will display a blank form; when the user clicks in the sender, it will finish filling in the form. There is a potential deadlock during sending. If you wish to close a sender while it is sending, either use right-click (to automatically close the viewer), or wait until the date and from fields have appeared in the sender. Watch DF file: Watch.df Documentation: WatchDoc.tioga Maintainer: Atkinson The Cedar 5.0 Watch has been changed to give better statistics on the inner workings of the system. The DiskIO line in the bar graph now indicates what percentage of the time there was a queued disk request. The extensive WatchDoc.tioga is new. Waterlily DF file: Waterlily.df Documentation: help message in the UserExec or Commander Maintainer: Kolling No changes since Cedar 4.4. WorldVM DF file: WorldVM.df Documentation: AMProcessBasic.mesa, WorldVM.mesa | see maintainer Maintainer: Birrell No known changes (no message).