Date: 16 Dec. 1982 9:18 am PST (Thursday) Sender: Levin.PA Subject: Cedar 3.5.1 release From: Release Master To: CedarUsers↑, CedarImplementors↑ cc: CedarCoordinators↑ Reply-To: Levin Cedar 3.5.1 is released. This is a maintenance release that fixes a collection of small but troublesome bugs. No public interfaces have changed, so recompilation should not generally be necessary. Installation Procedure --------------------- This procedure assumes you have a machine with Cedar 3.5 installed. Otherwise, refer to the "Setting Up Your Disk" section of [Indigo]<Cedar>Documentation>Introduction.press for further information. (Be sure you have the version corresponding to this release.) 1) Get to Othello. 2) [Optional] Erase your Client volume by typing Erase<CR> to Othello. You will be prompted for the volume name, type Client<CR>. Confirm as necessary. 3) Type @<CR> to Othello. You will be prompted for a command file name. Type either [Indigo]<Cedar>Top>DoradoRelease.cm or [Indigo]<Cedar>Top>D0Release.cm as appropriate. New boot files will be fetched for all volumes, as well as new microcode and germ files. 4) On Dorados, Cedar will automatically be booted upon completion of the command file. (Actually, the CoPilot volume will first be booted, after then a physical volume boot will occur, causing Cedar to be booted. Be patient.) On Dolphins, the Alto partition will be booted; hold down the "P" key and press the boot button to boot Cedar. 5) During the installation dialogue, you will be asked if you wish to use a personal DF file. You may safely answer "yes" to this question. Significant Changes in this Release ---------------------------------- This section describes the components that have changed significantly since Cedar 3.5. As usual, unless otherwise indicated, DF files are on [Indigo]<Cedar>Top> and documentation files are on [Indigo]<Cedar>Documentation>. BugBane -------- DF file: BugBane.df Documentation: BugBane.doc, BugBane.shorts, BugBane.wish Implementor: Atkinson Many BugBane and BBV interfaces were recompiled due to a minor change in BBEval. Visible changes in BugBane for Cedar 3.5.1 include the following: Variant record constructors work for positional constructors. Variant record constructors with components specified by name do not yet work (it's quite tricky). With this change, it is now possible to interpret the follwing: &nn ← Convert.ValueToRope[[signed[1]]] Setting the global context (evaluating "&nn ← GlobalFrameName") now works in an action area that resulted from a breakpoint or uncaught signal. This feature used to work only for action areas that had no associated local frame. BugBane's search rules now work somewhat better. However, the results of OPEN are still not recognized. A simple name is looked up in the following order: 1: special symbols (TRUE, FALSE, and &-variables) are found first 2: the global context, if any (set by evaluating ← globalFrameName) 3: the call stack associated with the action area (up to 8 frames deep) (this includes searching the statically enclosing local and global frames for every local frame searched) 4: the global frame table BugBane should no longer confuse the local and global frames when examining the stack for global frame initialization procedures (this was actually an AMTypes bug). TSetter ------- DF file: TSetter.df Documentation: TSetterDoc.Tioga, [Indigo]<Cedar>TSetter>TSViewer.mesa Implementor: Plass A "TSetter" command is now registered with the user exec. The first parameter is the server, and the rest of the line is a list of files to typeset. See TSetterDoc.Tioga for more details. There is a new interface, TSExtras, that contains a client-callable procedure to typeset and print a tioga viewer. This will be moved to the TSViewer interface with the next major release. UserExec -------- DF file: UserExec Documentation: [Indigo]<Cedar>UserExec>UserExec.mesa, UserExecUtilities.mesa, Spell.mesa Implementor: Warren Teitelman yellow click compile button => same semantics but bind. blue click means both. (1) You can now set the global default context in an action area, either by typing ← modulename (as before), or via a new user execcommand SetContext. SetContext{cr} will reset the global default context, i.e. clear it out. (2) blue clicking Showframe now shows args + allVars, i.e. the local variable for the current block, plus all blocks that this is nested inside of, up to the last procedure boundary. If you just want to see the local variables of this block, type Showframe Vars. (3) Showframe now permits a new option: is globals, e.g. Showframe args globals will print current frame, plus its arguments, plus the globals of the global frame that is the globalparent of the current frame. You can specify the globals option with the mouse by holding the control key down when you click Showframe, e.g. Red-CTRL is same as Showframe globals, Yellow-CTRL is Showframe args globals, and Blue-CTRL is Showframe args allVars globals. (4) to see the globals of a random global frame, i.e. one not necessarily the global parent of a local frame on your callstack, evaluate the global frame with ! following the expression, e.g. FooImpl!. (5) new feature on compile button: yellow => bind, blue => compile and bind. Here is how it works. If you select something and yellow click compile, same as bind applied to whatever you selected. However, if the selection is a point selection, and the corresponding viewer does not end in .config, then the AMModel is used to find the name of the config. In this case, the binding will not actually proceed until you type CR, i.e. the command will load the input buffer with Bind corresponding-config, and wait for you to type a CR (or edit the line). Similarly, blue click compile button with point selection generates a line of the form Compile file; Bind config, but no CR at the end. Thus, if I edit the file UserExecImpl and blue click compile, I get Compile userexecimpl; Bind userexecutive. Note that in order for this to work, the config has to have been run. However, since it never does the bind automatically unless you explicitly select the name of the config, no harm is done in trying. (6) The list command now prints total number of pages. UserProfile ---------- DF file: UserProfile.df Documentation: [Indigo]<Cedar>UserProfile>UserProfile.mesa, UserProfile.press, UserProfile.doc Implementor: Warren Teitelman New: Previously part of IO.df. ViewersAndTioga ------------------ DF file: ViewersAndTioga.df Documentation: Introduction.tioga, TiogaDoc.tioga, Viewers.tioga Implementor: McGregor Rollback, Checkpoint, and booting now require confirmation if there are any dirty viewers. Walnut, WalnutSend -------------------- DF file: Walnut.df Documentation: HowToUseWalnut.tioga, HowToUseWalnut.press Implementor: Willie-Sue Haugeland Message Sending Changes: (Walnut and WalnutSend) The sending menu items have been re-arranged; Send is on the far left and is no longer guarded. AbortSend has been added, and is visible as long as it is possible to abort the send. You may have multiple Sends in progress. While a message is being sent, the msg viewer is not edittable. Walnut Changes: If you blue-click Send, you will get a NewForm in the current sender once the message has been accepted by Grapevine. The log file is not written under the transaction machinery (this saves space and time if your files are local). The log file gets flushed after every write. Very few database commits are done automatically: (1) at startup if the log contains entries not in the database, (2) when you Quit, (3) when you do a CloseAll. The [New Version] herald has returned to the Walnut control window, indicating when there are uncommitted database updates. In MsgSet displayers, the first part of the To: field is shown, if the message is from the logged-in user. Two user profile options have returned: Walnut.InitialActiveOpen: FALSE -- if TRUE, a viewer on the Active MsgSet is opened Walnut.InitialActiveIconic: FALSE -- if TRUE and InitialActiveOpen=TRUE, the viewer on the Active MsgSet is initially iconic The executive command WalnutExpunge now does not return control to the executive until the expunge has completed. Note that the WalnutOldMailReader executive command returns after queuing an action and before the work is done. Bug Fixes in this Release ------------------------ The following packages (most of which are in the boot file) contain minor bug fixes: AMModel AMTypes BBV BugBane DoradoMicrocode Graphics IO Loader Othello PilotKernel SafeStorage ScanZones SirPress TSetter UserExec ViewersAndTioga ViewRec Walnut Known Problems ---------------- The following problem is known to exist in Cedar 3.5.1: 1. If a rollback is forced to prompt for credentials, it will probably hang up. To avoid this, set the physical volume boot file to Othello. Subsequently, when you boot the physical volume (a "P" boot on a Dolphin or triple "C" boot on a Dorado), Othello will get control and ask for credentials. You can then use Othello's Rollback command to rollback your client volume without further prompting for credentials. This bug will be fixed in Cedar 3.5.2. Questions about changes in individual components should be addressed to their implementors. The Release Master