Date: 7 May 1982 10:31 pm PDT (Friday) Sender: Schmidt.PA Subject: Cedar 3.0 release From: Release Master's Asst. To: CedarUsers↑, CedarImplementors↑ cc: CedarCoordinators↑ Reply-To: Levin Cedar 3.0 is released. This release is a major change from Cedar 2.6, since it eliminates entirely the Tajo user interface. There are new versions of the Compiler and Binder; however, client programs need not be rebuilt unless interfaces they depend upon have changed. Many of the system interfaces remain unchanged (see component descriptions below), and compatibility with Tajo/Common Software interfaces that do not involve the user interface is retained. Since the Tajo user interface is no longer available, most Cedar users will find it helpful to consult Jim Morris' "Getting Started In Cedar" memo, available on [Indigo]<Cedar>Documentation>GettingStartedInCedar.press. This document contains complete installation procedures and an introduction to the facilities available in the new user interface (Viewers and Tioga). Many of these facilities have changed substantially since Cedar 3.0, so users previously familiar with this interface should consult the Viewers and Tioga entry in the "Summary of Release Components" section of this message. This release also contains a significant collection of new components. Users are strongly encouraged to consult the "System Components" section below and read the descriptions and documentation of the items marked "new". This release is stored exclusively on subdirectories of [Indigo]<Cedar>. Other directories (e.g., CedarLang, CedarLib) are NOT part of the release and their contents should be treated with suspicion. In general, users should access release components using BringOver and the appropriate DF files; retrieving files with the FileTool is likely to lead to version mismatches and confusion. For this release, all top-level DF files for release components that users are likely to need are stored on [Indigo]<Cedar>Top>. Installation Procedure --------------------- This release does not require new microcode for either Dorados or Dolphins. There are new Cedar boot files, but no new CoPilot boot files (i.e., the CoPilot boot files from Cedar 2.6 are suitable for use with this release). To install the Cedar boot files, follow these instructions: 1) You should seriously consider erasing your volume. It is possible for the automatic installation procedure to fail if your volume is too fragmented. 2) Get to Othello, either on the Othello volume or from the NetExec. 3) Fetch [Indigo]<Cedar>Top>CedarDorado.boot to the Client volume. 4) Boot the Client volume. No switches are necessary, even for Dolphins without CoPilot volumes (formerly, the R switch was required). The sequence of events that occurs after 990 appears in the maintenance panel differs considerably from previous releases. The cursor will become a small Cedar tree and you will be prompted for your name and password. You must supply credentials that are acceptable to Grapevine; thus, the user name should include a registry (if you don't provide one, ".PA" is assumed). Once your credentials have been validated, an installation dialogue begins. The questions should be largely self-explanatory, but here's an informal description of what's going on: 1) The Cedar runtime likes to have a pre-allocated file to use for backing storage. (This is the file that, in previous releases, was created by the utility program CreateCedarVM.) If the installation procedure doesn't find this file on the disk, it will ask you how large a file is to be created. The system will try to create a contiguous file of the size you indicate, and will ask you to try again with a smaller size if contiguous allocation is impossible. 2) In addition to the boot file, certain files must be on the local disk before Cedar can operate usefully. The boot file "knows" where to find these files and will fetch them automatically. You will see a long script being typed as the retrieval occurs; you needn't pay much attention to this. You will also be asked if you want to have a personal DF file brought over after the standard release files have been retrieved. 3) After the files have been retrieved, you will be asked if you want to install your credentials on the disk. This is a mechanism to offer a reasonable amount of protection against unauthorized inspection of your local disk (about the same amount as was afforded by "password protection" on Alto disks). If you install credentials, you will be asked to supply your password whenever you enter the Cedar world from the Alto world or by pushing the boot button. This is true whether or not you have an installed checkpoint. After the installation dialogue is finished, the screen is cleared and the cursor remains as a tree for a while. Then, the screen changes to "background gray" and the cursor becomes a functioning hourglass. Shortly after, a "herald" line appears at the top of the screen, "icons" appear at the bottom, and eventually "Ready" appears in the herald line. The cursor becomes an arrow and the system idles, awaiting your input. As with previous releases, you may then optionally acquire lots of additional useful files by typing BringOver /a CedarClientFat.df (Note: NOT /p) to the UserExec. This will fetch the exported contents of most of the major packages, whether released as part of the boot file or as separate BCDs. Users with limited disk space probably shouldn't do this. Once you have brought over all the desired files, you may wish to make a checkpoint, using the button at the top of the screen. Note to Cedar implementors who use the Tajo boot files: This release includes new versions of TajoD*.boot on [Indigo]<Cedar>Top>. Even if you were using these during pre-release testing of Cedar 3.0, you should refetch them now. Known Problems ---------------- The following problems/glitches are known to exist in Cedar 3.0. (This list is courtesy of Mark Brown and makes no claim to completeness.) 1. The UserExec copy command has been observed to fail to concatenate files properly (as in "copy a ← b c d e f g"). However, this has not been repeatably produced. 2. The UserExec command "old foo" does not open file foo (it will open foo.mesa if it exists). This is not a problem for a file name with an extension, e.g. "old foo.tioga" works fine. The command "new foo" will open foo. 3. Some problems have cropped up in the UserExec with spelling correction; as a result, spelling correction is disabled by default. To turn it on, add "SpellingCorrectionEnabled: TRUE" to your profile. Complex compiler command lines (such as "compile a ← b[c: d, e: f]") do not work if they contain blanks. The command "delete *.mesa$" is 'corrected' into "delete *.mesa". ESC-completion for command names is observed not to work (though this may be coupled to the disabling of spelling correction). When it does "work", it has been observed to do undesirable things, e.g., it always leaves off the first char when there is no space after "←". 4. FTP.bcd and Maintain.bcd do not work in the UserExec (they import old Tajo interfaces). Maintain will be fixed soon, but is not part of the release; the future of FTP is unclear (in the meantime, use Bringover or the FileTool instead). 5. For now, the best way to find out the name of the currently logged-in Cedar user on a machine (such as a public Dorado with a Viewers display up and nobody sitting in front of it) is to type "Login<CR>" to the UserExec. It will prompt with something of the form "User Name: loggedInUserName.PA". Then type <DEL> to abort the Login command. 6. Plot viewers can't be destroyed. Miscellaneous Operational Notes ------------------------------- Cedar now remembers your credentials throughout a session. A session ends when you push the boot button on the keyboard or when you boot a volume other than the Client by means of the "boot buttons" at the top of the screen. Note that a session does not end if you use the Client "boot button" or the Rollback button, so Cedar will remember your credentials even after these actions. (Fine point: the credentials it remembers are the ones in effect at the time the button is pushed; if they don't match the installed credentials on the disk or are unacceptable to Grapevine, you will be asked to login again.) There is a button marked "Idle" in the extreme upper right corner of the screen. Pushing this button causes the screen to turn black and display a dancing "Type Key" cursor. This is the preferred way of ending a session without actually leaving the Cedar world. If you subsequently hit (almost) any key, you will be asked to login, after which the screen will be restored to its state at the time that "Idle" was invoked. System components ------------------- 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. BBV *Changed* Implementation in boot file Binder *Changed* BTrees *Changed* BugBane *Changed* Implementation in boot file CedarControl *New* Implementation in boot file CedarDB *New* CedarSnapshot *Changed* Implementation in boot file Chat *New* CIFS *New* Implementation in boot file CIFSCommands *New* CoFork *Changed* Communication *Changed* Implementation in boot file CompatibilityPackage *New* Implementation in boot file Compiler *Changed* DFFiles *Changed* FileTool *Changed* Implementation in boot file Formatter FTP GrapevineUser *Changed* Implementation in boot file Graphics *Changed* Implementation in boot file IFSFile IncludeChecker *Changed* Inscript *Changed* Implementation in boot file IOStream *Changed* Implementation in boot file Lister *Changed* ListsAndAtoms Implementation in boot file Loader Implementation in boot file MakeBoot *Changed* MCross *Changed* MesaScanner *Changed* Modeller *Changed* OnlineMergeSort *Changed* OnlineMergeSortRef *Withdrawn* Packager PerfStats *Changed* PGS *Changed* PilotKernel *Changed* Implementation in boot file PilotReals Implementation in boot file Pine *Changed* PlotPackage *Changed* PressPackage *New* PressScreen *New* Print *Changed* PriorityQueue *Changed* Random *Changed* RedBlackTree *Changed* RedBlackTreeRef *Changed* RefText *New* Rigging *Changed* Implementation in boot file RunExecAndViewers *Withdrawn* Runtime & RuntimeTypes *Changed* Implementation in boot file Sequin Set *Changed* SirPress *New* Spy *New* STPServer *New* TajoCedarSwap *Withdrawn* TempCedarExec *Withdrawn* TerminalMultiplex *New* Implementation in boot file UECP *New* Unique *New* UserExec *Changed* Implementation in boot file Viewers & Tioga *Changed* Implementation in boot file VTables *New* WalnutSend *New* Waterlily *New* Summary of Release Components ------------------------------- Note: In the descriptions that follow, 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 is stored on [Indigo]<Cedar>Documentation>ComponentName.press but there are occasional exceptions. BBV ---- DF file: [Indigo]<Cedar>Top>BBV.df Documentation: BBV.doc Implementor: Atkinson BugBane Viewer interface. Cosmetic changes and bug fixes only. BBV.doc is new. Binder ------ DF file: [Indigo]<Cedar>Top>Binder.df Documentation: see Mesa 5.0 Reference Manual and Mesa User's Handbook Implementor: Satterthwaite This release includes a major rework of parts of the binder. The external interface is unchanged. There are several major bug fixes and performance improvements, the most notable of which are the following: - (Sub)configurations appearing in CONTROL lists are implemented correctly. - merging of information about runtime types, atoms and rope literals is much faster - larger configurations can be processed without overflow - output operations are faster - internal pointers to copied symbols are correct BTrees ------ DF file: [Indigo]<Cedar>Top>BTrees.df Documentation: contact implementor Implementor: Levin Bug fixes only. BTree backing files may now be successfully copied with the FileTool. BugBane -------- DF file: [Indigo]<Cedar>Top>BugBane.df Documentation: BugBane.doc, BugBane.shorts, BugBane.wish Implementor: Atkinson The Cedar debugger. See BugBane.doc for change info. Mostly just bug fixes and robustness additions. CedarControl ------------ DF file: [Indigo]<Cedar>CedarControl>CedarControl.df Documentation: see below Implementor: Levin The following new interfaces are exported by the boot file (of which CedarControl is a part): UserCredentials: This interface provides a stand-alone mechanism for obtaining and validating and installing credentials (name and password). It is completely independent of the normal Cedar facilities and, as such, is intended primarily for use by initialization code and special system facilities. Comments in the UserCredentials.mesa are the only documentation. CedarVersion: The interface exports three numeric quantities that define the current version of Cedar. For the present release, CedarVersion.major = 3 and CedarVersion.minor = CedarVersion.patch = 0. This interface is the approved way of obtaining the current release version number. (The approved way of obtaining the date of the released boot file is Runtime.GetBuildTime[].) CedarInitOps: This interface contains a few procedures that relate to installation and start-up matters. It is primarily intended to be used by system facilities and Viewers. CedarDB --------- DF file: [Indigo]<Cedar>Top>CedarDB.df Documentation: see DBView.mesa and Cattell.pa Implementor: Cattell et al New component: the Cedar Database system exporting the "View" level interface. Several enhancements and bug fixes on version privately released to CedarDatabase↑.PA users, including an order of magnitude performance improvement on certain query operations. Future releases will be described as part of the Cedar release. Add yourself to CedarDatabase↑.PA for more extensive between-release discussion. CedarSnapshot -------------- DF file: [Indigo]<Cedar>Top>CedarSnapshot.df Documentation: see comments in CedarSnapshot.mesa Implementor: Levin No interface changes. A number of insidious bugs have been fixed, most of which showed up only on Dolphins. Rollback should also be somewhat faster (and Checkpoint somewhat slower) than in Cedar 2.6. Chat ---- DF file: [Indigo]<Cedar>Top>Chat.df Documentation: Type Chat? to UserExec Implementor: Stewart.pa Viewers chat tool. Multiple instances are supported. CIFS ---- DF file: [Indigo]<Cedar>Top>CIFSdf Documentation: CIFSManual.press Implementor: Gifford This is the first release of CIFS. CIFS Commands ------------------ DF file: [Indigo]<Cedar>Top>CIFSCommands.df Documentation: CIFSManual.press Implementor: Gifford This is the first release of User Exec commands for CIFS. CoFork ------- DF file: [indigo]<Cedar>Top>Cofork.df Documentation: CoFork.bravo, CoFork.press Implementor: Sturgis Unchanged (DF changes only). Communication --------------- DF file: [Indigo]<Cedar>Top>Communication.df Documentation: see Pilot Programmer's Manual Implementor: Birrell DF file changes only. CompatibilityPackage -------------------- DF file: [Indigo]<Cedar>Top>CompatibilityPackage.df Documentation: contact implementor Implementor: Levin This package contains the components of the Tajo/Common Software world that can plausibly execute without the Tajo user interface. It replaces the DF files [Indigo]<Cedar>Top>ComSoftPublic.df [Indigo]<Cedar>Top>TajoPublic.df [Indigo]<Cedar>Top>TajoFriends.df which are now obsolete. Users of interfaces in these DF files should consult the following list of interfaces supplied by CompatibilityPackage.df. Interfaces present in the above DF files but absent from this list are no longer supported. Ascii, CmFile, CommonSoftwareFileTypes, Date, DCSFileTypes, Directory, DirectoryExtras, ExtraCommonSoftwareFileTypes, FileStream, Format, HeapString, LongStorage, LongString, NameAndPasswordOps (new, see below), PropertyTypes, Segments (source: PilotSegments), SegmentsExtra, Storage, STP, STPOps, STPReplyCode, Streams (source: PilotStreams), String, Time The portions of Profile and TajoMisc that deal with the user name and password have been merged into a new interface, NameAndPasswordOps, which is included in CompatibilityPackage.df. The items in this new interface have the same names and types as their ancestors. For convenience, the following compatibility interfaces are also included in CompatibilityPackage.df, although no implementations are provided by this package. (The Cedar UserExec provides compatible implementations of Exec, ExecOps, and TTY). These interfaces were formerly available in TajoPublic.df and TempCedarExec.df, both of which are now obsolete. Exec, ExecOps, Feedback, TemporarySpecialExecOps, TTY Unlike its predecessors, CompatibilityPackage.df mentions the source and object for all of the above interfaces. Clients should no longer need to reference [Indigo]<APilot>MesaBasics> or [Indigo]<APilot>Tajo>. Continued use by Cedar programs of the interfaces supplied by the compatibility package is discouraged, particularly of those for which more appropriate Cedar facilities exist (such as FileStream, Format, HeapString, LongStorage, LongString, Streams, Storage, and String). Compiler -------- DF file: [Indigo]<Cedar>Top>Compiler.df Documentation: Cedar7T11.press Implementor: Satterthwaite Minor bug fixes only. The interface to the system modeller has changed. If you use the modeller, you must update your compiler and modeller at the same time. DFFiles ------- DF file: [Indigo]<Cedar>Top>DFFiles.DF Documentation: DFFilesRefMan.Press Implementor: Schmidt All programs in this release (except the RemoteGetTool) can be run under any of 1) the Cedar 3.0, UserExec world, 2) the old Tajo, TempCedarExec world we know so well, 3) the CoPilot, SimpleExec world. The RemoteGetTool can only be run in the Cedar 3.0, UserExec world. There are these changes: 1) VerifyDF: now gives a warning for .Bcd, .Mesa, and .Config files that do not appear to be necessary for the compilation and binding of files marked "+" in the file. 2) BringOver: You can prefix a file on a line by the character "~", in which case it will be retrieved if the file does not exist on the disk. If it is present, then it will not be retrieved. Also, you can now say BringOver [Indigo]<Cedar>Foo.Mesa [Indigo]<Cedar>Pkg>FooImpl.Mesa to BringOver, and it will retrieve those files. Files that end in .DF will be read and their contents retrieved as usual. You can now type "a" in addition to "y", "n", and "q" to BringOver and it will behave as if /a was typed on the command line. 3) DFDisk now handles larger numbers of files on a volume. 4) There is now a client-callable interface to read DF files. Contact the implementor if you want to write programs that read, parse, and analyze DF files. 5) The documentation has been revised slightly. FileTool -------- DF file: [Indigo]<Cedar>Top>Filetool.df Documentation: Type FileTool? to UserExec Implementor: Stewart.pa User credentials are now aquired solely from the UserExec. Typing in the connect password field now echoes '*. Delete buttons are guarded. Formatter --------- DF file: [Indigo]<Cedar>Top>Formatter.df Documentation: see Pilot User's Handbook Implementor: Levin Unchanged from previous release. FTP ---- DF file: [Indigo]<Cedar>Top>FTP.df Documentation: [Indigo]<Cascade>Doc>FTP.doc Implementor: Teitelman Unchanged from previous release. GrapevineUser -------------- DF file: [Indigo]<Cedar>Top>GrapevineUser.df Documentation: [Indigo]<Grapevine>Docs>Interface.press Implementor: Birrell A safe interface is now available; contact implementor for details. Graphics -------- DF file: [Indigo]<Cedar>Top>Graphics.df Documentation: see comments in Graphics.mesa Implementor: Wyatt Minor bug fixes only. IFSFile ------ DF file: [Indigo]<Cedar>Top>IFSFile.df Documentation: see implementor Implementor: Levin Unchanged from previous release. IncludeChecker --------------- DF file: [Indigo]<Cedar>Top>IncludeChecker.df Documentation: contact Paul Rovner Implementor: SDD, Paul Rovner No changes, only reconstruction for Cedar 3.0. Inscript ------- DF file: [Indigo]<Cedar>Top>Inscript.df Documentation: InscriptImplementation.press Implementor: Swinehart, McGregor Bug fixes and some minor features for the Cedar 3.0 terminal multiplexor. IOStream -------- DF file: [Indigo]<Cedar>Top>IOStream.df Documentation: see comments in IOStream.mesa Implementor: Teitelman Bug fixes only. Lister ----- DF file: [Indigo]<Cedar>Top>Lister.df Documentation: see Mesa User's Handbook Implementor: Satterthwaite There have been minor bug fixes in the Lister program. The programs CL and SL are unchanged from the previous release. The program BL has some new options for RT types wizards (see implementor). There is a new program GL (also registered as GlobalLister). Its purpose is to point out global frames that could easily be made smaller and/or to discover global state that should be protected by monitors. It is invoked by a command of the form GL file1 file2 ... where file1, file2 ... are names of object files (extension .bcd assumed) produced by either the compiler or binder. The output is written to files file1.gl, file2.gl, ... unless you use the switch /t, which sends the output to the executive's typescript instead. Note that symbol tables for the component modules must be available on your local disk to get useful information about a config. For each module, the following information appears in the output: (1) the module name (2) the global frame size (in words) (3) the number of gfi slots required (if > 1) (4) a list of variables in the global frame, with the size of each (in words) (5) a message if the module contains any STRING literals or StringBody's in the global frame (6) the number of words in the global frame not attributable to the variables listed in (4) or to frame overhead. If a module uses rope literals or atoms, a variable &refs will appear, with a size equal to twice the number of rope literals plus atoms; if it provides or uses runtime type information, a variable &types will appear, with a size equal to the number of type codes required. ListsAndAtoms -------------- DF file: [Indigo]<Cedar>Top>ListsAndAtoms.df Documentation: see comments in List.mesa and Atom.mesa Implementor: Teitelman Unchanged from previous release. Loader ------ DF file: [Indigo]<Cedar>Loader>Loader.df Documentation: none Implementor: Rovner Unchanged from previous release. MakeBoot --------- DF file: [Indigo]<Cedar>Top>MakeBoot.df Documentation: MakeBoot.press Implementor: Levin The following changes have been made: 1) The BCD[] specification is now implemented (see documentation). 2) There is no limit on the number of input BCDs, other than the size of the loadstate. 3) More, and more useful, information appears in the loadmap file. MCross ------- DF file: [Indigo]<Cedar>Top>MCross.df Documentation: MCross.doc Implementor: Paul Rovner No changes, only reconstruction for Cedar 3.0 MesaScanner ------------ DF file: [Indigo]<Cedar>Top>MesaScanner.df Documentation: see comments in MesaScanner.mesa Implementor: Atkinson DF file changes only. No interface or implementation changes. Modeller ------------ DF file: [Indigo]<Cedar>Top>Modeller.DF Documentation: ModelRefMan.Press and implementor Implementor: Schmidt This is a viewers-based version of the modeller. The user interface has been changed extensively. Contact implementor before using. OnlineMergeSort ---------------- DF file: [indigo]<Cedar>Top>OnlineMergeSort.df Documentation: see comments in ListSort.mesa Implementor: MBrown Unchanged (DF changes only). OnlineMergeSortRef ------------------- DF file: [Indigo]<Cedar>Top>OnlineMergeSortRef.df Documentation: OnlineMergeSortRef.press Implementor: M. Brown This component is withdrawn. Identical functionality is provided by the List interface, which is exported from the boot file. Packager -------- DF file: [Indigo]<Cedar>Top>Packager.df Documentation: see Pilot User's Handbook Implementor: Levin Unchanged from previous release. PerfStats -------- DF file: [indigo]<Cedar>Top>PerfStats.df Documentation: PerfStats.bravo, PerfStats.press Implementor: MBrown Unchanged (DF changes only). PGS ---- DF file: [Indigo]<Cedar>PGS>PGS.df Documentation: contact implementor Implementor: Satterthwaite Recompilation only. PilotKernel ---------- DF file: [Indigo]<Cedar>Top>PilotKernel.df and UtilityPilotKernel.df Documentation: Pilot Programmer's Manual Implementor: Levin Two small, but operationally significant, changes have been made. First, if you have no CoPilot volume, Pilot will assume you want to use a remote debugger and will act as if you had supplied the R switch at boot time, even if you didn't. This is significant to Dolphin users, who now need not bother with the R switch and associated rigamarole on the Alto partition. Second, (nearly) all Pilot interfaces are now exported, making it easier for wizards and hackers to do what they want/need. PilotReals --------- DF file: [Indigo]<Cedar>Top>PilotReals.df Documentation: MesaFloat60.press Implementor: Stewart Unchanged from previous release. Pine ---- DF file: [indigo]<Cedar>Top>Pine.df Documentation: contact implementor Implementor: MBrown Unchanged (DF changes only). PlotPackage ----------- DF file: [Indigo]<Cedar>Top>PlotPackage.df Documentation: see comments in Plotter.mesa, RealEvent.mesa, RealVec.mesa, RefAnyStream.mesa, Timer.mesa or contact Paul Rovner Implementor: Paul Rovner No changes, only reconstruction for Cedar 3.0. PressScreen ----------- DF file: [Indigo]<Cedar>Top>PressScreen.df Documentation: below Implementor: Cattell, Teitelman SirPressPackage is no longer incorporated within PressScreen, as SirPressPackage is separately released. The user must therefore run SirPressPackage before PressScreen unless the Tioga typesetter is loaded (since it uses SirPressPackage already). Red-buttoning the PressScreen button that appears at the top of your screen causes the left half of the screen to be sent to a press file (useful for readable overhead slides), blue-buttoning causes the whole screen to be sent, PressScreen tells you which in case you forget. It also explains how to send its output to a printer. Print, PressPackage ------------------ DF file: [Indigo]<Cedar>Top>Print.df [Indigo]<Cedar>Top>PressPackage.df Documentation: Print.df Implementor: Plass Print is the old standby program for printing things on a Press printer. By popular demand, I have bound PressPackage into Print.bcd, so it should work as before. Print now examines your profile for entries of the form Hardcopy.PressPrinter: Clover Hardcopy.Font: TimesRoman6 Hardcopy.PrintedBy: Plass, Michael Hardcopy.Landscape: FALSE Hardcopy.Columns: 2 If the Hardcopy.PrintedBy entry is omitted or empty, the name of the currently logged-in user will appear on the break page. Hardcopy.Landscape defaults to TRUE, and Hardcopy.Font defaults to Gacha6 for landscape or Gacha8 for portrait. Hardcopy.PressPrinter defaults to Clover for now. PriorityQueue ------------- DF file: [Indigo]<Cedar>Top>PriorityQueue.df Documentation: see comments in PriorityQueue.mesa Implementor: Atkinson No changes for Cedar 3.0. Random ------- DF file: [indigo]<Cedar>Top>Random.df Documentation: Random.tioga, Random.press Implementor: MBrown Unchanged (DF changes only). RedBlackTree ------------- DF file: [indigo]<Cedar>Top>RedBlackTree.df Documentation: see comments in OrderedSymbolTable.mesa Implementor: MBrown Unchanged (DF changes only). RedBlackTreeRef ---------------- DF file: [indigo]<Cedar>Top>RedBlackTreeRef.df Documentation: see comments in OrderedSymbolTableRef.mesa Implementor: MBrown Unchanged (DF changes only). RefText ------- DF file: [indigo]<Cedar>Top>RefText.df Documentation: see comments in RefText.mesa Implementor: MBrown The RefText interface includes some simple, generally-useful procedures for REF TEXT (a mutable, garbage-collected sequence of characters). As much as possible, the operations parallel the Rope interface's operations on ROPE (Equal, Fetch, Find, Length, Map, Match, SkipTo, SkipOver). Unlike ROPE, there is a destructive Append operation on REF TEXT. The RefText interface also gives access to a pool of preallocated TEXTs, for use by applications that frequently allocate and discard scratch TEXTs. Rigging ------- DF file: [Indigo]<Cedar>Top>Rigging.df Documentation: Rope.press (from Rope.tioga) Implementor: Atkinson.PA No interface changes. Rope.Compare has been fixed (it used to return 0 when one of the arguments was NIL). Documentation has been converted to Tioga. RunExecAndViewers -------------------- DF file: [Indigo]<Cedar>Top>RunExecAndViewers.df Documentation: see implementor Implementor: M. Brown This component is withdrawn, since the functionality is now provided directly in the boot file. Runtime and RuntimeTypes --------------------------- DF file: [Indigo]<Cedar>Top>Runtime.df Documentation: Runtime.press, RTTypes.press Implementor: Paul Rovner No changes, only reconstruction for Cedar 3.0 Sequin ------ DF file: [Indigo]<Cedar>Top>Sequin.df Documentation: see implementor Implementor: Levin Unchanged from previous release. Set --- DF file: [Indigo]<Cedar>Top>Set.df Documentation: Set.doc Implementor: Paul Rovner No changes, only reconstruction for Cedar 3.0. SirPress ------- DF file: [Indigo]<Cedar>Top>SirPress.df Documentation: see comments in SirPress.mesa, or contact implementor Implementor: Plass.PA SirPress is a module for writing Press files. It is functionally similar to the output half of Maleson's PressIO package. Spy --- DF file: [Indigo]<Cedar>Top>Spy.df Documentation: Spy.doc Implementor: Maxwell This is the first release of Cedar Spy. SpyViewer has been incorporated into Spy.bcd; you only need to load "Spy.bcd" to run the Spy. STPServer --------- DF file: [Indigo]<Cedar>Top>STPServer.DF Documentation: None Implementor: Schmidt The STP server allows some other machine to retrieve from or store onto your machine when running Cedar. It is just like the Alto FTP server. To use it, type Run STPServer to the User Exec. TajoCedarSwap -------------- DF file: [Indigo]<Cedar>Top>TajoCedarSwap.df Documentation: see implementor Implementor: Levin Tajo is no longer supported. Similar functionality is available in the new TerminalMultiplex interface. TempCedarExec --------------- DF file: [Indigo]<Cedar>Top>TempCedarExec.df Documentation: none Implementor: Levin As its name implies, this package was temporary. Its functionality is now available in the UserExec, which is part of the boot file. TerminalMultiplex ------------------ DF file: [Indigo]<Cedar>Top>TerminalMultiplex.df Documentation: see comments in TerminalMultiplex.mesa Implementor: Levin This is a new facility that replaces the old TajoCedarSwap interface. It provides for multiplexing of "virtual terminals" on the physical one. Although the interface is fairly general, certain of its facilities are effectively preempted by code in the boot file; as a result, potential users of this interface should contact the implementor before attempting to use it. UECP ----- DF file: [indigo]<Cedar>Top>UECP.df Documentation: See uecp.mesa Implementor: Stewart/Gifford User Exec Command Line Parser. New for Cedar 3.0. Unique ------- DF file: [Indigo]<Cedar>Top>Unique.DF Documentation: Unique.Doc Implementor: Schmidt Unique parses various tokens and sorts them, eliminating duplicates. For example, you can give Unique an input filename and it will parse the contents of the file, eliminating tokens that do not look like filenames (e.g. XX.XX), and then will print out a sorted list of filenames with duplicates eliminated. It can also sort by file name extension (e.g. .Mesa, .Bcd), by numbers, by words (a sequence of letters sep. by white space), and by lines. If an input file is not given, Unique will use the current selection as input. To run Unique, type Run Unique to the UserExec. Select {Files, Extensions, ...} as desired, give a filename or select text to be processed, and push the "Go" button in the top menu. The Unique program was written by Steve Hayes of SDD. Send bugs to the implementor. UserExec -------- DF file: [Indigo]<Cedar>Top>UserExec.df Documentation: self-documenting Implementor: Teitelman There is an extensive list of changes in [Indigo]<Cedar>UserExec>Release.msg; the following areas have changed in some interesting or significant way: 1) Two modes: evaluation and command 2) Copy and Rename commands now exist 3) *, ↑X, and ESC expansion are now supported 4) Multiple executive viewers 5) Personalized profile 6) Redo enhancements 7) Registered command handling is different 8) Programming interfaces have changed substantially 9) Interpreter/DWIM behave differently Viewers and Tioga ------------------ DF file: [Indigo]<Cedar>Top>ViewersAndTioga.df Documentation: Tioga documentation on [Indigo]<Tioga>Documentation>. Contact implementors for additional information. Implementors: TiogaImplementors↑.pa (This component contains: TIP, Viewers, Tioga, Clock, Watch, VBoot, TSetter, EditTool, EditHistoryTool, End, JaM, and JaMGraphics.) Major User Interface Changes Buttons with a cross-bar pattern over the text are "guarded" and may only be invoked when the button is clicked once to remove the "cover" and then again while the cover is removed. The new "Idle" button will turn off the display and post a random-walk cursor. If you type any key and then login, you'll get your screen back. The "Boot" button doesn't actually boot, but instead displays a set of guarded boot buttons. You will not have to log in again if you boot the client volume or do a "RollBack" from the buttons. The Tioga TIP table has been changed in order to reduce errors during type-in. Some of the more important changes are listed below; Consult the Tioga documentation for more information. Function Old New Cancel BW SHIFT-ESC Look Spare2 BW Next Placeholder COM P Spare2 Next Viewer CTRL V COM V Major Client Interface Changes Buttons: ButtonProcs are now ViewerClasses.ClickProcs, which are shared with Menus. You will have to edit your ButtonProcs to reflect the new arguments. Buttons may now be "guarded" in the fashion of Dan Swinehart's VBoot buttons, by passing a parameter when the button is created. Containers: Now take a scroll parameter on creation. Cursors: User generated cursors are now "first-class" citizens in that they can be used any place a system-defined cursor was used in the past. Menus: A number of new menu commands have been added to permit modifying the menu of a particular viewer in less cumbersome ways than before. MenuProcs are now ViewerClasses.ClickProcs, which are shared with Buttons. You will have to edit your MenuProcs to reflect the new arguments. TypeScript: SetUserAbort is a new procedure that can be called to simulate the user typing CTRL-DEL. This is a low level interface for use by IOStream. ViewerClasses: The icon flavor and the TIPTable are now in the viewer instance, and are initialised from the class when the viewer is created. This permits you to changes the display and type-in characteristics for an individual viewer without having to create a dummy class. The ScrollProc arguments have changed to permit feedback to the user about where they are in the file. ViewerOps: The various viewer tree enumeration routines now all take the same type of procedure parameter. ComputeColumn is a new interface that allows clients to repaint a column by recomputing the screen space allocation. This is a low-level interface for clients who need special performance tuning for their application. ViewerTools: InhibitUserEdits is a new procedure that can be called to make Tioga viewers effectively "Read Only" in that the user will no longer be able to change the text. Your program can continue to modify the text through the other ViewerTools interfaces. VTables -------- DF file: [Indigo]<Cedar>Top>VTables.df Documentation: see comments in VTables.mesa Implementor: Atkinson Rectangular tables Viewer class. New for Cedar 3.0. WalnutSend ------------ DF file: [Indigo]<Cedar>Top>WalnutSend.df Documentation: see below Implementor: Haugeland New component. Several enhancements and bug fixes on version privately released to alpha users. This is an interim system for sending mail until the Walnut mail system is robust and powerful enough for general use. Type WalnutSend to the UserExec to create an iconic WalnutSend window. Additional WalnutSend commands to the UserExec will produce more windows, as will the NewForm button in the the window. (This is not necessary if you put NewFormAfterDelivery: TRUE in you user.profile, which causes a blank message form to be left after sending a message.) The NEXT key moves to the next field of a message. Since Cedar 3.0 now insures that the user is logged in, we've removed the Login menu button from WalnutSend. If you have NewFormAfterDelivery: TRUE and the input focus is in the body of the message being sent, the first placeholder will be selected in pending delete mode after the message is sent. Waterlily ------------------ DF file: [Indigo]<Cedar>Top>Waterlily.df Documentation: long help msg via UserExec. Implementor: Kolling Source compare program. The command line format has changed from Alto Waterlily in two ways: (1) the help switch has been superseded by the long help msg via UserExec, and (2) the switches specifying Bravo or not-Bravo have been replaced by switches specifying Tioga, Unformatted, or Bravo; the default format for input files is now Tioga. Note that the new Tioga switch currently still does not result in double null being seen as eof, as the implementation is waiting on pending changes to IOStream. Unless otherwise indicated above, questions about changes in individual components should be addressed to their implementors. The Release Master