CedarStatus.tioga Cedar 6.0 status Component Status A component is assigned the lowest level such that no DF file that its DF file depends on is ranked higher, and the only components that are ranked on the same level are either independent, or have a cyclic dependency of DF files. Notation: ! - needs remake at some level # - interfaces made $ - package made % - changes coming ? - some doubt here Nucleus $% 0: MesaRuntime $ 1: Heads* $%, Rope $ color display support [Wyatt] 2: Tentacles $, Real $ 3: VM $ <-> Disk $ 4: BasicLoadState $ 5: SafeStorage $%, BCDStuff $ SafeStorage impl additions coming ? [Hagmann] 6: File $, LoadState $, ProcessProps $, Terminal $% color display support [Wyatt] 7: BTree $, CedarRuntime $ 8: BasicTime $ -> IO $ -> Communication $ (-> BasicTime ...) 9: GrapevineUser $%, FormatDisk $, Pup $, SimpleTerminal $, STP $ 10: Rollback $, UserCredentials $% impl support for UserCredentialsBackdoor ? [Hagmann] 11: FS $ 12: FileStream $, Loader $ 13: Iago $ Germ $ Depends on Nucleus. 0: Germ $ Packages $% Depends on Nucleus. 0: DFPackage $, BasicPackages $, UserProfile $% UserProfileBackdoor coming ? [Hagmann] 1: Idle $, RPCRuntime $ 2: Installer $ AbstractMachine $% Depends on Nucleus and Packages. 0: VersionMap $, WorldVM $ 1: AMTypes $ 2: AMModel $ 3: AMEvents $% AMEventsBackdoor implementation coming ? (Hagmann) 4: AMProcess $, PrintTV $ 5: Interpreter $ UserInterface $% Depends on Nucleus, Packages, AbstractMachine. 0: Inscript $, Rosary $, TRope $, TJaM $ 1: TIP $, Imager $% 2: Viewers $% 3: Tioga $% 4: ViewerIO $ 5: ReadEvalPrint $ Tools $% Depends on Nucleus, Packages, AbstractMachine, UserInterface. 0: EditTool $, DebugTool $, DFTool $, Clock $, BootTool $, Watch $, CommandTool $ 1: Chat $, InterpreterTool $ 2: Spy $, Compiler $ 3: Binder $ Others $% Depends on Nucleus, Packages, AbstractMachine. 0: BigCardinals $, BravoToTioga $, BTreeSimple $, BTreeTest $, Dependencies $, DFIncludes $, DiskTool ?, EditorComforts $, ExtraIago $, FastMouse $, FSUtil ?, GVMail $, Lister $, LupineStubs $, Maintain $, MakeBoot $, PeekMail ?, PGS ?, Pupwatch $, RedBlackTree $, RegularExpression $, ReleaseTool $, Scaled $, Sequin $, SirPress $, STPServer $, Tapes ?, VersionMapBuilder $, VTables.df $ 1: Celtics $, Grep $, IFSFile $, Lupine $, Peanut $, PressReader !, Waterlily $ 2: AlpineShared $, ShowPress ?, TSetter ! 3: AlpineUser $ 4: Cypress $, Yodel ? 5: Walnut $% Bugs To Fix AlpineUser AlpineCmdsImpl does not recover well from some aborts. In particular, in AlpineCmdsImpl.KernelCopy: CloseFile[toFile]; CloseFile[fromFile]; IF ((transHandle.Finish[requestedOutcome: commit, continue: FALSE] # commit) AND (AlpineFileType[toFile])) THEN ERROR; [Murray] Indigo dependencies 1) The spelling tool gets its bitTable from [Indigo]SpellingTool.BitTable. This file should probably be put into the release. 2) ShowPress looks for [Indigo]Fonts.widths. This is done by ShowPressImpl.Open. This should go away when the Imager replaces Graphics. FS (& others) We need to take advantage of pseudo-servers in various places that try to open critical files. [Atkinson] CommandTool Destroying a split CommandTool viewer does not work well. The original viewer should be protected from destruction, I guess, when there is a split. [various] change to ATOM literals [Spreitzer] Scanner.Atom (Compiler.df) allow $"..." as an atom literal LogPack.PrintOperand (Compiler.df) print $"..." correctly if non-alphanumeric in name or alpha does not start name ? IOScanImpl (IO.df) allow $"..." as an atom literal PrintTVImpl (PrintTV.df) print $"..." correctly if non-alphanumeric in name or alpha does not start name Planned or Requested Interface Changes BigCardinals BigFromSmall, BigToSmall should traffic in INTs. [Plass] How about BigFromReal, BigToReal [Plass] IO Make IO.Error less destructive of information than it is; a scheme like FS uses would be nice. [Plass] (RRA: too much work) Make comments less verbose; refer to IODoc instead. (RRA: NO) [Plass] Math Use Doug's new vector stuff in place of Vector. [Plass] Make Complex have its own type, provide conversion routines to/from VECs [Plass] PlotPackage Prettify RealVec and move to Real.df. [Plass] (RRA: NO) FS Make constants for some common StreamOptions. [Plass] (RRA: which ones?) (impl) FS errors for disk errors should put the info about what the error was and where it happened in the rope. [Plass] Make comments less verbose; refer to FSDoc instead. [Plass] (RRA: NO) Terminal Replace colorBitmapA and colorBitmapB with entries of type CountedVM.Handle. [Plass] TSetter Get rid of TSWrecker. [Plass] Viewers In ViewerClasses, vviewer => viewer in one of the comments. [Plass] Watch Display ether stats. [Murray] Don't power off if it editing files (or other interesting reasons). [Plass] Changes to interfaces between Cedar5.3 and Cedar6.0 In general In general, most interfaces should not use UNSPECIFIED (replace by WORD) or ARRAY [0..0) OF T (usually replace by SEQUENCE COMPUTED CARDINAL OF T). The use of UNSPECIFIED is an implicit LOOPHOLE that may make it harder to transfer to Dragon. The use of ARRAY [0..0) OF T is just plain obsolete. Copyright notices should be added or updated. Use the (C) button provided by EditorComforts (a new Cedar package). Where files do not have Tioga format, they should be sent through TiogaMesa. Use of the code format for nodes is recommended. Doug Wyatt and Rick Beach made a pass through the Nucleus interfaces to make them more readable and consistent. AMEvents AMEventsPrivate folded into AMEvents. [Atkinson] AMTypes AMFilesExtras folded into AMFiles. [Atkinson] AMTypes Documentation improved somewhat (still needs work). Size returns an INT to avoid overflow (even though you can't allocate such a beast). Prev and IsCatch added. [Atkinson] BasicPackages Documentation files contain out-of-date full filenames, and nothing else. [Plass] Removed those (misnamed) documentation files. The documentation (such as there is) is in the interfaces. [Atkinson] Commander Folded in CommanderExtras, and placed an interpreted field in the CommandProcObject type. [Atkinson] Random Changed to an object-oriented interface. RandomInt and RandomCard have been retired to a richly-deserved oblivion. [Atkinson] RefTab Removed the opaque type so REF ANY discrimination will work. Changed GetSize to return an INT. [Atkinson] RopeFile Moved AppendChars to Rope. [Atkinson] RopeList Transferred here from Commander (suggested by Plass). Some new operations added & documentation improved. [Atkinson] PriorityQueue Removed the opaque type so REF ANY discrimination will work. [Atkinson] SymTab Removed the opaque type so REF ANY discrimination will work. Changed GetSize to return an INT. Limited the possible modulus to improve efficiency (and to reflect reality). Added FetchText operation so users can lookup something from a REF TEXT buffer without creating a ROPE. The implementation now uses a faster and more complete hashing function based on the Checksum instruction. [Atkinson] Communication OISCPConstantsAdditions folded into OISCPConstants, OISCPTypesAdditions folded into OISCPTypes. [Atkinson] EthernetDriverStats New interface allows higher-level access to basic Ethernet driver statistics. [Atkinson, Murray] File Booting Added registration of a procedure to check for permission to boot (procedures to check for permission to checkpoint could be registered). Also added CallBootingProcs to invoke those procedures to determine if it was OK to boot or power off or whatever. [Atkinson] File File.Error now indicates which disk page (if any) caused the error. [Willie-Sue] Graphics Obsolete. Clients should now use the Imager. [Wyatt & Plass] GrapevineUser Folded GVExtras into GVNames. [Atkinson] GVBasics.ItemType added Interscript option. [Atkinson] Heads* (HeadsCommon, HeadsDorado, HeadsD0, HeadsDLion) MicrocodeVersion removed (a useless interface). [Wyatt] Merged in DiskFaceExtras, ProcessorFaceExtras, SA4000FaceExtras to DiskFace, ProcessorFace, SA4000Face. [Atkinson] ProcessorFace useLongMapOps is a flag that indicates which set of map operations should be used. This is important because at present Dorados (and, perhaps someday, DTigers) use the long map operations, and Dolphins and DLions use the short ones. Used by BootFile & VMInternal. [Atkinson] DisablePowerOff & EnablePowerOff added. [Atkinson] Imager Many new interfaces to replace old facilites in Graphics. This is particularly to improve functionality and Interpress support, but should also improve performance for many applications. [Wyatt & Plass] IO IOUtilsExtra folded into IOUtils. Eliminated ConvertReal. [Atkinson] IO Made most of the INLINEs into full procedure calls to aid with debugging, reduce code size, etc. Added PutF1, PutFR1, PutR1, Put1 to reduce the amount of useless code generated for single-argument calls to PutF, PutFR, PutR, Put. [Atkinson] Convert Convert now has a section on Real number formatting, with support for E, F, and G formats. The implementation now makes use of these new routines for %e, %f, and %g printing of real numbers. [Atkinson] MesaRuntime Basics added CARD, RawWords, RawCards, RawBytes, RawChars to Basics. Added DoubleShift (& DoubleShiftLeft & DoubleShiftRight). Added some bounds checking machine code procedures. [Atkinson] PrincOps PrefixHandle made LONG; cases added to LongNumber; ShortNumber added; removed some bogus variants from FrameCodeBase. [Atkinson] PrincOpsUtils PrincOpsUtils.LongCOPY removed (use LongCopy), PrincOpsUtils.COPY removed (use Copy), PrincOpsUtils.ZERO removed (use LongZero). [Atkinson] Process ProcessExtras.CheckForAbort merged into Process. [Atkinson] ProcessBackdoor ... added (exported by ProcessImpl). [Atkinson, Hagmann] Pup Eliminated AltoRam & DummyForwarder. [Atkinson] Real Added Real.FixLI & Real.Round for consistency. Eliminated RealOps.SqRt (it was quite slow). Eliminated IeeeInternal. [Atkinson] Rope Rope removed PieceMap, added AppendChars (formerly in RopeFile) as an optional user-supplied operation. [Atkinson] Some other changes to Rope to improve performance, particularly for INLINE usage. The representation was slightly changed as well. [Atkinson] RefText changed the definition of AppendRope to allow start to be an INT. [Atkinson] RopeHash new interface that allows fast complete hashing of rope and ref text contents using the Checksum code. [Atkinson]. SafeStorage CountedVM SafeStorage.df is a new home for CountedVM (it used to have its own DF). INLINEs removed (info now available from the handle). The UNSAFE Free operation was added to accelerate reclamation of storage known to be unused. [Atkinson, Plass] List Removed Car, Cdr, and other INLINEs that were useless. Added Kill, to aid in reclaiming dead lists. Added Merge to aid in merging sorted lists. Changed other INLINE routines into real calls. Improved the documentation and formatting in the interface. [Atkinson] UnsafeStorage Removed unimplemented procedures, added GetTransientPageUZone. [Atkinson, Hagmann] UserCredentials DefaultRemoteNames Added a "registry" component to determine the default registry (for Grapevine usage). [Atkinson] UserCredentialsBackdoor Added this interface to provide for compute server needs. [Hagmann] VersionMap Version maps now contain create dates as well as version stamps and names, to be more consistent with the way FS handles things. Operations that returned file names now also return create dates for those files. [Atkinson] Implementation Bugs Fixed & Features Installed May 23, 1985 - Real Fixed several bounds fault bugs due to careless coding in the original. Added per-process exception flags. Changed RealControl to count traps. [Atkinson] May 23, 1985 - Interpreter Implemented SUCC and PRED, and raising signals and errors; also added NAT to the list of predefined TYPEs, and enabled EvalQuote procedures that do not start with an ampersand. [Spreitzer] May 21, 1985 - GrapevineUser Fixed RetrieveInit.UnsetMailboxes to tolerate multiple calls to Close. [Atkinson] May 21, 1985 - AMTypes Fixed RTTypedVariablesImpl.Prev (discoved by Spreitzer). [Atkinson] May 21, 1985 - CommandTool Changed handling of user profile entries (see documentation). [Atkinson] May 21, 1985 - Iago Made pseudo-server commands available through the restricted command set. [Atkinson] May 21, 1985 - DFPackage Made DF handling tolerant of '/-format directory names. [Atkinson] May 21, 1985 - TiogaButtons Removed dependence on TEditMouseImpl (sigh). [Atkinson] May 20, 1985 - Installer InstallerImpl now installs Fonts DF files. [Atkinson] May 20, 1985 - VersionMapBuilder Fixed bounds fault bug in GenerateDFClosureImpl. [Atkinson] May 17, 1985 - BasicPackages Made TraceAndSweepImpl tolerant of bad finalization practices. [Atkinson] May 15, 1985 - Dependencies Made Dependencies use GenerateDFClosureImpl for speed. Output now has Tioga formatting. [Atkinson] May 14, 1985 - Rope Changed RopeHashImpl to avoid taking checksums of 0 length (due to DLion microcode bug). [Atkinson] May 14, 1985 - VersionMapBuilder Made implementation faster, more reliant on existing version maps (now that symbols maps have dates). [Atkinson] May 13, 1985 - MakeBoot Fixed copying bug in MBLoaderCore. [Atkinson] May 13, 1985 - UserProfile, Installer, Idle, UserCredentials Changed notification of idle, rollback, and credentials changed events. Installer now has more responsibility, since that is wehre the user's profile is noticed. [Atkinson] May 10, 1985 - IO IOClassesImpl.Copy is now much faster. [Atkinson] May 9, 1985 - File, FileStream, SafeStorage Called VM.SwapIn to avoid extra page faults. [Atkinson] May 9, 1985 - VM Made VMFaultsImpl avoid expanding intervals except when IO required. Also opted for only one retry when a SwapIn is not really satifsfied. [Atkinson] May 8, 1985 - IO Made IO pipes abortable (discovered by Mike Spreitzer). [Atkinson] May 8, 1985 - Installer The presence of ///Server.profile will override a user's profile, to be used on server machines. [Atkinson] We try to bringover a specified DF file onto ///Fonts/* in order to establish fonts for the Imager. Two DF options provide useful indirection. They are (with defaults) Installer.FontsDF: [Fonts]Top>CedarFonts.df Installer.FontsServer: Fonts $ Indigo Ivy The use of the Fonts pseudo-server allows replication of fonts to better cope with IFS unavailability. [Atkinson] May 8, 1985 - DFPackage DF files now read and write file items with angle brackets. This allows a limited form of bringover of a file onto a subdirectory of the working directory at the time of the bringover. It is intended for use when bringover should preserve subdirectory structure in the files it is fetching. This does not affect old DF files. [Atkinson] May 7, 1985 - RedBlackTree ... is now in BasicPackages. RedBlackTree is now monitorized and deals in REFs, rather than requiring a bunch of funny interfaces and strange compilation. [Atkinson] May 7, 1985 - VM Fixed VMFaultsImpl to NOT expand around a faulted page unless I/O is required. [Atkinson] May 7, 1985 - FileImpl Use VM.SwapIn after VM.Allocate to avoid bogus page faults. [Atkinson] May 7, 1985 - SafeStorage Eliminated medium-grain allocator. All allocation is now either fine-grain or uses VM to get pages for objects. Also, we use VM.SwapIn after VM.Allocate to avoid bogus page faults. [Atkinson] May 2, 1985 - Iago Fixed bug in disk formatting and checking (discovered by Willie-Sue). [Atkinson] May 2, 1985 - EditorComforts Fixed bug the search for change log entries. [Atkinson] April 24, 1985 - Viewers & Tioga Shifted over to use of the Imager. [Wyatt & Plass] April 11, 1985 - Interpreter Changed to better support statement interpretation (mostly due to Mike Spreitzer). [Atkinson] April 11, 1985 - UserProfile Changed to avoid duplicate processing of user profile on rollback; updated documentation. [Atkinson] April 11, 1985 - OpenRCommandsImpl Changed to avoid printing duplicate file names. [Atkinson] April 11, 1985 - Installer Cleanup pass to make noticing user profile changes better; improved error messages. [Atkinson] April 10, 1985 - AMModel Made AMModelSourceSection work a lot better. [Atkinson] April 8, 1985 - AMTypes Fixed a bug in RTTypesBridgeImpl.SetTVFromWordSequence that could get a bounds fault at a nasty time. [Atkinson] April 8, 1985 - AMTypes Fixed a bug in RTTypesBridgeImpl.SetTVFromWordSequence that could get a bounds fault at a nasty time. [Atkinson] April 8, 1985 - CommandTool Added the ClearMenu command, which cuts back the menu of the executing command tool instance to simply the STOP!, Find and Split menu items. This command is useful to initializae the menu so that the user profile can dictate a constant menu for any given user. [Atkinson] April 8, 1985 - DFCommands Made these commands call into FileViewerOps.WaitForSaved to avoid saving DF files that are being edited. [Atkinson] April 8, 1985 - InterpreterTool Fixed a bug In FileViewerOps.WaitForSaved that could hang if the save of a file took less than a second. Placed UserExec.icons in the BootEssentials.df file. [Atkinson] April 4, 1985 - STPServer & STP Fixed date output so that the miserable parser in FS can handle these dates. [Atkinson] April 3, 1985 - Binder In BcdControl, made the Binder wait for edited configs, like the compiler waits for edited sources to be saved. [Beach] April 3, 1985 - Compiler Renamed Interface -> CompilerCommandImpl, Sequencer -> CompilerSequencer. Reworked CompilerCommandImpl to do a slightly better job with cleanup and waiting for other compilations to finish. [Atkinson] April 2, 1985 - Iago Made the Set Remote Names command also set the default registry. Fixed a bug in initialization regarding default pseudo-server translations (Cedar & User). [Atkinson] April 1, 1985 - CountedVM CountedVM.Allocate now does several GCs to try to reclaim storage (and enable finalization) before it gives up and lets VM.CantAllocate propagate through to the caller (suggestion by Michael Plass). [Atkinson] March 27, 1985 - SafeStorage Fixed two (at least) bugs in AtomImpl that could result in non-canonical atoms. Also pruned over 16 pages of storage from AtomImpl and associated data. [Atkinson] March 27, 1985 - BootTool Added a Boot command. Removed some of the top-line buttons. [Atkinson] March 27, 1985 - Iago Made Iago register its commands earlier (for use by ExtraIago). [Atkinson] March 26, 1985 - Waterlily Removed use of RedBlackTree (changed to use SymTab). Also added the Cedarlily command, which compares files token-by-token instead of line-by-line. [Atkinson] March 25, 1985 - BasicPackages Fixed bug in SymTabImpl.FetchText. [Atkinson] March 25, 1985 - Rope Fixed bug in RopeHashImpl. [Atkinson] March 22, 1985 - AMTypes Fixed bug in RTTypesRemotePrivateImpl that caused the debugger to be unable to find symbols for remote frames (I am not quite sure how this broke). [Atkinson] March 21, 1985 - IO Fixed bug in G-format real number printing. [Atkinson] March 19, 1985 - DFPackage Minor cleanups & bug fixes. [Atkinson] March 15, 1985 - Grep General cleanup & made the command uninterpreted (dto allow funny characters in the pattern). [Atkinson] March 15, 1985 - CommandTool Added a Login command. Also added a user profile option, CommandTool.PerLogin, which specifies a command line to execute in some command tool when a new user user logs in (or rolls back). [Atkinson] March 14, 1985 - Waterlily Made Waterlily into a single module that depends directly on RedBlackTree. [Atkinson] March 13, 1985 - RedBlackTree Made this package into a generally useful object manager, properly monitored. A couple of bugs were discovered as well. Also wrote & debugged RedBlackTreeTest. [Atkinson] March 13, 1985 - Rope Made RopeFileImpl.MyAppendChars use PrincOpsUtils.ByteBlt for performance improvements. This change suggested by Michael Plass. [Atkinson] March 13, 1985 - TRope Changed buffer defaults in file stream creation for performance improvements. This change suggested by Michael Plass. [Atkinson] March 12, 1985 - RegularExpression Combined interfaces into RegularExpression.bcd. Adjusted sources and Grep to reflect this. [Atkinson] February 27, 1985 - Nucleus Improved formatting of nearly all Nucleus interfaces. [Beach, Wyatt] February 27, 1985 - File Moved VolumeFlusher from File to FileBackdoor [Wyatt] February 26, 1985 - HeadsCommon, Germ Eliminated MicrocodeVersion (use PrincOps.VersionResult, PrincOpsUtils.VERSION instead). [Wyatt] February 26, 1985 - MesaRuntime Improved formatting of interfaces. PrincOps: BYTE no longer PRIVATE. PrincOpsUtils: AddressForPageNumber now SAFE. [Wyatt] February 26, 1985 - SafeStorage Added CountedVM.SimpleAllocate [Wyatt] February 25, 1985 - VM Created VMDoc.tioga, which includes fully commented VM.mesa plus VMDesignDecisions.tioga. VM: added SimpleAllocate; removed SetDataState; Free, Kill, MakeUnchanged, MakeChanged, Touch, and Pin are no longer INLINE. Lots of cosmetic changes; some terser comments. [Wyatt] February 22, 1985 - HeadsDLion Improved formatting of interfaces. DLionInputOutput: changed UNSPECIFIED to WORD. DDC: changed LONG UNSPECIFIED to LONG CARDINAL (IOCB.unusedLabel). [Wyatt] February 22, 1985 - HeadsD0 Improved formatting of interfaces. D0InputOutput: changed UNSPECIFIED to WORD; removed etherOut, etherIn, xWireOut, xWireIn; added colorDisplay. [Wyatt] February 22, 1985 - HeadsDorado Improved formatting of interfaces. DoradoInputOutput: changed UNSPECIFIED to WORD. DiskHeadDoradoPrivate: changed DoradoDiskHarewareStatus to DoradoDiskHardwareStatus. [Wyatt] February 22, 1985 - HeadsCommon Improved formatting of interfaces. Keys: Added several DLion key names and many comments to KeyName; added KeyState and Position. (Some day Keys should become something like TerminalDefs, and KeyboardFace/MouseFace/DisplayFace should become TerminalFace.) KeyboardFace: removed KeyStation stuff; uses Keys.KeyState instead. MouseFace: substituted Keys.Position for Point; added GetPosition. DisplayFace: removed SetScanLineWakeup and GetScanLine, since none of the heads implement them; substituted Keys.Position for Point; added GetCursorPosition, SetCursorPosition. [Wyatt] February 22, 1985 - Rope Improved formatting of interfaces. ConvertUnsafe: now CEDAR DEFINITIONS; just the unsafe procedures are UNSAFE. RopePrivate: Removed Node (: TYPE = REF Node; !!!) and NodeRep. [Wyatt] February 20, 1985 - ProcessorHead* Implemented EnablePowerOff and DisablePowerOff. Implemented PowerOff for D0's (why was is missing?), although all it does is spin rather than powering off. [Atkinson] February 19, 1985 - IO Implemented E, F, and G formats for REAL formatting (in IOConvertImpl and IOPrintImpl). [Atkinson] February 19, 1985 - Real Fixed the implementation of Real.RealToPair to be more exact, more consistent, and faster. Eliminated the definition and implementation of RealOps.SqRt. [Atkinson] February 15, 1985 - Installer Removed processing of "Installation.BringOver", since this is better done via the CommandTool anyway. No need to have truly useless code around. [Atkinson] February 13, 1985 - RPCRuntime Fixed RPCSecurity to handle DESFace.BadKey and (hopefully) take appropriate action for keys with and parity. [Atkinson] February 12, 1985 - WorldVM In WorldVM: Read, Write, LongRead, LongWrite, CopyRead, CopyWrite all raise WorldVM.AddressFault for illegal local addresses as advertised (they used to raise VM.Addressfault). CopyRead and CopyWrite now do the right thing for transfers of > LAST[CARDINAL] words. [Atkinson] February 5, 1985 - IdleImpl Made the ^Swat watcher enabled if the I switch has been used to boot the machine (useful for possibly buggy servers placed in Idle). [Atkinson] February 4, 1985 - Iago Code written to add and print pseudo-server info. [Atkinson] January 30, 1985 - Rope Faster implementation, also uses AppendChars user proc instead of PieceMap. [Atkinson] January 8, 1985 - Spy Removed infrequent page fault with interrupts disabled caused by dereferencing global frames (in SpyKernelImpl). [Atkinson] January 8, 1985 - Watch Added power off code when the system has been idle for a while. The default is to power off machines after 7 pm after 10 minutes of no activity (no disk, no allocations, no substantial CPU load). See WatchDoc for details. {note: Watch is close to needing to be split} [Atkinson] January 4, 1985 - EditorComforts Replacement for NewStuff. Mostly the same (or better) functionality, including copyright notices. Should be more robust. [Atkinson] December 19, 1984 - SafeStorage Added more statistics to RCMicrocodeImpl.ASSIGNREF to support some Dragon decisions. Also turned off cross-jumping in the compilation to make it more debuggable. [Atkinson] December 14, 1984 - VersionMapBuilder Tried to make it more robust when the server is flakey (heavily loaded). Hard to test, though. [Atkinson] December 13, 1984 - AMEvents Turned off recursive uncaught signal handling by default, since it was more trouble than it was worth. This feature can be enabled by interpreting AMEventsImpl.crashOnRecursiveAppearance _ TRUE. [Atkinson] December 3, 1984 - Waterlily Bad file name parsing, make it use CommandTool stuff. [Atkinson] December 3, 1984 - CommandTool In CommandToolParseImpl, fixed bugs in NextArgument, GetParseRecord; cleaned up some formatting. [Atkinson] November 27, 1984 - FS Changed FSFileLookupImpl.SetState to record noResponse, as well as noSuchPort, in the ServerInfo. This makes FSRemoteFile.Lookup behave as advertised: it returns noResponse immediately if the server failed to respond to a recent Lookup attempt. Also changed FSRemoteFileImpl.Info to notice whether it got noResponse from all servers; in this case it reports an error immediately, without calling STPInfo. These changes make VFontsImpl behave much more reasonably, without all those one-minute timeouts. [Wyatt] November 19, 1984 - CedarRelease.df Edited CedarRelease.df to refer to ~= version of CurrentCedar.df. Included CedarStatus.tioga (this document) in CedarRelease.df. Fixed a few typos in ReleaseCoordinator.tioga. [Wyatt] November 16, 1984 - Interpreter EvaluateImpl did the wrong thing for NEW[Type _ init], since it could fail to coerce the initialization expression to the right type. Mike Spreitzer helped to find this. [Atkinson] November 15, 1984 - AMTypes RTTypesBridgeImpl.SetTVFromLI got a bounds fault when setting a cardinal to a number in (LAST[INTEGER]..LAST[CARDINAL]]. Mike Spreitzer helped to find this. [Atkinson] November 7, 1984 - FS Numerous ENTRY procedures were given ENABLE UNWIND clauses, since an undertermined bug in FSFileLookupImpl left its monitor locked without other trace. [Atkinson] November 7, 1984 - IO IOScanImpl now accepts '| as a legal Cedar token. Howard Sturgis discovered this. [Atkinson] November 6, 1984 - TIP Refurbished TipTableBuilder as an outcome of fixing a bug that caused overly frequent remoteCheck = TRUE. As a side benefit, the code is 15% smaller (saving about 2 pages), and probably slightly faster as well. [Atkinson] November 5, 1984 - ReadEvalPrint Rewrote this crock to be more comprehensible and to be more bulletproof, especially to repeated requests for STOP! The behavior may be slightly different in some cases, although I have not seen anything but improvement yet. [Atkinson] November 5, 1984 - ViewerIO Properly (I think) implemented ViewerIOImpl.ViewerReset, which now flushes typeahead and sets the looks to their ground state (blank). The absence of a special reset for this class was the cause of not being able to stop by hitting STOP! in a CommandTool viewer. [Atkinson] November 5, 1984 - CommandTool Fix to CommandToolImpl so that commands ending in & (which directs their output to a viewer) now invent better names for their viewers. Suggested by Rick Beach. [Atkinson] November 2, 1984 - Real Minor bug fixed in "improved" versions. [Atkinson] November 1, 1984 - Pup PupSockets.PupSocketKick kicked the wrong instance, leading to occaisional hangups & bogus wakeups (and sometimes address faults when NIL was returned when not expected). Other potential bugs in PupSockets were also fixed (using the SDD sources). PupPktHot.InputPacket had an occaisional address fault due to a missing RETURN statement. PupPktHot was also reformated, especially to get rid of "OPEN him", which obscured where the variables were sited. [Atkinson] October 30, 1984 - Real In RealFnsImpl, Sin & Cos sped up by a factor of 2, accuracy improved. [Atkinson] October 30, 1984 - VM Minor bug fixed in recovering from bad pages encountered on writing to the backing file. [Atkinson] October 29, 1984 - VersionMap Minor bug fixed in processing names from user profile. [Atkinson] October 26, 1984 - Real RealFns.SqRt is now the fastest method for square root calculations. RealFns.SqRt (48 usec) is faster than RealOps.SqRt (201 usecs), which is faster than Real.SqRt (216 usec). They all use the same algorithm. [Atkinson] October 25, 1984 - DFPackage The last fix to the DFPackage made it more ambitious about looking for Imports, since there were files it was missing. Unfortunately, this made it too ambitious, so duplicates started to be found, which cut off the Bringover too soon, because completion of Using clauses was determined by keeping a count of the files found, rather than a set. I think that this is now fixed, so that Bringover is both ambitious and correct about Imports clauses. Doug Wyatt helped find this. [Atkinson] October 25, 1984 - EditTool Fixed bounds fault that came up when sorting lines that came up to the end of the document. Included Beach's AnnotateProperties fix from the PostCedar5.2 version; recompiled Plass's Sort fix in case it was done with the bad Compiler. [Plass, Wyatt] October 24, 1984 - Real New (I claim more accurate) impls for RealFns.SinDeg, CosDeg, and family. [Plass] October 24, 1984 - CommandTool Fixed ListCommandImpl to properly deal with relative path names for files. [Atkinson] October 23, 1984 - InterpreterTool Cosmetic cleanup of InterpreterCommandsImpl. [Atkinson] October 23, 1984 - BCDStuff Fixed TypeStringsImpl, which had a bug that caused bad type strings to be created for the Cedar5.3 compiler that existed between 09-Oct-84 16:52:40 PDT and 23-Oct-84 15:45:49 PDT. Remade Compiler & AMTypes to include this version. Also remade FS, SafeStorage, Maintain and CommandTool to eliminate bad type strings (ProcessProps was OK). Willie-Sue Orr helped find this. [Atkinson] October 23, 1984 - SafeStorage Fixed up TypesBasicImpl to more uniformly use type keys, instead of type strings, and to get rid of unused code. Also fixed TypeHashImpl to never return the null type key. The utility of these changes is not known, although they appear to work OK. [Atkinson] October 22, 1984 - FS A tentative pseudo-server facility was installed that allows the translation of a single imaginary server name to a single real write server, or multiple real read servers. An attempt has been made to distinguish between pseudo servers that represent replicated files (as in the Cedar release), and pseudo servers that offer alternative paths. See the FSPseudoServers interface. [Atkinson] October 22, 1984 - ProcessProps A hashing bug was fixed, although it is believed that no software in the release was affected. [Hagmann] October 22, 1984 - CommandTool The Open and OpenR commands now behave much more like the Tioga Get button. OpenR was moved from its home in InterpreterTool to its more correct home in CommandTool. Also, the "?" command now does not examine the file system when looking for registered commands, although the "??" command retains the old, expensive search. [Atkinson] October 15, 1984 - Maintain Changed to use common instance of GrapevineUser instead of binding in separate instance. This reduces MDS load & is generally a better idea. [Atkinson] October 9, 1984 - BCDStuff Fixed TypeStringsImpl to allow more definitions within a definition. The previous limit was 30, which was demonstrably too small. Also removed several other bogus limits. This caused a remake of both the Compiler and AMTypes. [Atkinson] September 7, 1984 - DFPackage Fixed BringOverImpl to look at non-exported items from an Imported file if there is an explicit Using list. The theory is that one should be able to import anything in the closure of a DF file if one requests it by name. This may slightly slow down DF file processing, but not by much (I think). [Atkinson] August 29, 1984 - Maintain Added the ability to take lists of names as arguments. [Atkinson] July 26, 1984 - PupWatch Fixed bug in Looker that could get a bounds fault for some Pups. [Atkinson] July 23, 1984 - Lister A bug in ListRTBcdImpl caused bounds faults on subranges with negative origins. This has been fixed. [Atkinson] July 23, 1984 - Compiler A bug in TypeStringsImpl caused record types containing copied opaque types to have different type strings, even though those type strings should have been the same. This has been fixed. [Atkinson] July 20, 1984 - FS FS enumeration of file names for Nebula used to omit the "<>" after the "[Nebula]". This is a bug, since FS treats such names as having bad syntax. This has been fixed. [Atkinson] July 20, 1984 - TIP In TIPTableBuilder, TIP now looks for TIP files in the working directory, the root directory, and the remote release directory, in that order. TIP also puts all of its tipC files ("compiled" version of tip files) into the ///TipC/ directory, with the create dates of the tipC files being 1 second later than the tip files to ensure that tipC files will correspond to the tip files that created them. [Atkinson] July 20, 1984 - CommandTool CommandTool now includes the KillExcessVersions and CacheKillExcessVersions commands that used to be in RussHacks. These commands help to prune garbage from disks before the FS cache flusher would get to these excess files. [Atkinson] July 19, 1984 - WorldVM Fixed AMProcessBasicImpl to use BootFileChanges.IsVacant instead of PrincOpsUtils.IsVacant. This bug caused local machine process freezing to fail. [Atkinson] July 19, 1984 - AMTypes Minor cleanup of AMTypesBImpl & RTTSupportImpl. RTTSupportImpl.errList has list of types for which symbols could not be found (useful for debugging). [Atkinson] July 17, 1984 - CommandTool Installed a new list command, with new features including sorting by date or size. Also cleaned up FSFileCommandsImpl. [Atkinson] July 16, 1984 - SafeStorage AllocatorImpl.NewHeapObject was fixed such that requests with size >= MediumHeapThreshold are forced to use the large allocator. This is particularly intended for use by Alpine, where the recommended value is MediumHeapThreshold = 256. Some day we may be able to completely fix the medium allocator to use a more suitable algorithm. [Atkinson] July 16, 1984 - Viewers VFontsImpl There is a simple error in [indigo]Viewers>VFontsImpl.mesa The code for LoadFont checks for the size of a new font file, and ERRORS if it is > 20 pages: pages _ FS.GetInfo[file].pages; IF pages >= 20 THEN ERROR; -- <<<<<<<<<< space _ VM.Allocate[count: pages]; font _ NEW[FontObject]; font.address _ VM.AddressForPageNumber[space.page]; FS.Read[file: file, from: 0, nPages: pages, to: font.address]; Initialize [font]; The fonts on indigo can be larger, and I wish to load one which is 81 pages, so I suggest this limit be changed to 100 pages. [TWilliams] Fixed to use the variable VFontsImpl.maxFontSize (initially 256) as the bound. This allows tuning to get a truly large font loaded if necessary. [Atkinson] July 16, 1984 - Installer InstallerImpl? I had the following problem when F booting: - I got several messages of the form - Foo.bar can't be retrieved because the server is unavailable, indicating (I assume) that Indigo was heavily loaded. All files were eventually retrieved. - A message then informed me that I had indeed booted with switch F. - I was then asked if I wanted to use [Ivy]5.2>BootEssentials.df. Being on the phone at the time, I ignored it for a while. It then answered its own question with yes and, of course, couldn't find any such file. I was then again asked if I wanted to use [Ivy]5.2>BootEssentials.df to which I answered no. I was then informed that we couldn't go on without a BootEssentials file and "I give up". - On rebooting, everything went fine. However, this time Indigo was less heavily loaded (apparently) since all files were retrieved immediately. - Wyatt theorizes that the above problem occured when, because of Indigo's swampedness, the default BootEsentials.df couldn't be immediately retrieved. That then got me into this other path from which there apparently is no return. [Crow] I fixed the installation dialogue to always ask for BootEssentials.df from the system directory. This will cut down on the confusion, although the root problem of a missing Indigo is not addressed. [Atkinson] July 16, 1984 - AMTypes AMBridge.TVToLC was fixed to behave properly when the size of the TV was not quite the same as the type of the field. This was observed for variant records where the variant was embedded in an argument record, and the field described the entire slot in the argument record, which was large enough for the max variant, and the TV properly described only the first word. A similar bug was removed (I think) from SetTVFromLC. A cleanup pass was performed on RTTypesBridgeImpl, RTTypedVariablesImpl, and AMVariablesImpl to make the code clearer, smaller, and more robust. Several minor bugs were removed, especially from SetTVFromLI (sign problems, of course). I hope that more bugs were removed than entered. [Atkinson] July 16, 1984 - IO CommandToolUtilitiesImpl.Insulate (setting looks does not work for the command tool typescript) [Kupfer] It's not your fault, it's a "feature" of the CommandTool. Specifically, I believe the culprit is CommandToolUtilitiesImpl.Insulate. It layers a new stream on top of the output stream that feeds the typescript, but fails to give the new stream a PFProc that passes along the looks information. The situation gets even worse if you use any of the CommandTool's fancy input/output redirection stuff (< and >). Sorry, I don't know any easy workaround. [Wyatt] IOPrintImpl.LooksRoutine (NOT CommandToolUtilitiesImpl.Insulate) was fixed to chain up the backingStream chain, looking for a non-NIL proc registered under 'L. This has been tested with the command tool typescript. [Atkinson] July 16, 1984 - Spy SpyViewerImpl There is a directory-related bug in SpyViewerImpl.mesa. Routine Split does the old "search for first period" trick so ///Users/Bier.pa/Solidviews/Somefile.mesa gets broken up into ///Users/Bier and .pa/Solidviews/Somefile.mesa. Since the later is not ".mesa" LocationFromSelection thinks I am selecting a filename. It attempts to Split this filename, getting an error from Rope.Flatten since there is no dot in my selection. This is really two bugs since it ought not to crash so badly even if I do select a malformed file name. [Bier] Fixed to both scan backwards for the dot, and to syntactically validate the file name. [Atkinson] July 16, 1984 - Interpreter Calling Foo[NIL] when Foo is remote used to not be allowed because the interpreter assumed that remote reference-counting was required (it is not). This has been fixed. Interpreting DefsName.component used to yield a result that was always evaluated with respect to the local world. This has been fixed, but the bad news is that remote interface records are not supported, so you will have to find the implementor by hand. [Atkinson] July 11, 1984 - IO If you call SkipWhitespace[flushComments: TRUE] on a stream that has only one character left in it, a dash, it does the wrong thing. What it should do is return charsSkipped=0 and leave the dash as the next character to be read. What it actually does is return charsSkipped=0, but the dash has been read (leaving an empty stream). The bug is easy to spot (in IOScanImpl.SkipWhitespace). When it's handling comments and it goes to read the next character after the first dash, if it gets IO.EndOfStream, it does the usual end-of-stream processing. This is wrong; some special code is needed here. [Spreitzer] July 11, 1984 - CommandTool CommandTool Run: PUBLIC PROC [bcdName: Rope.ROPE, runEvenIfAlreadyRun: BOOL _ FALSE, runEvenIfUnbound: BOOL _ FALSE] RETURNS [errMsg: Rope.ROPE _ NIL, error: BOOL _ FALSE]; Now one could reasonably expect that if the asked-for file is not found that error would be reported TRUE. FALSE!!! There are the appropriate catch phrases in the implementation, but the code that sets error to TRUE is in the wrong place. [Willie-Sue] Fixed. [Atkinson] Copy -u /Cedar/Cedar6.0/Documentation/ _ ///Cedar6.0/CedarStatus.tioga Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. Russ Atkinson, April 25, 1985 8:44:26 am PST Doug Wyatt, November 27, 1984 5:22:11 pm PST Russ Atkinson (RRA) May 23, 1985 1:52:44 am PDT Êט™FJšœ Ïmœ7™BJšœ,™,Jšœ,™,Icode™/—Ititlešœ˜Isubtitlešœ˜head˜Iblock˜æ˜ Iitem˜P˜P˜P˜P˜—˜ O˜˜Iindent˜—O˜O˜O˜˜Q˜-—˜3Q˜—O˜O˜˜>—˜ Ošœ)˜)Ošœ7˜7—˜6Ošœ7˜7Ošœr˜r˜ Ošœ”˜”Ošœ2˜2——˜O˜Ì—˜O˜E˜O˜ñ—˜O˜Ë——˜ šœ˜OšœŸœ¯˜¹—˜Ošœ˜—˜ O˜Œ—˜O˜;—˜O˜8——˜Ošœ/˜/—˜Ošœ‚˜‚—˜šœ˜Ošœm˜mOšœDŸœD˜Ž—šœ˜Ošœ=Ÿœ ˜L—šœ˜Ošœr˜r——˜ ˜ OšœDŸœ?Ÿœe˜ð—˜Ošœ‰˜‰—˜ OšœR˜R——˜˜Ošœ`˜`—˜OšœC˜C——˜ Ošœß˜ß——šœ.˜.šœ˜Ošœœ˜œ—šœ˜Ošœ½˜½—šœ˜OšœR˜R—šœ˜OšœD˜D—šœ˜OšœI˜I—šœ˜OšœU˜U—šœ˜OšœC˜C—šœ˜Ošœ8˜8—šœ˜Ošœ6˜6—šœ ˜ Ošœ<˜<—šœ˜OšœJ˜J—šœ˜Ošœd˜d—šœ˜Ošœd˜d—šœ ˜ Ošœq˜q—šœ˜Ošœ.˜.—šœ<˜J˜—Ošœ}˜}Ošœ ˜ —Ošœ˜—šœ˜˜Ošœ+˜+OšœÀ˜ÀOšœD˜DOšœ›˜›Ošœ‘˜‘Ošœè˜èOšœ˜—OšœÆ˜ÆOšœ ˜ —šœ˜Ošœ¨˜¨O˜œOšœ ˜ —šœ˜šœ!˜!OšœG˜GOšœÌ˜Ì—Ošœ×˜×Ošœ ˜ —šœ˜šœ ˜ Ošœ«˜«Ošœg˜gOšœ˜—OšœV˜VOšœ ˜ —šœ˜Ošœ Ÿœš˜©Ošœþ˜þOšœ ˜ —šœ˜OšœÌ˜ÌOšœŠ˜ŠOšœ ˜ —šœ¡ ˜šœ ˜ šÏnœŸœŸ˜Kš œŸœŸœŸœŸœŸœ˜WKš ŸœŸœŸœ ŸœŸœ˜7—Ošœð˜ðO˜ —Ošœ˜O˜ ———…— J²;