|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 278417 (0x43f91) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦d7a065566⟧ └─⟦this⟧
Rational Environment Release Information Delta 0 Release \f \f 1. Overview This release information describes the Delta 0 release of the Rational Environment. Delta 0 is a major release that includes functionality and performance enhancements as well as bug fixes. Some major additions and enhancements to the Environment are: * Access control * Configuration management and project control facilities * Source management capabilities * Incremental editing of coded specs * Code-only units * System console operator interface * Debugger object editor * Help object editor * Terminal I/O * Performance improvements The following sections provide more detail and cover some of the major changes made to this release of the Environment. 2. Major New Features This section summarizes the major features of the Delta release. Later sections summarize more specific changes and detailed changes in each of the Environment's interfaces. 2.1. Access Control Access control allows users and system managers to protect objects so that only a specified set of users is allowed access. Files, worlds, and Ada units can be individually protected. Each such object has an access list that lists groups of users and the type of access that they are allowed. User accounts and group assignments can be set by users who have operator capability. This capability is restricted to the operator account but can be given to other users if desired. A privileged mode is available to system managers that allows access controls to be bypassed. The Rational Environment's access control system is described in 1\f more detail in the Rational Environment Reference Manual, Library Management (LM) book, package Access_List. 2.2. CMVC A major feature of the Delta release is an integrated configuration management and version control system. This system is based on the subsystem model and is a superset of the Gamma subsystem tools. In addition to structuring code development and providing mechanisms for making releases and new versions of subsystem views, CMVC provides a comprehensive history mechanism, a check-in/check-out reservation mechanism, and an ability to create work orders that describe a task and the objects affected during its completion. 2.3. Code-Only Units and Subsystems The Delta release provides the ability to create subprograms and subsystem load views that consist only of the machine code needed for their execution. This makes it possible to deliver or release a subprogram or load view without the source. The resulting object is much smaller and can be loaded and executed faster than the corresponding full source Ada unit. Code-only subprograms, called "loaded main programs," contain a complete copy of all the code required for their execution. Thus, they have no dependencies on other objects in the system. This facilitates their movement between R1000s and makes them very stable on any given R1000. The subsystem code-only load views can import other subsystem spec views, and, when executed, all such imports must be resolved using the normal activity/subsystem loading mechanisms for successful execution to occur. The code-only view is, again, much smaller than the corresponding full load view. 2.4. Incremental Editing of Coded Specs In Gamma, incremental changes to units cannot be made to coded units; they must be made to installed units. In Delta, it is possible to make incremental changes to coded specs. This is desirable because it is not necessary to demote the closure of the referencers of the spec to installed in order to make the change. The body of the affected spec must still be demoted, however. This facility makes it possible to change low-level specs in a large Ada program with minimal recompilation. 2\f 2.5. Console Command Interface A new interface to the Environment is now available via the operations console. This interface makes it possible to log in and make backups and other routine operations without the need for an Environment terminal in the operations area. The console interface is a line-oriented interface in which individual commands are entered and executed when the [RETURN] key is pressed. A simple line-editing capability is available for command entry. This interface, though not as general as the full editor interface used with normal Environment sessions, is very simple and easy to learn. Additional information can be found in the Rational System Managers' Guide. 2.6. On-Line Help Editor A more comprehensive on-line help facility is available in Delta. The entire Reference Manual is on-line and can be interactively traversed using the normal Definition mechanism of the Environment. Additional information on this facility is located in the Rational Environment Reference Manual, Editing Specific Types (EST) book, package Help. 2.7. Improved Performance A number of changes have been made to improve performance of the R1000 system. Most notably are: * Display of Ada units now provides near instantaneous access. * Snapshots are faster, resulting in minimal effect on users. * Spawning of views in subsystems is faster. * Format operation on Ada units is faster. * Networking commands are faster. * More incremental operations are allowed (creation of exception and private clauses, editing of multiple statements at one time), resulting in faster turnaround. * Overall performance improvements result in more simultaneous users. 3\f 3. General Changes 3.1. Directory Naming A number of changes have been made in directory naming. They are summarized below and described more fully in the Rational Environment Reference Manual, Library Management (LM) book, Key Concepts. 4\f ----------------------------------------------------------------- | Name | New Meaning | ----------------------------------------------------------------- | Initial Context | In Delta, the initial context for name | | | resolution is the library that contains the | | | default context if the default context is not| | | a library itself. Thus the string name "" is| | | equivalent to "$". The purpose of this | | | change is to simplify the rule for | | | determining the naming context of a command. | | | With this change, the naming context used in | | | executing a command is the same as the | | | context used to semanticize the command. | | | | | | The string "[]" resolves to the default | | | context as in Gamma, but, because of this | | | change, it will have a different meaning than| | | "" in a Command window associated with an | | | installed Ada unit. | ----------------------------------------------------------------- | ? Wildcard | The wildcard character "?" will NOT match | | | Worlds. Thus, "Foo?" matches all objects | | | other than worlds that are contained by Foo. | | | The naming expression "!?" does NOT match all| | | objects on the machine, and, on most | | | machines, "!?" matches just "!" since the | | | only objects contained by "!" are worlds. | | | | | | The meaning of "?" was changed to be more | | | limited, making it less dangerous and to | | | eliminate the need for the recursive option | | | on many directory commands. For example, | | | Lib.Set_Retention_Count ("Foo?", 1) will set | | | the retention count for Foo and its contents | | | to 1, but will not change the retention | | | counts for any worlds nested within "Foo". | ----------------------------------------------------------------- | ?? Wildcard | The character sequence "??" matches the same | | | objects matched by "?" in Gamma. For | | | example, "!??" is all objects in the | | | universe. | ----------------------------------------------------------------- | 'Spec Attribute | The 'Spec attribute will match only Ada | | | library units that are visible parts. (In | | | Gamma, 'Spec matches non-Ada units.) A | | | subprogram body that has no separate spec is | | | matched by 'Spec and 'Body. This change has a| | | very noticeable impact. | ----------------------------------------------------------------- | 'C Attribute | Subclasses are now recognized in the 'C | | | attribute in addition to classes. If a class | | | and a subclass have the same name, the class | | | has priority. | ----------------------------------------------------------------- 5\f ----------------------------------------------------------------- | 'L Attribute | A new attribute is available for explicitly | | | matching the links associated with a world. | | | "Foo'L(Any).Bar" matches the link named "Bar"| | | in the link pack associated with "Foo." This | | | differs from "Foo'Bar" in that it will not | | | match a Bar defined within Foo; the simple | | | name that follows 'L(...) must appear in the | | | link pack. | | | | | | The argument to 'L can be "Any", "External", | | | "Internal", or any prefix of these. | ----------------------------------------------------------------- | 'S Attribute | The 'S(Unit State) attribute restricts the | | | naming expression to match only Ada units | | | with the specified state. The state can be | | | any of ARCHIVED, SOURCE, INSTALLED, or CODED,| | | or expressions involving them. | ----------------------------------------------------------------- | ; Set Expression | A list of names in set notation ("[A, B, C]")| | Separator | can be listed separated by semi-colons ("[A; | | | B; C]"). The effect of this is to require | | | each name in the set to match at least one | | | object. If not, an error is returned. | ----------------------------------------------------------------- | Special Names | Special names such as <SELECTION>, <IMAGE>, | | | and so on are processed as normal directory | | | names and resolve to objects specified by the| | | selection and cursor location. | ----------------------------------------------------------------- Figure 3.1. - Directory Naming Changes 6\f 3.2. Error Log The format of the error log has been changed significantly. It is now much more regular and easier to read. Each entry takes the form of: Time Severity Client-Name Condition-Name Message A few sample entries appear as: 16:41:19 +++ Error_Reporting System Boot 16 16:52:41 +++ EEDB Elaborated NETWORK.8.2.0D 16:52:42 +++ EEDB Elaborated TEST_UTILITIES.8.2.0D 16:53:26 +++ Disk Space_Report (volume 1) free => 203366, capacity => 244860 16:54:54 --- Low_Level_Action Started 16:54:57 --- Low_Level_Action Completed old = 43; new = 43 (pages) A set of interfaces is provided to read the error log. These interfaces can be found in the !Tools.System_Availability subsystem. In addition to reading the log, there are a number of log analysis and reporting tools. Tools are also provided to generate reports from the machine accounting files. 3.3. Job Page Limits In Delta, each job has a page limit. If the job allocates more than this number of pages, then attempts to allocate additional pages result in a Storage_Error exception. This facility is designed to prevent "runaway" programs from running the machine out of disk space. The default page limit is 8000 1K pages. Additional information can be found in the Rational System Manager's Guide. 3.4. Disk Error Recovery Delta is somewhat less sensitive to fatal disk errors than Gamma. Jobs encountering bad disk blocks will still become permanently hung, but system operation should otherwise continue. When a disk "data error" occurs, a task in the Environment, called the "Bad_Block_Notifier," will put entries in the system error log and send a message to every session's Message window. If enabled, and possible, Rational will be called via the diagnostic modem so that appropriate action can be taken promptly. 7\f 3.5. Remote Passwords The FTP package can be optimized to obtain account information including passwords for access to remote machines from the user's session switches and a special file. See the Rational Networking-TCP/IP Reference Manual or the Rational Environment Reference Manual, Session and Job Management (SJM) book, for additional information on this feature. It provides a simple interface and working Environment for users who routinely access a number of different machines via the network. 3.6. Option Parameters/Parameter Parser A number of Environment operations now take an Options parameter that allows specification of a variety of optional control parameters. These options use an Ada aggregate-like notation and are general in their syntax. A parameter option parser, provided in !Tools.Parameter_Parser, allows this same form of options to be utilized by user programs. See the Rational Environment Reference Manual, Library Management (LM) book, Key Concepts, for more details. 3.7. Machine.Initialize The !Machine.Initialize procedure has been reorganized and structured to allow site-specific changes to be independent of essential system operations. A separate Initialize_Site procedure is provided as a home for site-specific customizations. 3.8. Archive Package Archive replaces the Gamma Source_Archive functions. It provides the same basic model, but it also includes facilities for saving and restoring only the code of a subprogram or subsystem. These facilities couple with the Compilation.Load command and the CMVC.Make_Code_View command that are used to produce the code-only objects. See the Rational Environment Reference Manual, Library Management (LM) book, package Archive, for additional details. 3.9. Selection In Gamma, Environment commands that operated on a selection were sensitive to how the selection was made. Generally, object selection ([OBJECT] key followed by an arrow key) had to be used in such commands as incremental editing of Ada units, whereas region selection ([REGION] key followed by [ or ]), if used for these types of commands, would result in an error. In Delta, 8\f selection (either object or region) can be used for all commands that operate on a "selected" object. This ability, for example, allows selecting multiple statements (at the same logical level) in an Ada unit (which can only be done using [REGION]-[, [REGION]-]) and performing an incremental operation (like [EDIT]) on the entire selected region. 3.10. Editor 3.10.1. Selections Selection on text objects has been enhanced to operate on logical blocks of word, sentence, and paragraph, allowing movement to previous/next and parent/child. Ada unit selection has become more refined, allowing smaller selections such as subexpressions to occur. 3.10.2. Insertion Points Entries in insertion point windows will be indented to the same indent as the insertion point itself. This makes it easier to see what the code will look like when it is promoted. It is also possible to control what an insertion point will be. This allows incremental insertion of exception handlers. For example: begin XXX; [1] [2] end; If [OBJECT]-[I] is pressed with the cursor at position [2], an exception handler will be created. At position [1], a statement following XXX will be created. 3.10.3. Comments, Line Breaks, and Page Breaks The placement of comments differs from Gamma. Comments entered in column 1 will stay there. Comments that are not entered in column 1 will be moved to the prevailing indent level. White space between the end of a statement and the beginning of a comment is preserved. Line breaks are kept only if the line ends in two or more blanks. Such explicit line breaks can be removed by deleting the two blanks. Page breaks can be entered into Ada units by entering a form-feed ([CONTROL][L]) in the text. This is done by pressing [CONTROL]["] followed by [CONTROL][L]. 9\f 3.10.4. Return and Indent The [RETURN] key also behaves differently. It indents to the indent level of the previous nonblank line. 3.10.5. Command Windows Command window undo/redo works more on a script model. History is never discarded. If you back up in the history and enter additional commands, you can later move forward in the history up to the end. Pressing the [EDIT] key in a Command window results in a fresh [statement] prompt. The function of deletion of Command windows has changed. [WINDOW]-[K] or [WINDOW]-[D] removes a Command window and any recursive Command windows from the screen. [CREATE COMMAND] Window key brings them back with their prior contents. [OBJECT]-[G] destroys the Command window and its history. 3.10.6. Displaying Deleted Versions Is it possible to view deleted versions of objects with the editor. 3.11. Unchecked_Conversion A new implementation of Unchecked_Conversion has been provided with the Delta release. It has virtually no restrictions on what can be converted, but it does return values different in some cases from the Gamma implementation. All bits used to represent the object participate in the conversion, making it possible to save and later restore structured data objects. An additional package, !Tools.Unchecked_Conversions, provides conversion utilities that offer better execution performance than the basic Unchecked_Conversion generic. See the Rational Environment Reference Manual, Programming Tools (PT) book, packages Tools.Unchecked_Conversion and Lrm.Unchecked_Conversion, for additional information. 3.12. Unchecked_Deallocation There is a new implementation of Unchecked_Deallocation in the Delta release. It provides the basic Ada Unchecked_Deallocation function for a subset of Ada types. The !Tools.Allows_Deallocation package is provided to assist in 10\f determining if unchecked deallocation is allowed for a specific type. See the Rational Environment Reference Manual, Programming Tools (PT) book, package Unchecked_Deallocation, for additional details. 3.13. Ada Unit State There is now a new state for Ada units, called archived. This state, which is logically before the source state, is a compact form of storage for the unit. In the archived state, only the image of the unit is maintained, restricting operations to only viewing the unit. The normal [DEMOTE] key cannot be used to place a unit into the archived state; the Compilation.Demote command must be used instead. 3.14. Terminal I/O In Gamma, a terminal port had to be disabled for login before an application program could open it for I/O. This restriction kept the terminal into which a user is logged from easily being used for various applications that required total control over the terminal. In Delta, an application can open for I/O the terminal that belongs to the session it is run from, allowing application software to gain control over the user's terminal. See the Rational Environment Reference Manual, Data and Device I/O (DIO) book, for more information. In order to support more flexible terminal usage patterns, Delta has a notion of user-defined terminal type names. One of these terminal names represents four characteristics of the terminal device: 1. Input type: The keyboard characteristics provided by the terminal. This is the name that defines the terminal. An input terminal can have its own _Keys file and/or its own _Commands procedure. If not, those corresponding to the terminal output type are used (_Macros and _Init are NOT inherited from the output type). 2. Output type: The driver to be used for producing output. Currently this is one of the set: Facit, Rational, and VT100. 3. Lines: The number of lines that the terminal supports. 4. Columns: The number of columns that the terminal supports. The file !Machine.Editor_Data.Terminal_Types contains the definition of terminals. 11\f The details of the file format and terminal type recognition are presented in the Rational Environment Reference Manual, System Management Utilities (SMU) book, package Terminal. 3.15. Reduced Disk Garbage Generation Many changes have been made internally in reducing disk garbage generation. Consumption of disk space is largely a function of how the R1000 system is used; thus, a particular site may or may not notice lower disk utilization. 3.16. Pragma Page Presence of the pragma page; in an Ada unit results in a form-feed being returned when the unit is read as text if it was opened with the form parameter "Page_Pragma_Mapping". This causes, for example, the printer (Queue.Print) to produce page breaks when the unit is read. 3.17. Programs A maximum size restriction of 8 megabytes has been imposed for the Diana trees of individual units. This is not generally an issue, but, after significant editing operations have been performed, the tree may have to be compacted by the editor. This is done automatically, but it may be noticed because it can take some time for large units. There is a limit of 255 imported units into a particular unit. When loops are executed, the code generator automatically emits code to mark the data space allocation level and restores the data space in each iteration through the loop. This can be controlled with the R1000_Cg.Reclaim_Space switch. When true (the default), data space is restored in each iteration through the loop. When a prompt ([statement]) is executed, Program_Error is raised. A special flavor of this exception is raised in this case so that the debugger or job termination message makes it clear that the Program_Error was raised because a prompt was executed. 3.18. Response Profiles Response profiles control the filtering of log messages, remote passwords, etc. and are used by many commands. In Delta, response profiles have been changed so that most commands take a string that represents the profile. This string allows easy specification of log filters, for 12\f example: Lib.Copy (From => "<REGION>", To => "<IMAGE>", Recursive => True, Response => "<PROFILE>", Copy_Links => True, Options => ""); specifies use of the current job profile. Specification of Response => "Prefix=>Symbols,+++,++*,***" causes messages for progress and error messages only to be displayed. See the Rational Environment Reference Manual, Session and Job Management (SJM) book, package Profile, for more information. This change affects the parameter profile of almost all commands. 3.19. Miscellaneous Promoting an Ada unit to source will make it read-only. "Flavors" of I/O exceptions have been defined so that the debugger can give more specific information about a problem. For example, Io.Open (F, Io.In_File, "jh)(*&*&^^%"); would be reported in the debugger as: exception !Io.Io_Exceptions.Name_Error (illformed name) raised ... 4. Converting from Gamma This section describes some of the problems likely to be encountered in converting from Gamma to the Delta release. 4.1. Commonly Used Object Whose Names Have Changed A number of packages in Delta have different names from Gamma. A simple correction in a unit that does not install is to change the with clause to refer to the new name and to add a package renaming declaration declaring the old name to rename the new name. * Directory_Implementation -> Directory (in !Implementation) * Simple_Text_Io -> Io (in !Io) 13\f * Code_Generator -> R1000_Code_Generator (in !Implementation) * Link_Implementation -> Links_Implementation (in !Implementation) * Scheduler.Vpid -> Job_Id (in !Commands.Scheduler) * Ada/Text.Write_File -> Common.Write_File (in !Commands) * !Compiler_Implementation.Switch_Implementation -> !Implementation.Switch_Implementation The parameter names of some operations have changed. The easiest thing to do is to check the spec of an Environment operation for which you have a reference that no longer compiles. 4.2. Unchecked_Conversion For array objects and discriminated records, Delta Unchecked_Conversion will return all the bounds information as part of the converted value. This differs from Gamma, where Unchecked_Conversion tried to hide the extra bits in the object. This may affect some conversions in existing code. Consult your Rational technical representative for information about converting programs that depended on the old implementation. 4.3. Semanticist Changes Semantic restrictions include two especially noticeable issues: * Declaration order * Hiding of subprogram simple name (for example, "function foo return mumble.foo" is illegal) 4.4. Machine.Initialize Customizations made by a site to Machine.Initialize should be redone in Delta as follows: * Terminal-related initialization changes should be put in Initialize_Terminals. * Other general, site-specific initialization should be placed in Initialize_Site. * Where possible, do not modify the other parts of Machine.Initialize. 14\f 4.5. Conversion Hints Conversion of Gamma subsystems to CMVC should be done automatically by Archive.Restore. It is possible to have Archive map switch and link names, as well. This is controlled by the file !Machine.Archive_Mappings. See the Rational Environment Reference Manual, Library Management (LM) book, package Archive, for additional details. If you use nonstandard pretty-printer switches, they should be set BEFORE archive tapes from Gamma are restored. The options become effective only when the unit is first parsed or Library.Reformat_Image is run. 4.6. Keyboard Macros A number of keymap changes affect keyboard macros. In addition, some operations leave the cursor in a different position than in Gamma. This can also affect operation of keyboard macros. Incremental operations now use minor windows; keyboard macros may break because [WINDOW]-[J] no longer works in the window containing the incremental text. If you have a key bound to a macro that refers to things present in Gamma but not in Delta, the macro will no longer work properly. Other macros will work. 4.7. Naming Changes Most noticeable are the changed interpretation of "?" and "'spec". 4.8. Formatting of Ada Units The Delta Ada image pretty-printer has changed such that Ada units will be formatted differently in Delta. To maintain the same format as in Gamma, the option Trailing_Blanks => 0 must be included in the Archive.Restore command. This will have the effect of adding two spaces to the end of each line in an Ada unit, indicating to the formatter NOT to change the location of the line. If you want to format these Ada units using the new formatter rules, remove the two spaces appended to each line and press [FORMAT]. To remove the blanks: Editor.Search.Replace_Next (Target => " }", Replacement => "", Repeat => -1, Wildcard => True); 15\f 4.9. Subsystems Tools that traverse the activities that represent Gamma subsystem imports will need to be changed to traverse Object_Sets in Delta, because these are the new representation for imports. Tools that were built on top of the View and History packages will have to be rewritten to use the new CMVC operations. 5. Changes in !Commands The following sections summarize the changes that have been made in the !Commands world. For each section, specific changes are summarized in tabular form. Entries marked with an asterisk (*) indicate that the change was made between the Delta beta test release and the production release. The following table describes the change code which is used by the subsequent tables under the heading Change. --------------------------------------------------------------- | Code | Description | --------------------------------------------------------------- | Additions | Upward compatible enhancements have been made | --------------------------------------------------------------- | Deleted | Deleted from Delta | --------------------------------------------------------------- | Func | Functional change resulting in a different | | | behavior | --------------------------------------------------------------- | Moved | Moved from a different location (path) in the | | | Environment | --------------------------------------------------------------- | New | A new subprogram or package | --------------------------------------------------------------- | Profile | The parameter profile has changed for this | | | subprogram | --------------------------------------------------------------- | Renamed | A new name for the subprogram | --------------------------------------------------------------- Table 5.1. - Gamma to Delta Change Codes 16\f 5.1. Library Abbreviations Several new abbreviations have been added. Some changes were made to make implementations consistent with other system changes. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Code | Func* | Places log in current directory, | | | | file "<user>_Code_Log" | ---------------------------------------------------------------- | Install | Func* | Places log in current directory, | | | | file "<user>_Install_Log" | ---------------------------------------------------------------- | Do_Backup | Moved* | Moved from !Users.Operator; runs a | | | | backup; see also Full_Backup, | | | | Primary_Backup, Secondary_Backup | ---------------------------------------------------------------- | Full_Backup | New* | Takes a full backup | ---------------------------------------------------------------- | Primary_Backup | New* | Takes a primary backup | ---------------------------------------------------------------- | Schedule_Shutdown| New* | Does a shutdown at a specific time;| | | | parameters specify reason | ---------------------------------------------------------------- | Secondary_Backup | New* | Takes a secondary backup | ---------------------------------------------------------------- | Users | New* | Simplified and shorter format of | | | | user/job display; especially useful| | | | when run from console | ---------------------------------------------------------------- Figure 5.2. - Changes to Package Abbreviations 17\f 5.2. Package Access_List Package Access_List provides a set of interactive commands for setting and displaying access control information. See the documentation on access control in the Rational Environment Reference Manual, Library Management (LM) book, package Access_List. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Display | New | Displays the access list of an | | | | object or objects | ---------------------------------------------------------------- | Set | New | Sets the access list of an object | | | | or objects | ---------------------------------------------------------------- | Default_Display | New | Displays the default access list | | | | for new objects of named worlds | ---------------------------------------------------------------- | Set_Default | New | Sets the default access list for | | | | new objects of named worlds | ---------------------------------------------------------------- | Add | New | Adds to the access list of named | | | | objects | ---------------------------------------------------------------- | Add_Default | New | Adds to the default access list of | | | | named worlds | ---------------------------------------------------------------- Figure 5.3. - Summary of Package Access_List 18\f 5.3. Package Ada ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Code | Renamed| Called Code_Unit in Delta release. | ---------------------------------------------------------------- | Install | Renamed| Called Install_Unit in Delta | | | | release. | ---------------------------------------------------------------- | Source | Renamed| Called Source_Unit in Delta | | | | release. | ---------------------------------------------------------------- | Expand_Names | Deleted| | ---------------------------------------------------------------- | Other_Part | Profile| Added In_Place parameter | | | | controlling window use. | ---------------------------------------------------------------- | Show_Usage | Profile| Additional parameters controlling | | | | scope of search for usages. | ---------------------------------------------------------------- | Show_Unused | New | New operation to show unused | | | | declarations in a unit. | ---------------------------------------------------------------- | Create_Body_Part | Renamed| Called Create_Body in Delta. | ---------------------------------------------------------------- | Create_Private_Pa| Renamed| Called Create_Private in Delta. | | rt | | | ---------------------------------------------------------------- | Insert_Blanks_Lin| New | Inserts blanks lines before the | | es | | current line (not implemented in | | | | D0). | ---------------------------------------------------------------- | Delete_Blanks_Lin| New | Deletes blank lines at the current | | es | | cursor (not implemented in D0). | ---------------------------------------------------------------- | Clear_Errors | Deleted| See operation in !Commands.Library.| ---------------------------------------------------------------- | Create_Unit | Deleted| See operation in !Commands.Library.| ---------------------------------------------------------------- | Create_World | Deleted| See operation in !Commands.Library.| ---------------------------------------------------------------- | Create_Directory | Deleted| See operation in !Commands.Library.| ---------------------------------------------------------------- | Insert_File | Deleted| See operation in !Commands.Common. | ---------------------------------------------------------------- | Write_File | Deleted| See operation in !Commands.Common. | ---------------------------------------------------------------- Figure 5.4. - Changes to Package Ada 19\f 5.4. Package Archive A new package Archive replaces !Commands.Source_Archive. Archive has a similar structure and function to Source_Archive, but it can save and restore additional types of objects, including code-only objects. Archive is described more fully in the Rational Environment Reference Manual, Library Management (LM) book, package Archive. 20\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Save | Profile| Parameters changed. New Options | | | | parameter replaces several. No | | | | Roof parameter. | ---------------------------------------------------------------- | Restore | Profile| New parameter profile. New | | | | Use_Prefix/For_Prefix model for | | | | renaming. Options parameter added.| ---------------------------------------------------------------- | List | Profile| New options parameter. Lists | | | | contents of an archive tape or | | | | directory | ---------------------------------------------------------------- | Copy | Rename | Replaces Transfer. Used to copy | | | | structures between R1000s via the | | | | network or on the same R1000. | | | | Options parameter added. | ---------------------------------------------------------------- | Server | New | Starts archive server. Server | | | | handles Copy requests between | | | | networked R1000s. | ---------------------------------------------------------------- | Status | New* | Displays status of archive server. | | | | Used to diagnose problems with | | | | servers and monitor progress. | ---------------------------------------------------------------- | Trailing_Blanks | New* | Option to Restore and Copy. | | Option | | Specifies the number of trailing | | | | blanks needed on a line to consider| | | | the line break as one that should | | | | be retained in the program. If not| | | | retained, the pretty-printer will | | | | break lines as it sees fit. The | | | | value 0 causes all line breaks to | | | | be retained. The default is 2, | | | | which preserves line breaks | | | | inserted with the editor. A large | | | | value causes removal of all such | | | | line breaks. | ---------------------------------------------------------------- | Code Option | New* | The Code option allows one to | | | | specify that only the code of a | | | | loaded main program of subsystem | | | | code view be saved. | ---------------------------------------------------------------- Figure 5.5. - Summary of Package Archive Additional notes on Archive: Copy and Restore will ignore a unit that does not have For_Prefix as a prefix of its name. The Target_Keys for a world are saved and restored with the 21\f world. If a subsystem view is restored and there is no surrounding subsystem structure, then the subsystem structure is created. Cmvc_Maintenance.Check_Consistency is called for each restored or copied view in order to register that view with the CMVC database. When a unit is restored without its parents, the parents are created to be the proper class, rather than just worlds as was done in Gamma. 22\f 5.5. Package CMVC This new package in Delta replaces the bulk of the old View and History packages. It provides a new Configuration Management and Version Control system. There are operations for creating and managing subsystems, views, individual units, and information about them. 5.6. Package CMVC_Maintenance This new package defines a number of CMVC operations for diagnosing CMVC problems and checking CMVC subsystems. 5.7. Package Common Package Common contains operations that are common to most of the different object editors. 23\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Abandon | Profile| New parameter specifies the window | | | | to be abandoned. | ---------------------------------------------------------------- | Clear_Underlining| New | Removes underlining left by prior | | | | operations. | ---------------------------------------------------------------- | Complete | Profile| New parameter controls whether menu| | | | should appear if completion is | | | | ambiguous. | ---------------------------------------------------------------- | Definition | Profile| New parameters control window reuse| | | | and selection of spec versus body. | ---------------------------------------------------------------- | Edit | Profile| New parameters control window reuse| | | | and selection of spec versus body. | ---------------------------------------------------------------- | Enclosing | Profile| New parameters control window reuse| | | | and whether to skip subunits and go| | | | to a library. | ---------------------------------------------------------------- | Elide | Moved, | Controls level of detail in current| | | Profile| image. | ---------------------------------------------------------------- | Expand | Moved, | Controls level of detail in current| | | Profile| image. | ---------------------------------------------------------------- | Release | Profile| New parameter specifies window. | ---------------------------------------------------------------- | Sort_Image | New | Causes display to be sorted based | | | | on its current format. Specific to| | | | object type. | ---------------------------------------------------------------- | Insert_File | New | Inserts contents of the specified | | | | file into the current image. Runs | | | | on editor task. If you interrupt | | | | (^G), the insertion is stopped | | | | immediately at that point. | ---------------------------------------------------------------- | Write_File | Moved | Writes image contents to the | | | | specified file. Now common to all | | | | object editors. | ---------------------------------------------------------------- Figure 5.6. - Changes to Package Common 24\f 5.8. Package Compilation Most compilation operations can now take activities as indirect files. Most operations also use a new parameter format in which special strings rather than enumeration constants are used to specify objects and compilation limits. See the Rational Environment Reference Manual, Library Management (LM) book, package Compilation, for more details. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Compile | Profile| New parameter specifies limit of | | | | compilation. | ---------------------------------------------------------------- | Atomic_Destroy | Profile| New parameter specifies limit of | | | | compilation. | ---------------------------------------------------------------- | Load | New | Creates a code-only main subprogram| | | | from a normal main subprogram. | ---------------------------------------------------------------- | Set_Target_Key | New | | ---------------------------------------------------------------- | Show_Target_Key | New | | ---------------------------------------------------------------- | Get_Target_Key | New | | ---------------------------------------------------------------- Figure 5.7. - Changes to Package Compilation 25\f 5.9. Package Daemon The daemon management software has been rewritten for Delta. It is more robust and provides better management and control of daemons. The following are the major changes in daemon operation: * Daemons run at normal Environment priorities rather than low priorities. This prevents important daemon execution from being blocked by a high load of user jobs. * Warning messages are issued to all users when major daemons are about to run. This makes it clear what is going on when system operation slows or stops because of daemon operation. * Most daemons run much faster, reducing the impact on system availability. 26\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Run | Profile| New response profile parameter | | | | controls log output. | ---------------------------------------------------------------- | Schedule | Profile| Miscellaneous changes. | ---------------------------------------------------------------- | Quiesce | Profile| Miscellaneous changes. | ---------------------------------------------------------------- | Status | Func | Displays additional information for| | | | Disk daemon. This can help | | | | identify the phase of disk | | | | collection and diagnose possible | | | | problems. | ---------------------------------------------------------------- | Warning_Interval | New | Controls time between user warning | | | | about daemon execution and actual | | | | start of execution. | ---------------------------------------------------------------- | Last_Run | New | Returns time of last run of | | | | specified client. | ---------------------------------------------------------------- | Threshold_Warning| New | Controls user display of warnings | | s | | that garbage collection thresholds | | | | have been crossed. | ---------------------------------------------------------------- | Show_Disk_Thresho| Deleted| See !Tools.Disk_Daemon package. | | lds | | | ---------------------------------------------------------------- | Set_Disk_Threshol| Deleted| See !Tools.Disk_Daemon package. | | ds | | | ---------------------------------------------------------------- | Get_Disk_Threshol| Deleted| See !Tools.Disk_Daemon package. | | d | | | ---------------------------------------------------------------- | Get_Disk_Usage | Deleted| See !Tools.Disk_Daemon package. | ---------------------------------------------------------------- | Get_Disk_Capacity| Deleted| See !Tools.Disk_Daemon package. | ---------------------------------------------------------------- | Backup_Killing_En| Deleted| See !Tools.Disk_Daemon package. | | abled | | | ---------------------------------------------------------------- | Set_Backup_Killin| Deleted| See !Tools.Disk_Daemon package. | | g | | | ---------------------------------------------------------------- Figure 5.8. - Changes to Package Daemon 27\f 5.10. Package Debug The Debugger window is an object editor allowing selections, definition, copying regions, and the like. The numeric keypad can be used to specify stack frame numbers for many commands. See the Rational Environment Reference Manual, Debugging (DEB) book, for more details. A few of the command changes are summarized below. 28\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Kill | Profile| New parameters specify whether | | | | debugger, job, or both are to be | | | | killed. | ---------------------------------------------------------------- | Put | Profile| Accepts separate frame number | | | | parameter. Interactively, this | | | | parameter can come from the numeric| | | | keypad. | ---------------------------------------------------------------- | Modify | Profile| Parameter order changed to be | | | | easier to use with selection and | | | | numeric keypad. | ---------------------------------------------------------------- | Display | Profile| Defaults to selection and allows | | | | use of numeric keypad for frame | | | | specification. | ---------------------------------------------------------------- | Definition | Renamed| Called Source in Delta. Also takes| | | | frame number parameter. | ---------------------------------------------------------------- | Break | Profile| Additional parameters to specify | | | | stack frame number and lifetime of | | | | breakpoint. | ---------------------------------------------------------------- | Trace | Profile| Additional parameter to specify | | | | stack frame number. | ---------------------------------------------------------------- | Take_History | Profile| Additional parameter to specify | | | | stack frame number. | ---------------------------------------------------------------- | Context | Profile| Additional parameter to specify | | | | stack frame number. | ---------------------------------------------------------------- | Delete_Temporary_| New | Deletes versus deactivates | | Breaks option | | temporary breakpoints. | ---------------------------------------------------------------- | Echo_Commands | New | Controls whether commands are | | option | | echoed in the Debugger window. | ---------------------------------------------------------------- | Freeze_Tasks | New | Stop all tasks whenever one stops. | | option | | | ---------------------------------------------------------------- | No_History_Timest| New | Controls display of history | | amps option | | information. | ---------------------------------------------------------------- | Save_Exceptions | New | Saves exception-handling | | option | | information across debugging of | | | | different jobs. | ---------------------------------------------------------------- 29\f ---------------------------------------------------------------- | Require_Debug_Off| New | Requires that debugging of one job | | option | | be terminated before another can | | | | begin. | ---------------------------------------------------------------- | Current_Debugger | New | Used to switch between R1000 | | | | debugger and other target | | | | debuggers. | ---------------------------------------------------------------- | Memory_Display | Renamed| Formerly Memory_Dump. | ---------------------------------------------------------------- | Location_To_Addre| Renamed| Formerly Where_Is. | | ss | | | ---------------------------------------------------------------- | Address_To_Locati| Renamed| Formerly What_Is. | | on | | | ---------------------------------------------------------------- | Exception_To_Name| Renamed| Formerly Which_Exception. | ---------------------------------------------------------------- Figure 5.9. - Changes to Package Debug 30\f 5.11. Package Editor A number of new operations have been added to the editor package. See the Rational Environment Reference Manual, Editing Images (EI) book, for additional information. See below for a summary of some of the changes. 31\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Cursor.Forward | New | Stream motion forward in text | | | | stream. | ---------------------------------------------------------------- | Cursor.Backward | New | Stream motion backward in text | | | | stream. | ---------------------------------------------------------------- | Cursor.Next | Profile| Additional parameters move to next | | | | underline or prompt. | ---------------------------------------------------------------- | Cursor.Previous | Profile| Additional parameters move to | | | | previous underline or prompt. | ---------------------------------------------------------------- | Cursor.Beginning_| Deleted| | | Of | | | ---------------------------------------------------------------- | Cursor.End_Of | Deleted| | ---------------------------------------------------------------- | Search | Profile| Additional Wildcard parameter added| | | | to all procedures in this package. | ---------------------------------------------------------------- | Char.Delete_Forwa| Func | Joins lines when reaches the end of| | rd | | line. | ---------------------------------------------------------------- | Char.Delete_Next | Renamed| Called Delete_Forward in Gamma. | ---------------------------------------------------------------- | Char.Delete_Previ| New | Quarter plane deletion - does not | | ous | | cross line boundaries. | ---------------------------------------------------------------- | Char.Tab_To_Comme| New | Tab to the comment column and | | nt | | insert comment marks. | ---------------------------------------------------------------- | Screen.Copy_Top | New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Delete_Top| New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Next | New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Previous | New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Push | New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Rotate | New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Swap | New | Screen stack operation. | ---------------------------------------------------------------- | Screen.Top | New | Screen stack operation. | ---------------------------------------------------------------- | Macro.Restore | New | Restore macro state from the user | | | | macro file. | ---------------------------------------------------------------- 32\f ---------------------------------------------------------------- | Macro.Save | Profile| New parameter allows saving of | | | | macros in source form. Note: This | | | | operation is not implemented in | | | | Delta 0. | ---------------------------------------------------------------- | Hold_Stack.Copy_T| New | | | op | | | ---------------------------------------------------------------- | Hold_Stack.Delete| New | | | _Top | | | ---------------------------------------------------------------- | Hold_Stack.Rotate| New | | ---------------------------------------------------------------- | Hold_Stack.Swap | New | | ---------------------------------------------------------------- | Mark.Copy_Top | New | | ---------------------------------------------------------------- | Mark.Delete_Top | New | | ---------------------------------------------------------------- | Mark.Rotate | New | | ---------------------------------------------------------------- | Mark.Swap | New | | ---------------------------------------------------------------- | Region.Comment | New | Turn a selected region into an Ada | | | | comment. | ---------------------------------------------------------------- | Region.Uncomment | New | Turn a selected region from an Ada | | | | comment into normal code. | ---------------------------------------------------------------- Figure 5.10. - Changes to Package Editor 5.12. Package File_Utilities Several new options were added to the file utilities operations. See the Rational Environment Reference Manual for additional information and below for a summary. 33\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Compare | Func | New parameters allow case to be | | | | ignored and provide some additional| | | | options to allow more flexible | | | | comparison, including wildcard | | | | compares. | ---------------------------------------------------------------- | Equal | Func | Analogous changes to Compare. | ---------------------------------------------------------------- | Find | Func | Additional parameters allow more | | | | options in searching and placement | | | | of resulting output. | ---------------------------------------------------------------- | Found | Func | Analogous changes to Find. | ---------------------------------------------------------------- | Sort | New | Provides a file sort operation. | ---------------------------------------------------------------- Figure 5.11. - Changes to Package File_Utilities 5.13. Package Ftp This networking command spec for operating the File Transfer Protocol is now located directly in !Commands. It is no longer in a subsystem. Package !Commands.Ftp now obtains usernames, passwords, and account names from session switches, using the new switches Remote_Passwords and Remote_Sesssions. The old switches (Ftp.Username, Ftp.Password, Ftp.Account) are still supported; the new switch will be used if the old one is set to the null (default) string. In more detail: * If you pass a null username to Ftp (either explicitly or because your Ftp.Username switch is set to null), then Ftp will get a username from the file pointed to by Profile.Remote_Passwords. * If you pass a null password to Ftp (either explicitly or because your Ftp.Password switch is set to null), and your Ftp.Prompt_For_Password switch is set to false, then Ftp will get a password from the file pointed to by Profile.Remote_Passwords. * If you pass a null account to Ftp (either explicitly or because your Ftp.Account switch is set to null), and your Ftp.Prompt_For_Account switch is set to false, then Ftp will get an account from the file pointed to by Profile.Remote_Sessions. All Ftp users are encouraged to start storing their Ftp 34\f usernames, passwords, and accounts in Remote_Passwords and Remote_Sessions files, and to set Ftp.[Username,Password,Account] = "", and Ftp.[Prompt_for_Password,Prompt_for_Account] = false. The Remote_Passwords and Remote_Sessions files are both text files, with a certain format. Each line of the Remote_Passwords file has a machine name, a username, and a password, in that order, separated by blanks. Each line of the Remote_Sessions file has a machine name and a session (account) name, in that order, separated by blanks. The last line of either file may start with "others" in place of a machine name; the rest of the line provides the default for machines not explicitly named in previous lines. The reserved string <PROMPT> may appear in place of any username, password, or session (account) name, indicating that the user should be prompted interactively whenever the value is needed. For example: Remote_Passwords file: ratnet_mv brian loop/bar -- password for ratnet_mv is "loop/bar" barney brian <PROMPT> -- prompt for password for barney others brian -- null password for other machines Remote_Sessions file: barney remote others S_1 5.14. Package Job ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Connect | Profile| Has default value 0 for The_Job | | | | parameter indicating the default | | | | job. | ---------------------------------------------------------------- | Disconnect | Profile| Now takes a job Id parameter. | ---------------------------------------------------------------- Figure 5.12. - Changes to Package Job 5.15. Package Library A number of default parameter values were changed in almost all Library operations. The special names for the selection, image, and so on, are used throughout. Some other specific changes are summarized in the table below. 35\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Copy | Func | Copy subsumes Copy_Into by treating| | | | parameters that refer to libraries | | | | as meaning to place an object into | | | | that library, for example. The | | | | spec for Library.Copy describes all| | | | the combinations of parameters and | | | | their exact interpretation. An | | | | Options parameter has also been | | | | added, but there are presently no | | | | options. Copy also preserves | | | | edit/modify times when objects are | | | | copied. | ---------------------------------------------------------------- | Move | Func | Changed similar to Copy. | ---------------------------------------------------------------- | Copy_Into | Deleted| Replaced by Copy. | ---------------------------------------------------------------- | Move_Into | Deleted| Replaced by Move. | ---------------------------------------------------------------- | Freeze | Func | Freezing and unfreezing require | | | | owner access to the world | | | | containing the affected objects. | ---------------------------------------------------------------- | Space | Func | The display produced by Space has | | | | been changed considerably and is | | | | now produced incrementally rather | | | | than at the end of processing. The| | | | display indicates the individual | | | | and cumulative space used by | | | | objects in a particular part of the| | | | directory structure. | ---------------------------------------------------------------- Figure 5.13. - Changes to Package Library 5.16. Package Log 36\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Put_Condition | New | Displays a Simple_Status.Condition | | | | in the log. | ---------------------------------------------------------------- | Put_Line | Func | Position_Message symbol changed | | | | from ==> to >>>. Auxiliary_Msg | | | | changed from ??? to :::. | ---------------------------------------------------------------- | Flush | New | Forces any log output into the log | | | | file. | ---------------------------------------------------------------- | Save | New | Makes the current log file | | | | permanent; calls Flush in addition.| ---------------------------------------------------------------- | Put_Line_Generic | New | Enters a message into the log and | | | | evaluates parameters only if the | | | | message would not be filtered out | | | | by the current profile filter. | ---------------------------------------------------------------- | Put_Errors | New | Puts error messages into the log. | | | | These errors come from directory | | | | operations. | ---------------------------------------------------------------- | Image | New | Returns the three-letter prefix | | | | used for the Message_Kind | | | | parameter. | ---------------------------------------------------------------- Figure 5.14. - Changes to Package Log 5.17. Package Operator 37\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Create_User | Func | Added Response profile string | | | | parameter. Also, the user's home | | | | world will have the links of | | | | !Model.R1000 copied into it. | ---------------------------------------------------------------- | Delete_User | Profile| Added Response profile string | | | | parameter. | ---------------------------------------------------------------- | Create_Session | Profile| Added Response profile string | | | | parameter. | ---------------------------------------------------------------- | Create_Group | New | Creates an access control group. | ---------------------------------------------------------------- | Delete_Group | New | Deletes a group. | ---------------------------------------------------------------- | Add_To_Group | New | Adds a user to a group. | ---------------------------------------------------------------- | Remove_From_Group| New | Removes a user from a group. | ---------------------------------------------------------------- | Display_Group | New | Displays the members of a group and| | | | user information | ---------------------------------------------------------------- | Enable_Privileges| New | Turns on privileged mode operation | | | | for the calling job. | ---------------------------------------------------------------- | Privileged_Mode | New | Returns true if the calling job is | | | | running in privileged mode. | ---------------------------------------------------------------- | Enable_Terminal | Profile| Added Response profile string | | | | parameter. | ---------------------------------------------------------------- | Disable_Terminal | Profile| Added Response profile string | | | | parameter. | ---------------------------------------------------------------- | Force_Logoff | Func | Added Response profile string | | | | parameter. Commit_Buffers | | | | parameter causes an attempt to | | | | commit editor buffers in the | | | | session. | ---------------------------------------------------------------- | Set_System_Time | Profile| Added Response profile string | | | | parameter. | ---------------------------------------------------------------- | Shutdown | Func | Includes parameter to enter | | | | shutdown cause into the error log. | | | | Aborts jobs in a more orderly | | | | manner than in Gamma. | ---------------------------------------------------------------- | Explain_Crash | New | Prompts for information on cause of| | | | last crash; information is entered | | | | into the system log. | ---------------------------------------------------------------- 38\f ---------------------------------------------------------------- | Limit_Background | Deleted| | ---------------------------------------------------------------- | Show_Background_L| Deleted| | | imit | | | ---------------------------------------------------------------- | Get_Background_Li| Deleted| | | mit | | | ---------------------------------------------------------------- Figure 5.15. - Changes to Package Operator 39\f 5.18. Package Program ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Run_Job | Func | New Debug parameter allows running | | | | job under the debugger. Options | | | | parameter allows specification of | | | | Input, Output, and Error files, | | | | User, Password, and Session for | | | | access control identity. | ---------------------------------------------------------------- | Create_Job | New | Similar to Run_Job, but returns job| | | | id and status. | ---------------------------------------------------------------- | Started_Successfu| New | Function to check if Create_Job was| | lly | | successful at starting a new job. | ---------------------------------------------------------------- | Wait_For | New | Waits for completion of specified | | | | job. | ---------------------------------------------------------------- | Change_Identity | New | Used to change access control group| | | | identity. | ---------------------------------------------------------------- | Current | New | Returns full name given unit, | | | | subsystem, and activity name. | ---------------------------------------------------------------- Figure 5.16. - Changes to Package Program 5.19. Package Queue ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Print | Profile| New Options parameter. Class moved| | | | into Options parameter. Lots of | | | | additional options. | ---------------------------------------------------------------- | Print_Version | Profile| See Print. | ---------------------------------------------------------------- | Add | Func | Allows specification of printer | | | | protocol: CTS/RTS, XON/XOFF, | | | | Telnet, or remote network node. | ---------------------------------------------------------------- Figure 5.17. - Changes to Package Queue 40\f 5.20. Package Scheduler 41\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Vpid | Renamed| All references to Vpid in the | | | | Environment are changed to Job_Id. | ---------------------------------------------------------------- | Set_Cpu_Priority | Deleted| Was never implemented in Gamma. | ---------------------------------------------------------------- | Vp_Kind | Renamed| Now called Job_Kind. | ---------------------------------------------------------------- | Vp_State | Renamed| Now called Job_State. | ---------------------------------------------------------------- | Get_Vp_Kind | Renamed| Now called Get_Job_Kind. | ---------------------------------------------------------------- | Get_Vp_State | Renamed| Now called Get_Job_State. | ---------------------------------------------------------------- | Pages_In_Cache | Deleted| Replaced with Working_Set_Size. | ---------------------------------------------------------------- | Job_Descriptor | New | Type that defines information about| | | | a job. See Get_Job_Descriptor. | ---------------------------------------------------------------- | Get_Job_Descripto| New | Returns information about the | | r | | specified job. | ---------------------------------------------------------------- | Traverse_Job_Desc| New | Returns a consistent set of job | | riptors | | descriptors for many jobs. | ---------------------------------------------------------------- | Set | Deleted| Parameters set using new Set, which| | | | replaces Set_Parameter. | ---------------------------------------------------------------- | Set_Parameter | Renamed| Set. Additional parameters also | | | | defined. | ---------------------------------------------------------------- | Get_Value | Renamed| Get. Additional parameters also | | | | defined. | ---------------------------------------------------------------- | Enable_Scheduling| Deleted| Replaced by Set. | ---------------------------------------------------------------- | Disable_Schedulin| Deleted| Replaced by Set. | | g | | | ---------------------------------------------------------------- | Set_Job_Class | Renamed| Now called Set_Job_Attribute. More| | | | general. | ---------------------------------------------------------------- | Get_Job_Class | Renamed| Now called Get_Job_Attribute. More | | | | general. | ---------------------------------------------------------------- | Get_Wsl_Limits | New | Allows setting of working set | | | | limits for a job. | ---------------------------------------------------------------- | Get_Wsl_Limits | New | Returns current working set limits | | | | for a job. | ---------------------------------------------------------------- 42\f ---------------------------------------------------------------- | Use_Default_Wsl_L| New | Restores limit values to defaults. | | imits | | | ---------------------------------------------------------------- Figure 5.18. - Changes to Package Scheduler 43\f 5.21. Package Search_List The system default searchlist has been changed to be: $` !COMMANDS !LOCAL !COMMANDS.ABBREVIATIONS` !MACHINE.RELEASE.CURRENT.COMMANDS` !IO !TOOLS !TOOLS.NETWORKING ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Edit | Renamed| Now called Show_List. | ---------------------------------------------------------------- | Definition | Renamed| Now called Show_Item. | ---------------------------------------------------------------- Figure 5.19. - Changes to Package Search_List 5.22. Package Source_Archive Package Source_Archive has been renamed Archive because it saves far more than just the source of Ada units. Also, a number of operations have been added. The following table compares the old Source_Archive operations with those in Archive. 44\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Save | Func | Roof concept removed. All options | | | | specified in Options parameter. | ---------------------------------------------------------------- | Restore | Func | All options in Options parameter. | | | | Use_Prefix/For_Prefix provide | | | | renaming instead of Roof. Many | | | | additional options. | ---------------------------------------------------------------- | List | New | Displays the contents of an archive| | | | tape or directory. | ---------------------------------------------------------------- | Transfer | Renamed| Now called Copy. Different profile| | | | consistent with Save/Restore. | ---------------------------------------------------------------- | Server | New | Starts Archive server. Used in | | | | Machine.Initialize. | ---------------------------------------------------------------- | Status | New | Used to check status of operations | | | | the server is processing. | ---------------------------------------------------------------- Figure 5.20. - Changes to Package Source_Archive 45\f 5.23. Package Switches The general change to string profiles affects a number of operations in this package. These changes are not explicitly listed. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Associate | Profile| Parameter Directory changed to | | | | Library. | ---------------------------------------------------------------- Figure 5.21. - Changes to Package Switches 5.24. Package System_Backup ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Kind | Profile| Enumeration literal None removed. | ---------------------------------------------------------------- | Backup | Profile| Parallel parameter removed. | ---------------------------------------------------------------- | Relations | Deleted| | ---------------------------------------------------------------- | Taken | Deleted| | ---------------------------------------------------------------- Figure 5.22. - Changes to Package System_Backup 5.25. Package Tape ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Read | Profile| Options parameter replaces Format | | | | and Add_New_Line. Now handles | | | | binary files, which was not the | | | | case in Gamma. | ---------------------------------------------------------------- | Write | Profile| Options parameter replaces Format, | | | | Record_Format, Record_Length, and | | | | Block_Length parameters. | | | | Text_Files and Recursive parameter | | | | deleted. | ---------------------------------------------------------------- Figure 5.23. - Changes to Package Tape 46\f 5.26. Package Text ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Insert_File | Moved | Now in !Commands.Common. | ---------------------------------------------------------------- | Write_File | Moved | Now in !Commands.Common. | ---------------------------------------------------------------- | Remote | Deleted| No longer supported. | ---------------------------------------------------------------- | Redirect | New | Redirects the output from current | | | | output to a named file. | ---------------------------------------------------------------- Figure 5.24. - Changes to package Text 5.27. Package Transport_Route New package. Part of the networking product. 5.28. Package View This package is replaced by the new CMVC tools. There is no direct correspondence between View operations and CMVC operations, but the same functions can be affected. 5.29. Package What ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Users | Func | Display format changed to indicate | | | | all jobs associated with a session.| | | | Sessions are separated by a blank | | | | line to make the display easier to | | | | read. Each editor job indicates | | | | the kind of editor. | ---------------------------------------------------------------- Figure 5.25. - Changes to Package What 5.30. Package Work_Order This new package is part of CMVC. 47\f 6. Changes in !Tools 6.1. Package Access_List_Tools This new package supports access control. It is the program interface to access control. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Get | New | Retrieve the access list for an | | | | object. | ---------------------------------------------------------------- | Set | New | Set the access list of an object. | ---------------------------------------------------------------- | Check | New | Check if a job has access to an | | | | object. | ---------------------------------------------------------------- | Get_Default | New | Retrieve the default access list of| | | | an object. | ---------------------------------------------------------------- | Set_Default | New | Set the default access list of an | | | | object. | ---------------------------------------------------------------- | Check_Validity | New | Check an access list for validity. | ---------------------------------------------------------------- | Has_Operator_Capa| New | Check if the calling job has | | bility | | operator capability. | ---------------------------------------------------------------- | Normalize | New | Remove deleted group entries from | | | | an access list. | ---------------------------------------------------------------- | Amend | New | Add and entry to an access list. | ---------------------------------------------------------------- Figure 6.1. - Changes to Package Access_List_Tools 6.2. Package Ada_Object_Editor This is a new package in Delta. 6.3. Package Ada_Text This new package provides access to an Ada image. 48\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Open | New | Open an image for access. | ---------------------------------------------------------------- | Close | New | Close an image. | ---------------------------------------------------------------- | Root | New | Return the Diana tree corresponding| | | | to an image. | ---------------------------------------------------------------- | Where_is | New | Return information about where in | | | | the image a tree pointer points. | ---------------------------------------------------------------- | and many more | New | A number of other operations allow | | | | access to images and corresponding | | | | trees. | ---------------------------------------------------------------- Figure 6.2. - Summary of Package Ada_Text 6.4. Package Allows_Deallocation This new package provides information for use with Unchecked_Deallocation. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Allows_Deallocati| New | Returns whether type is usable with| | on | | Unchecked_Deallocation. | ---------------------------------------------------------------- Figure 6.3. - Summary of Package Allows_Deallocation 49\f 6.5. Package Bit_Operations This new package provides bit manipulation operations. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Extract | New | Extracts a bit field. | ---------------------------------------------------------------- | Test_Bit | New | Tests a bit. | ---------------------------------------------------------------- | Insert | New | Inserts a field into a word. | ---------------------------------------------------------------- | Set_Bit_To_One | New | | ---------------------------------------------------------------- | Set_Bit_To_Zero | New | | ---------------------------------------------------------------- | Logical_And | New | Logical AND of two numbers. | ---------------------------------------------------------------- | Logical_Or | New | | ---------------------------------------------------------------- | Logical_Xor | New | | ---------------------------------------------------------------- | Logical_Not | New | | ---------------------------------------------------------------- | Logical_Shift | New | | ---------------------------------------------------------------- Figure 6.4. - Summary of Package Bit_Operations 6.6. Package Concurrent_Map_Generic ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Iterator | Profile| Now private, rather than limited | | | | private. | ---------------------------------------------------------------- Figure 6.5. - Changes to Package Concurrent_Map_Generic 50\f 6.7. Package Debug_Tools ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Debugging | New | True if calling job is being | | | | debugged. | ---------------------------------------------------------------- | Get_Raise_Locatio| New | Returns exception raise location. | | n | | | ---------------------------------------------------------------- | Special_Display | Renamed| The generic package Special_Display| | | | has been replaced by two generic | | | | procedures: Register and | | | | Un_Register. | ---------------------------------------------------------------- Figure 6.6. - Changes to package Debug_Tools 6.8. Package Diana_Object_Editor ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Current_Image | New | Returns tree of current image. | ---------------------------------------------------------------- | Current_Cursor | New | Returns tree pointer corresponding | | | | to cursor. | ---------------------------------------------------------------- | Current_Selection| New | Returns tree pointer corresponding | | | | to current selection. | ---------------------------------------------------------------- Figure 6.7. - Changes to Package Diana_Object_Editor 6.9. Package Directory_Tools This new package contains all packages once located in the !Directory_Tools subsystem from Gamma. 6.10. Package List_Generic 51\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Iterator | Profile| Changed from limited private to | | | | private. | ---------------------------------------------------------------- Figure 6.8. - Changes to Package List_Generic 52\f 6.11. Package Map_Generic ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Iterator | Profile| Changed from limited private to | | | | private. | ---------------------------------------------------------------- Figure 6.9. - Changes to package Map_Generic 6.12. Networking The networking specs are located in !Tools.Networking rather than in subsystems !Tools.Network, !Tools.FTP, !Tools.Telnet, and !Tools.Rpc. The operations are essentially the same. 6.13. Package Object_Editor This package has been changed substantially. Most of the operations present in Gamma are replaced via normal directory naming resolution using special names such as "<SELECTION>", "<IMAGE>", "<CURSOR>", and so on. 6.14. Package Parameter_Parser This new package provides a generic to parse general Ada form-parameter syntax. This syntax covers a series of named-parameter notations. 6.15. Package Profile Additional information is stored in profiles, including Remote_Passwords, Remote_Sessions, and Switch_File. 53\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Log_Output_File | New | Enumeration of possible log output | | | | files. | ---------------------------------------------------------------- | Set_Log_File | New | Sets log output to specified file. | ---------------------------------------------------------------- | Default_Log_File | New | Constant Log_Output_File := | | | | Use_Output. | ---------------------------------------------------------------- | Set_Default_Log_F| New | Sets default log output to | | ile | | specified file. | ---------------------------------------------------------------- | Log_File | New | Returns current log output file. | ---------------------------------------------------------------- | Response | Profile| Activity and Log_File parameter | | | | added; Switch_File removed. | ---------------------------------------------------------------- | Set_Response | Profile| Same as Response. | ---------------------------------------------------------------- | Set_Default_Respo| Profile| Same as Response. | | nse | | | ---------------------------------------------------------------- | Ignore | Profile| Same as Response. | ---------------------------------------------------------------- | Warn | Profile| Same as Response. | ---------------------------------------------------------------- | Verbose | Profile| Same as Response. | ---------------------------------------------------------------- | Raise_Exception | Profile| Same as Response. | ---------------------------------------------------------------- | Nil | New | Returns a null profile. | ---------------------------------------------------------------- | Get | New | Returns the string form of the | | | | current profile. | ---------------------------------------------------------------- | Get_Default | New | Returns the string form of the | | | | default profile. | ---------------------------------------------------------------- | Image | New | Return a string form of a profile. | ---------------------------------------------------------------- | Value | New | Converts string form to profile. | ---------------------------------------------------------------- | Convert | New | Converts string to profile and | | | | returns status of result. | ---------------------------------------------------------------- | Set | New | Sets the current job profile; | | | | returns an error status. | ---------------------------------------------------------------- | Set_Default | New | Sets the default session profile. | ---------------------------------------------------------------- 54\f ---------------------------------------------------------------- | Get_Cached_Resolu| New | Returns information about the | | tion | | meaning of <SELECTION>, <IMAGE>, | | | | etc. | ---------------------------------------------------------------- | Cached_Selected_T| New | Returns the value for <TEXT>. | | ext | | | ---------------------------------------------------------------- | Remote_Passwords | New | | ---------------------------------------------------------------- | Default_Remote_Pa| New | | | sswords | | | ---------------------------------------------------------------- | Set_Remote_Passwo| New | | | rds | | | ---------------------------------------------------------------- | Set_Default_Remot| New | | | e Passwords | | | ---------------------------------------------------------------- | Remote_Sessions | New | | ---------------------------------------------------------------- | Default_Remote_Se| New | | | ssions | | | ---------------------------------------------------------------- | Set_Remote_Sessio| New | | | ns | | | ---------------------------------------------------------------- | Set_Default_Remot| New | | | e_Sessions | | | ---------------------------------------------------------------- | Set_Switch_File | Deleted| Associated with libraries. | ---------------------------------------------------------------- | Set_Switches | Deleted| | ---------------------------------------------------------------- | Set_Default_Switc| Deleted| | | h_File | | | ---------------------------------------------------------------- | Set_Default_Switc| Deleted| | | hes | | | ---------------------------------------------------------------- | Switch_File | Deleted| | ---------------------------------------------------------------- | Switches | Deleted| | ---------------------------------------------------------------- Figure 6.10. - Changes to Package Profile 6.16. Package Queue_Generic 55\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Iterator | Profile| Changed from limited private to | | | | private. | ---------------------------------------------------------------- Figure 6.11. - Changes to Package Queue_Generic 6.17. Package Set_Generic ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Iterator | Profile| Changed from limited private to | | | | private. | ---------------------------------------------------------------- Figure 6.12. - Changes to Package Set_Generic 56\f 6.18. Package Simple_Status This new package provides an abstraction for reporting status and error information from procedure calls. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Condition_Name | New | String that represents the error. | ---------------------------------------------------------------- | Condition_Class | New | Indicates severity of an error. | ---------------------------------------------------------------- | Condition | New | Represents error information and | | | | comments. | ---------------------------------------------------------------- | Initialize | New | Sets Condition to "success". | ---------------------------------------------------------------- | Name | New | Returns the Condition_Name string. | ---------------------------------------------------------------- | Severity | New | Returns the severity | | | | (Condition_Class) of an error. | ---------------------------------------------------------------- | Error_Type | New | Returns the Condition_Name of a | | | | Condition. | ---------------------------------------------------------------- | Error | New | Returns whether a Condition | | | | indicates an error. | ---------------------------------------------------------------- | Display_Message | New | Returns a user-displayable message | | | | for the error. | ---------------------------------------------------------------- | Message | New | Returns the comments part of the | | | | condition. | ---------------------------------------------------------------- | Create_Condition | New | Creates an error descriptor. | ---------------------------------------------------------------- | Equal | New | Checks conditions for equality. | ---------------------------------------------------------------- Figure 6.13. - Summary of Package Simple_Status 6.19. Package String_Map_Generic 57\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Iterator | Profile| Changed from limited private to | | | | private. | ---------------------------------------------------------------- | Cardinality | New | | ---------------------------------------------------------------- Figure 6.14. - Changes to Package String_Map_Generic 58\f 6.20. Package String_Utilities ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Capitalize | New | Capitalizes an identifier. | ---------------------------------------------------------------- Figure 6.15. - Changes to Package String_Utilities 6.21. System_Availability.Revn.Units This new subsystem supplies a program interface for reading the system error log and for producing a number of reports based on information in the error log and accounting logs. System_Report and Accounting_Report are visible on the default searchlist. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Accounting_Inform| New | Program interface to reading | | ation | | accounting log information. | ---------------------------------------------------------------- | Accounting_Report| New | Command for generating a report of | | | | user's system usage from the | | | | accounting logs. | ---------------------------------------------------------------- | Log_Reader | New | Program interface for reading the | | | | system error log. | ---------------------------------------------------------------- | Show_Error_Log | New | Command for displaying the current | | | | system error log. | ---------------------------------------------------------------- | System_Informatio| New | Program interface for reading error| | n | | log information that has been | | | | processed. | ---------------------------------------------------------------- | System_Report | New | Command interface for generating | | | | system reports from the system log.| ---------------------------------------------------------------- Figure 6.16. - System_Availability Interfaces 59\f 6.22. Package System_Utilities ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Vpid | Deleted| All references to Vpid are changed | | | | to Job_Id. | ---------------------------------------------------------------- | Get_Job | New | Returns the job id of the calling | | | | job. | ---------------------------------------------------------------- | Job_Name | New | Returns the string name of the | | | | specified job. | ---------------------------------------------------------------- | Set_Home_Director| Deleted| Was never implemented. | | y | | | ---------------------------------------------------------------- | Input_Count | New | Returns number of characters input | | | | on specified port. | ---------------------------------------------------------------- | Output_Count | New | Returns number of characters output| | | | on specified port. | ---------------------------------------------------------------- | Set_Page_Limit | New | Sets the job page limit. | ---------------------------------------------------------------- | Get_Page_Counts | New | Returns a job's memory utilization.| ---------------------------------------------------------------- | Bad_Block_List | New | Returns a disk's bad block lists. | ---------------------------------------------------------------- | Get_Board_Info | New | Returns information on the circuit | | | | boards in the R1000. | ---------------------------------------------------------------- Figure 6.17. - Changes to Package System_Utilities 60\f 6.23. Package Table_Formatter ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Field_List | Profile| Allows for sorting in either | | | | ascending or descending order. | ---------------------------------------------------------------- | Sort | Profile| Allows for sorting in either | | | | ascending or descending order. | ---------------------------------------------------------------- Figure 6.18. - Changes to package Table_Formatter 6.24. Package Target_Builder The Target Builder utility has been moderately revised. Consult the new spec for details of the changes. 6.25. Package Time_Utilities ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Image | Func | Changed time and interval images to| | | | have fewer leading zeros in cases | | | | where they weren't needed. | ---------------------------------------------------------------- | Weekday | New | Type for day number. | ---------------------------------------------------------------- | Day_Of_Week | New | Returns day number from time. | ---------------------------------------------------------------- | Image | New | String image of day number. | ---------------------------------------------------------------- | "+" | New | Day arithmetic. | ---------------------------------------------------------------- | "-" | New | Day arithmetic. | ---------------------------------------------------------------- Figure 6.19. - Changes to Package Time_Utilities 6.26. Package Unchecked_Conversions This is a new package version of Unchecked_Conversion that performs better. It also defines conversions to and from byte strings. 61\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Unchecked_Convers| New | Package version of | | ion- _Package | | Unchecked_Conversion. Performs | | | | better, but many instantiations | | | | would increase number of pages used| | | | in a program. | ---------------------------------------------------------------- | Convert_To_Byte_S| New | Special conversion that returns | | tring | | byte string representation of an | | | | object. | ---------------------------------------------------------------- | Convert_From_Byte| New | Similar, but inverse conversion. | | _String | | | ---------------------------------------------------------------- Figure 6.20. - Summary of Package Unchecked_Conversions 62\f 7. Changes in !Implementation 63\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Cmvc_Implementati| New | Provides lower-level access to CMVC| | on | | functions for making database | | | | queries and generating reports. | ---------------------------------------------------------------- | Cmvc_Implementait| New | Associated with | | on_Errors | | Cmvc_Implementation. | ---------------------------------------------------------------- | Cmvc_Implementati| New | Associated with | | on Utilities | | CMVC_Implementation. Provides | | | | operations for analyzing space | | | | usage in CMVC databases. | ---------------------------------------------------------------- | Directory | Profile| Extensively revised in Delta. The | | | | same basic function is provided, | | | | but many small changes have been | | | | made and new operations added. | | | | This package was called | | | | Directory_Implementation in Gamma. | ---------------------------------------------------------------- | Directory_Impleme| Renamed| New name is Directory. | | ntation | | | ---------------------------------------------------------------- | Error_Reporting | New | Provides operations for making | | | | entries in the system error log. | ---------------------------------------------------------------- | Limit_Operations | New | Utilities for dealing with | | | | compilation/tool scope and limits. | ---------------------------------------------------------------- | Object_Class | New | Provides operations for getting | | | | Directory.Class information for all| | | | objects classes. | ---------------------------------------------------------------- | Object_Subclass | New | Provides function returning | | | | Directory.Subclass values for all | | | | subclasses defined by the system. | ---------------------------------------------------------------- | Product_Authoriza| New | Provides operations to enable | | tion | | products given codes provided by | | | | Rational, and to test which | | | | products are enabled. | ---------------------------------------------------------------- | Universal | Additio| New operations on universal | | | ns | operands added. | ---------------------------------------------------------------- | Work_Order_Errors| New | Associated with | | | | Work_Order_Implementation. | ---------------------------------------------------------------- | Work_Order_Implem| New | Provides low-level access to work | | entation | | orders for queries and constructing| | | | custom work orders. | ---------------------------------------------------------------- Figure 7.1. - Changes to World !Implementation 64\f 8. Changes in !Io 8.1. Package Device_Independent_Io ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Save | New | Saves current contents, but leave | | | | file open. | ---------------------------------------------------------------- | Get_Subclass | New | Returns the subclass of an open | | | | object. | ---------------------------------------------------------------- Figure 8.1. - Changes to Package Device_Independent_Io 8.2. Package Io Package Io replaces package Simple_Text_Io in Gamma. It is now a superset of Text_Io, including everything from Text_Io and a number of additional operations. 65\f ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Flush | New | | ---------------------------------------------------------------- | Save | New | Saves current contents but leave | | | | file open. | ---------------------------------------------------------------- | Set_Input | Profile| Added overload to set from string | | | | name. | ---------------------------------------------------------------- | Set_Output | Profile| Added overload to set from string | | | | name. | ---------------------------------------------------------------- | Set_Error | Profile| Added overload to set from string | | | | name. | ---------------------------------------------------------------- | Echo | New | Sends output to "Current Error" | | | | (usually the Message window). | ---------------------------------------------------------------- | Echo_Line | New | Similar to Echo. | ---------------------------------------------------------------- | Get | Profile| Additional overloaded versions have| | | | been added. | ---------------------------------------------------------------- | Wildcard_Iterator| New | Given wildcard string name, opens | | | | objects and invoked general formal | | | | for each. | ---------------------------------------------------------------- Figure 8.2. - Changes to Package Io 8.3. Package Simple_Text_Io Package Simple_Text_Io was renamed Io in Delta. 66\f 8.4. Package Terminal_Specific In addition to changes noted below, general documentation was added to the package. ---------------------------------------------------------------- | Subprogram | Change | Notes | ---------------------------------------------------------------- | Status | New | New subpackage for analyzing error | | | | information. | ---------------------------------------------------------------- | Output.Transmit_B| Profile| Additional overloaded operations | | reak | | added. | ---------------------------------------------------------------- | Output.Disconnect| Profile| Additional overloaded operations | | | | added. | ---------------------------------------------------------------- | Output.Wait_For | New | Waits for last written data to be | | Transmission | | transmitted. | ---------------------------------------------------------------- | Output.Set_Rts | New | | ---------------------------------------------------------------- | Output.Set_Dtr | New | | ---------------------------------------------------------------- | Input.Set_Echo | New | Enables/disables character echo. | ---------------------------------------------------------------- | Input.Get_Echo | New | Returns whether Echo is enabled. | ---------------------------------------------------------------- | Input.Set_Editing| New | Enables/disables character editing.| ---------------------------------------------------------------- | Input.Get_Edition| New | Returns whether Echo is enabled. | ---------------------------------------------------------------- | Read | Profile| Additional overloaded versions | | | | added. | ---------------------------------------------------------------- | Write | Profile| Additional overloaded versions | | | | added. | ---------------------------------------------------------------- Figure 8.3. - Changes to Package Terminal_Specific 67\f 9. Changes in !Lrm 9.1. Package Unchecked_Conversion Unchecked_Conversion has been changed so that there are almost no restrictions on the source and target types. See the Rational Environment Reference Manual, Programming Tools (PT) book, for more details. The semantics of Unchecked_Conversion have also changed. This means that different values may be returned for types with discriminants than was the case in Gamma. 9.2. Package Unchecked_Deallocation This generic did not recycle space in Gamma. It now maintains a free list and reallocates deallocated space. See the Rational Environment Reference Manual, Programming Tools (PT) book, for more details. 68\f 10. Known Problems This section lists currently known problems in the Delta 0 release. Workarounds are also listed. * Comp.Demote to Archived: Gets Nonexistent_Page_Error if demoting an <image> that is open but has no changes (banner flag " "). Workaround is to promote to Source ([SOURCE UNIT] key), then demote to archived. * Archive.Restore has a known bug that prevents compatibility information from being restored for a view when a single view has been saved and then renamed during the restore. Restoring the compatibility information after the fact explicitly is the workaround. * There is a bug in the implementation of package Transport_Name. If, at the time the system is booted, the file !Machine.Transport_Name_Map does not exist or cannot be read by the system, then a task in this package will terminate, and any subsequent attempts to resolve a machine name will fail with Tasking_Error. This means that FTP, Telnet, and Archive.Copy won't work, since they both resolve names. The workaround is to fix the Transport_Name_Map and reboot the system. * When editing CMVC controlled Ada units, subunits with parents not checked out might semanticize but not promote. * Errors due to use clause imported identifier conflicts are detected by promote, but not semanticize. Semanticize says no errors, but unit fails to promote. * In the Search_List object editor, the [DEFINITION] key does not work. To work around the problem, select the searchlist entry and execute the command Definition ("<text>"); * If you enter: type t is record v : integer; -- comment1 -- continuation of comment 1 -- comment2 end record; and press [FORMAT], the first two comment lines vanish. The same thing happens in generic formal parts, but nowhere else. * In Window_Io: If a program asks for the size of the I/O window before it has written anything to the window, the answer is somewhat random (though 1 by 1 is by far the most common result). The workaround is to not ask for the size until after the first output (which brings up the window and confers a size on it). 69\f * If you run Library.Compact_Library on a library that someone else has a window on, their context will become void and attempts to execute commands from that library may result in Nonexistent_Page_Error being raised. Workaround is to [OBJECT]-[G] the window and revisit the library. It is also recommended that Compact_Library only be run off-hours when it is unlikely to interfere with users. 70\f 11. Documentation The first section below contains a description of the differences between the Gamma and the Delta documentation for the Rational Environment. The remaining sections contain a description of the discrepancies between the Delta version of the documentation and the Delta release of the Rational Environment. The release information for each book is printed beginning on a new page, so that you can place a copy of the applicable release information in your copy of each book. 11.1. Differences between Gamma and Delta Documentation The Gamma version of the documentation was organized as a single documentation family. Thus, the Rational Environment Reference Manual, the Rational Networking # TCP/IP Reference Manual, and the Rational Target Build Utility Reference Manual were all part of the same family. In contrast, the Delta version of the documentation has been reorganized by product family. Thus, the Rational Environment Reference Manual, the Rational Networking # TCP/IP Reference Manual, and the Rational Target Build Utility Reference Manual are no longer part of the same family of documentation. Each manual belongs to the family of documentation for its corresponding product family. In the Gamma version of the documentation, each volume of a multivolume reference manual set was referred to as a manual; however, in the Delta version of the documentation, the naming conventions have changed. Each logically organized set of reference entries is referred to as a book. Two or more logically unrelated books may be located in the same volume. Finally, the entire set of books, including the Reference Summary and the Project Management Manual from the Gamma release, is called the Rational Environment Reference Manual. For the Delta version of the documentation, the manuals that are part of the Rational Environment product family include: * Rational Environment Reference Manual * Rational Environment User's Guide * Rational Environment Basic Operations * Reference Manual for the Ada Programming Language, Appendix F (one Appendix F per target) 71\f 11.1.1. The Rational Environment Reference Manual In Gamma, the Rational Environment Reference Manual consisted of the following six-manual set: * Reference Summary * Editing Images / Editing Specific Types / Debugging * Workspace Management * Input/Output * Programming Utilities * Environment Utilities / System Management Utilities / Predefined Library Packages In the Delta version of the documentation, the Rational Environment Reference Manual consists of eleven numbered volumes as shown below. Each book (except the Reference Summary) has a two- or three-letter abbreviated name, shown below in parentheses after the book name. For example, the abbreviation for Editing Specific Types is EST. 1. Reference Summary / Master Index 2. Editing Images (EI) / Editing Specific Types (EST) 3. Debugging (DEB) 4. Session and Job Management (SJM) 5. Library Management (LM) 6. Text I/O (TIO) 7. Data and Device I/O (DIO) 8. String Tools (ST) 9. Programming Tools (PT) 10. System Management Utilities (SMU) 11. Project Management (PM) The page numbers of each book of the Rational Environment Reference Manual are prefixed by the book abbreviation. Thus, page 10 in the EST book is numbered EST-10. In the Delta version of the Rational Environment Reference Manual, a section has been added to the beginning of each book, called How to Use This Book. This section describes the book organization and methods for locating information. 72\f In addition, the final tabbed section of each book is an index for that book. The Master Index, containing the index for all of the books in the Rational Environment Reference Manual, is located in the Reference Summary. For the Delta version of the documentation, a number of entries have been added to the indexes to make them more useful. 73\f All of the Rational Environment Reference Manual books except Project Management (PM) are currently available. The topics to be covered by this book are currently discussed in the following materials: * Rational Environment Training: Advanced Topics * Rational Environment Training: Large-Systems Development The following table illustrates the correlation between the contents of the Gamma version manuals and the Delta version books. In several instances, the name of a Gamma manual appears more than once. In those instances, the contents of the Gamma manual have been distributed among several books for the Delta version. --------------------------------------------------------------- | Delta Book Name | Gamma Manual Name | --------------------------------------------------------------- | Keymap/Reference | Rational Environment Reference| | Summary/Master Index | Summary | --------------------------------------------------------------- | Editing Images (EI) | Editing Images | --------------------------------------------------------------- | Editing Specific Types (EST) | Editing Specific Types | --------------------------------------------------------------- | Debugging (DEB) | Debugging | --------------------------------------------------------------- | Session and Job Management | Environment Utilities, System | | (SJM) | Management Utilities, and | | | Workspace Management | --------------------------------------------------------------- | Library Management (LM) | Workspace Management | --------------------------------------------------------------- | Text I/O (TIO) | Input/Output | --------------------------------------------------------------- | Data and Device I/O (DIO) | Input/Output | --------------------------------------------------------------- | String Tools (ST) | Programming Utilities | --------------------------------------------------------------- | Programming Tools (PT) | Programming Utilities, | | | Predefined Library Packages | --------------------------------------------------------------- | System Management Utilities | Environment Utilities, System | | (SMU) | Management Utilities, | | | Programming Tools | --------------------------------------------------------------- | Project Management (PM) | Rational Environment Project | | | Management | --------------------------------------------------------------- Figure 11.1. - Gamma to Delta Documentation Cross Reference 74\f 11.2. Reference Summary This section describes the discrepancies between the documentation contained in the Reference Summary book and the Delta release of the Rational Environment. On page C-7, the comments concerning the Nonrecursive and Overwrite options for the !Commands.Archive.Restore procedure are incorrect. See the specification on your machine for the correct comments. On page A-2, the comment for the Users procedure is incorrect. See the on-line specification. On page S-1, the following special name "<SWITCH>" should be added: "<SWITCH>" If a switch file is selected, it references the selected switch file. If no switch file is selected, it references the library switch file associated with the current image. Also on page S-1, the first line of the first paragraph under The Wildcard ?? should read: The double question mark (??) matches zero or more components in a ... On page S-4, Class Attributes, each of the class attributes is described as matching any objects of that class in the system. Actually, class attributes are filters that work with naming. They filter and thus match objects of that class. On page 26, the descriptions of the Editor.Search.Next, Editor.Search.Previous, Editor.Search.Replace_Next, and Editor.Search.Replace_Previous should be: Editor.Search.Next (Wildcard => False) C_S Editor.Search.Next (Wildcard => True) CS_S Editor.Search.Previous (Wildcard => False) C_R Editor.Search.Previous (Wildcard => True) CS_R Editor.Search.Replace_Next (Wildcard => False) M_S Editor.Search.Replace_Next (Wildcard => True) MS_S Editor.Search.Replace_Next (Wildcard => False, Repeat => -1) CM_S Editor.Search.Replace_Next (Wildcard => True, Repeat => -1) CMS_S Editor.Search.Replace_Previous (Wildcard => False) M_R 75\f Editor.Search.Replace_Previous (Wildcard => True) MS_R Editor.Search.Replace_Previous (Wildcard => False, Repeat => -1) CM_R Editor.Search.Replace_Previous (Wildcard => True, Repeat => -1) CMS_R 76\f 11.3. Editing Images (EI) This section describes the discrepancies between the documentation contained in the Editing Images book and the Delta release of the Rational Environment. On page EI-11, the following sentence should be added to the first paragraph: If the Repeat parameter is negative, the direction of an operation is reversed. On page EI-31, the following paragraph should be added to the end of the Description: If the Repeat parameter is negative, the direction of an operation is reversed. On page EI-33, the following sentence should be added to the end of the End_Of procedure: When repeated in succession, toggles the cursor between the last space character on the line and the last nonblank character on the line. On page EI-37, the sixth paragraph should read: A macro file can be edited if it has been saved in expanded format. On page EI-49, the description for the Off procedure should read: Unselects the current selection. The cursor and the selection may be in different windows. On page EI-51, the following paragraph should be added to the end of the Description: If the Repeat parameter is negative, the direction of an operation is reversed. On page EI-65, the description for the Delete procedure should read: Removes the window from the screen. In a minor window or a Command window, the space for the window is returned to the major window with which it is associated. In a major window, the procedure removes the major window and its contents from the screen. Windows removed from the screen are not destroyed. A major window and its contents can be retrieved from the Window Directory by retrieving its Definition. A Command window and its contents can be retrieved by creating the Command window again. A minor window and its contents can be retrieved by pressing 77\f [DEFINITION] from the enclosing Ada unit or library or by using the Window Directory. On page EI-66, the last sentence of the End_Of procedure description should read: If Offset is greater than the number of lines in the window, it scrolls the image to move the cursor to the top of the window. On page EI-69, the following paragraph should be added to the end of the Description: If the Repeat parameter is negative, the direction of an operation is reversed. 78\f 11.4. Editing Specific Types (EST) This section describes the discrepancies between the documentation contained in the Editing Specific Types book and the Delta release of the Rational Environment. 11.4.1. Ada Images On EST-8, in the Versions section, the word "not" should be removed from the last sentence. On EST-9, in the Locks section, the third paragraph should read: If the unit is source, the unit is locked when it is being edited. Otherwise, as in installed and coded units, the unit is not locked. On EST-9, in Locks, the fourth paragraph should be deleted. On EST-10, procedure Common.Commit, the last sentence of the first paragraph should read: Then the temporary areas are made a permanent part of the storage hierarchy when a commit occurs. The third paragraph should read: The commit operation is also implictly performed by jobs that refer to the image such as !Commands.Common.Promote, !Commands.Ada.Install_Unit, !Commands.Ada.Code_Unit, !Commands.Common.Release, and !Commands.Compilation.Make. On page EST-11, the bullets should all specify that the Visible parameter can be true or false. On page EST-12 and EST-13, the follow changes should be made to the tables: Table 2-1, row 1, column 3, should be "generic body" instead of "instantiation" . Table 2-2, row 1, column 2, should be "incomplete type declaration" instead of "full type declaration." Row 2, column 3, should be "full type declaration" instead of "incomplete type declaration". Table 2-3, row 2, column 3, should be "private part" instead of "private declaration." Table 2-4 row 1, column 2, should be "task incomplete type" rather than "task specification." Column 3 on the same row should be "task specification." Row 4, column 3, should be "task specification" rather than "task body." 79\f On page EST-14, the description of the Common.Enclosing procedure should read: Finds the parent or enclosing Ada unit of the current window and displays that parent unit in a window. The In_Place parameter specifies whether the current window should be used. The Library parameter specifies whether the resulting image should be a library. On page EST-15, the following sentence should be added to the end of the first paragraph of procedure Common.Format: It should also be noted that two or more spaces appearing at the end of a line will force a line break. On page EST-16, the description for Common.Object.Copy should read: Copies the selected element to the cursor position if the target is editable source. This procedure cannot be used on read-only source. This procedure copies and promotes the selection if the target is installed or coded. On page EST-17, the description for Common.Object.Move should read: Moves the selected element to the cursor position if the target is editable source. This procedure cannot be used on read-only source. This procedure moves and promotes the selection if the target is installed or coded. 11.4.2. Package Ada On page EST-42, the following sentence should be added at the end of the first paragraph of the Description: The unit will be read-only. Thus, it will not be editable unless the Edit procedure is executed on it. The description for the Source bullet on the same page should be: The unit is made read-only. 11.4.3. Package Common On page EST-63, the Window images bullet should have the following sentence added at the end: If there is a selection and the Window parameter refers to a selection, the window referred to by the line is abandoned. On pages EST-71 through EST-73, the same changes made to pages EST-12 and EST-13 should be made. 80\f On page EST-74, the Window images bullet should have the final sentence removed. On page EST-83, the first paragraph of the Text images bullet should read: Brings up a window that contains an image of the enclosing object or Library (depending on the value of the Library parameter) containing the file corresponding to the current text window. For I/O windows, this procedure finds and displays on the screen the context in which the last program to use the window ran. On page EST-104, the text for Ada images should read: Copies the selected element to the cursor position if the target is editable source. This procedure cannot be used on read-only source. This procedure copies and promotes the selection if the target is not source. On page EST-112, the text for Ada images should read: Moves the selected element to the cursor position if the target is editable source. This procedure cannot be used on read-only source. This procedure moves and promotes the selection if the target is not source. 11.4.4. Text Images On page EST-141, the first paragraph of the text for the Common.Enclosing procedure should read: Brings up a window that contains an image of the enclosing object or Library (depending on the value of the Library parameter) containing the file corresponding to the current text window. For I/O windows, finds the context in which the last program to use the window ran. 81\f 11.5. Debugging (DEB) This section describes the discrepancies between the documentation contained in the Debugging book and the Delta release of the Rational Environment. 11.5.1. Package Debug On page DEB-38, the following paragraph should be added to the end of the description of the Name parameter: The exception name can also be a hexadecimal number, for example, when an exception is raised in code-archived code. On page DEB-65, the following paragraph should be added to the end of the description of the Name parameter: The exception name can also be a hexadecimal number, for example, when an exception is raised in code-archived code. On page DEB-112, the following paragraph should be added to the end of the description of the Name parameter: The exception name can also be a hexadecimal number, for example, when an exception is raised in code-archived code. On page DEB-121, the specification for procedure Source should be: procedure Source (Location : Path_Name :=""; Stack_Frame : Integer := 0); On page DEB-121, the fourth paragraph should read: If the null string (the default) is specified and a selection exists in the Debugger window, that selection will be used. If a special name (such as "<SELECTION>") is used, but the item is not designated, then the procedure finds the location in which the current task stopped. Otherwise, the procedure attempts to find the most reasonable definition of the given pathname and the current debugging context. 82\f 11.6. Session and Job Management (SJM) This section describes the discrepancies between the documentation contained in the Session and Job Management book and the Delta release of the Rational Environment. 11.6.1. Key Concepts On page SJM-4, under Searchlists, the default searchlist should be: $` !COMMANDS !LOCAL !COMMANDS.ABBREVIATIONS` !MACHINE.RELEASE.CURRENT.COMMANDS` !IO !TOOLS !TOOLS.NETWORKING On page SJM-5, under Naming Objects, a section should be added as follows: Naming and Access Control To successfully resolve the name of an object, read access from ! through all of the worlds enclosing the object is required. If the executing job does not have read access to all of the necessary worlds, the name will not be resolved. On page SJM-5, under Special Names, an entry for the following special name should be added: "<SWITCH>" If a switch file is selected, it references the selected switch file. If no switch file is selected, it references the library switch file associated with the current image. On page SJM-7, under The Substitution Character #, the last sentence should read: For example, if there are Ada units in the world !Users.Stooges called Larry, Curly, and Moe, and the user wants to copy them into a world called !Users.Stooges.New_World, the user can build the target name parameter (from the source name parameter !Users.Stooges.@) using substitution characters as follows: !#.#.New_World.#. On page SJM-8, under The Substitution Character ?, the last sentence should read: For example, to copy everything in the world up through the 83\f next-level world !Users.Mary to !Users.John, the source string would be !Users.Mary? and the target string would be !Users.John?. On page SJM-13, under Link Attributes, the second sentence should read: For example, My_World'L.My_Link matches the link named My_Link in the set of links associated with My_World. 11.6.2. Package Job On page SJM-20, the Description for procedure Connect should read: Connects the terminal to the specified job. Connected jobs can bring up windows. Terminal input is queued until a job completes or reads the keys. After this procedure is executed, the job can read keyboard input with facilities in package Window_Io (DIO). A job can be disconnected by using the Interrupt procedure (the [CONTROL][G] combination). 11.6.3. Package Log On page SJM-34, a description of the special name "<SWITCH>", described earlier in Key Concepts, should be added to the description of special names. On page SJM-57, the specification for procedure Set_Error should read: procedure Set_Error (To_Be : Name := ">>FILE NAME<<"); The following paragraph should be added to the end of the Description: This procedure also sets the file type in the job profile to Use_Error so that log messages will go to this newly established file. On page SJM-59, the description of the To_Be parameter should read: Specifies the filename to be set to Current_Output. The default parameter placeholder ">>FILE NAME<<" must be replaced or an error will result. On page SJM-60, the specification for procedure Set_Output should read: procedure Set_Output (To_Be : Name := ">>FILE NAME<<"); 84\f The following paragraph should be added to the end of the Description: This procedure also sets the file type in the job profile to Use_Output so that log messages will go to this newly established file. The following procedures should be added to the documentation for the Log package: _________________________________________________________________ _________________ function Image (Kind : Profile.Msg_Kind) return String; Description Returns the three-letter prefix used for the indicated Msg_Kind. Parameters Kind : Profile.Msg_Kind; Specifies the kind of message. _________________________________________________________________ _________________ procedure Put_Errors (Errors : Error_Messages.Errors; Response : Profile.Response_Profile := Profile.Get); Description Enters the specified error messages into the log. Parameters Errors : Error_Messages.Errors; Specifies the error messages to be entered into the log. Response : Profile.Response_Profile := Profile.Get; Specifies how to respond to errors, how to generate logs, and what activities to use during execution of this command. The default is the job response profile. _________________________________________________________________ _________________ procedure Put_Line (Object1 : Directory.Object; Message : String := ""; Object2 : Directory.Object := Directory.Nil; Kind : Profile.Msg_Kind := Profile.Note_Msg; Response : Profile.Response_Profile := 85\f Profile.Get); procedure Put_Line (Object1 : Directory.Version; Message : String := ""; Object2 : Directory.Version := Directory.Nil; Kind : Profile.Msg_Kind := Profile.Note_Msg; Response : Profile.Response_Profile := Profile.Get); procedure Put_Line (Object1 : Diana.Tree; Message : String := ""; Object2 : Diana.Tree := Diana.Empty; Kind : Profile.Msg_Kind := Profile.Note_Msg; Response : Profile.Response_Profile := Profile.Get); Description Enters a message into the log, if messages of the Kind specified are to be included. If the message does go into the log, the name of the specified object(s) is computed and inserted into the text of the message. The location for the name of the first object is indicated by the symbol "<1>". If this string is not found in the message, the name of the object is placed at the beginning of the message. The location for the name of the second object is indicated by the symbol "<2>". If this string is not found in the message, the name of the object is placed at the end of the message. The Directory.Naming.Unique_Full_Name procedure is used to generate the name of the object when the symbols given above are used or if no symbols are found. The symbols "<<1>>" and "<<2>>" cause the value of Directory.Naming.Get_Simple_Name to be used instead. If either object is nil, then its corresponding symbol is replaced by the null string. Parameters Object1 : Directory.Object; Object1 : Directory.Version: Object1 : Diana.Tree; Specifies the first object. Message : String := ""; Specifies the message. It may contain the special symbols <1>, <2>, <<1>>, or <<2>> to position the names of the first and second objects within the message. Object2 : Directory.Object := Directory.Nil; Object2 : Directory.Version := Directory.Nil; 86\f Object2 : Diana.Tree := Diana.Empty; Specifies the second object. Kind : Profile.Msg_Kind := Profile.Note_Msg; Specifies the type of note. The default is Profile.Note_Msg. Response : Profile.Response_Profile := Profile.Get; Specifies how to respond to errors, how to generate logs, and what activities to use during execution of this command. The default is the job response profile. _________________________________________________________________ _________________ The Put_Line_Generic generic procedure enters messages into the log. Its specification is: generic type Object_Type is private; with function Full (Object : Object_Type) return String; with function Simple (Object : Object_Type) return String; with function Is_Nil (Object : Object_Type) return Boolean; with function Nil return Object_Type; procedure Put_Line_Generic (Object1 : Object_Type; Message : String := ""; Object2 : Object_Type := Nil; Kind : Profile.Msg_Kind := Profile.Note_Msg; Response : Profile.Response_Profile := Profile.Get); The Object_Type type is the type of the object to be displayed. The Full function returns the full name of the object. The Simple function returns the simple name of the object. The Is_Nil function returns a Boolean specifying whether the name is nil. The Nil function returns a nil value. The Put_Line procedures in this package provides the same functionality for objects of type Directory.Object, Directory.Version, and Diana.Tree. Description Enters a message into the log, if messages of the Kind specified are to be included. If the message does go into the log, the name of the specified object(s) is computed and inserted into the text of the message. The location for the name of the first object is indicated by the symbol "<1>". If this string is not found in the message, the name of the object is placed at the beginning of the message. The location for the name of the second object is indicated by 87\f the symbol "<2>". If this string is not found in the message, the name of the object is placed at the end of the message. The Full procedure is used to generate the name of the object when the symbols given above are used or if no symbols are found. The symbols "<<1>>" and "<<2>>" cause the value of Simple_Name to be used instead. If either object Is_Nil, then its corresponding symbol is replaced by the null string. Parameters Object1 : Object_Type; Specifies the first object. Message : String :=""; Specifies the message. It may contain the special symbols <1>, <2>, <<1>>, or <<2>> to position the names of the first and second objects within the message. Object2 : Object_Type := Nil; Specifies the second object. The default specifies the Nil object. Kind : Profile.Msg_Kind := Profile.Note_Msg; Specifies the type of note. The default is Profile.Note_Msg. Response : Profile.Response_Profile := Profile.Get; Specifies how to respond to errors, how to generate logs, and what activities to use during execution of this command. The default is the job response profile. _________________________________________________________________ _________________ 11.6.4. Package Profile On page SJM-121, the specification for function Nil should read: function Nil (Reaction : Error_Reaction := Profile.Quit; Filter : Log_Filter := Profile.Quiet; Prefixes : Log_Prefixes := Profile.No_Prefixes; Width : Natural := Profile.Default_Width; Activity : Activity_Type := Profile.Default_Activity; Log_File : Log_Output_File := Profile.Default_Log_File) return Response_Profile renames Response; The descriptions for the Activity and Log_File parameters should read as shown below: 88\f Activity : Activity_Type := Profile.Default_Activity; Specifies the activity for the profile. The default is the activity of the session response profile. Log_File : Log_Output_File := Profile.Default_Log_File Specifies the log file for the profile. The default is Current_Output. 11.6.5. Package Program On SJM-178, the last sentence of the second paragraph of the Description should read: Note that, if the identity and success status of the job is not needed, the Run_Job procedure is more convenient to use. 11.6.6. Package Search_List On page SJM-209, the default searchlist should be: $` !COMMANDS !LOCAL !COMMANDS.ABBREVIATIONS` !MACHINE.RELEASE.CURRENT.COMMANDS` !IO !TOOLS !TOOLS.NETWORKING On page SJM-209, the last sentence of paragraph five should read: To resolve a name using the searchlist, the user must have read access to each library in the list (otherwise, the names in the library will appear to be undefined). 11.6.7. Session Switches On page SJM-228, the Default_Job_Page_Limit switch should be removed from the category Switches for Ada Units. On page SJM-234, the description for Debug_Put_Locals should read: Specifies whether the !Commands.Debug.Put procedure on a subprogram results in a display of local variables as well as parameters. The default is false. On page SJM-243, the description for Prompt_For_Password should 89\f read: Causes FTP to prompt the user to supply a password for the connected remote computer when FTP operations are executed. The user is prompted only if the Password switch is null. The default is false. The full switch name is Session_Ftp.Prompt_For_Password. On page SJM-244, the description for the Remote_Machine switches should read: Specifies the name of the remote computer to which FTP is to connect. The default is null. The full switch name is Session_Ftp.Remote_Machine. Specifies the name of the remote computer to which Telnet is to connect. The default is null. The full switch name is Telnet.Remote_Machine. On page SJM-245, the entry for Search_Regular_Expr should be removed. On page SJM-247, the description for Window_Frames and Window_Frames_Startup should specify that the default is 3 for the Rational terminal; however, other terminals may have other defaults. The following switches and their descriptions should be added to this section: Cmvc_Break_Long_Lines Controls whether lines in Work_Orders, Work_Lists, and Ventures that exceed the value of the Cmvc_Line_Length switch are broken. User-entered strings are never broken. The default value is true. The full switch name is Session.Cmvc_Break_Long_Lines. Cmvc_Capitalize Determines whether words, other than those in user-entered strings, in Work_Orders, Work_Lists, and Ventures are capitalized. The default value is true. The full switch name is Session.Cmvc_Capitalize. Cmvc_Comment_Extent Specifies, as an integer value, the number of comments displayed in a Work_Order. The default value is 4. The full switch name is Session.Cmvc_Comment_Extent. Cmvc_Configuration_Extent Specifies, as an integer value, the number of configurations displayed in a Work_Order. The default value is 0. The full switch name is Session.Cmvc_Configuration_Extent. 90\f Cmvc_Enable_Relocation This switch is currently not implemented. The full switch name is Session.Cmvc_Enable_Relocation. Cmvc_Field_Extent Specifies, as an integer value, the number of elements of vector fields that are displayed in a Work_Order. The default value is 4. The full switch name is Session.Cmvc_Field_Extent. Cmvc_Indentation Specifies, as an integer value, the number of spaces used for indentation in Work_Orders, Work_Lists, and Ventures. The default is 2. The full switch name is Session.Cmvc_Indentation. Cmvc_Line_Length Specifies, as an integer value, how long a line in a Work_Order, Work_List or Venture can be before it is eligible to be broken. The default is 80. The full switch name is Session.Cmvc_Line_Length. Cmvc_Shorten_Name Shows object names in Work_Orders, Work_Lists, and Ventures in a shortened form. The default is true. The full switch name is Session.Cmvc_Shorten_Name. Cmvc_Shorten_Unit_State Shows the state of Work_Orders in a shortened form. The default is false. The full switch name is Session.Cmvc_Shorten_Unit_State. Cmvc_Show_Add_Date Displays the date an entry is added to a Work_Order. The default is true. The full switch name is Session.Cmvc_Show_Add_Date. Cmvc_Show_Add_Time Displays the time an entry is added to a Work_Order. The default is true. The full switch name is Session.Cmvc_Show_Add_Time. Cmvc_Show_All_Default_Lists Displays only the user's default Work_List in a Venture. The default is false. The full switch name is Session.Cmvc_Show_All_Default_Lists. Cmvc_Show_All_Default_Orders Displays only the user's default Work_Order in a Venture. The 91\f default is false. The full switch name is Session.Cmvc_Show_All_Default_Orders. Cmvc_Show_Deleted_Objects Shows deleted Work_Orders or Work_Lists in a Work_List. Display of deleted objects is controlled by elision. The default is false. The full switch name is Session.Cmvc_Show_Deleted_Objects. Cmvc_Show_Deleted_Versions Shows version numbers and information for all versions of a Work_Order or Work_List. Display of deleted version is controlled by elision. The default is false. The full switch name is Session.Cmvc_Show_Deleted_Versions. Cmvc_Show_Display_Position Shows display position of user-defined Work_Order fields. The default is false. The full switch name is Session.Cmvc_Show_Display_Position. Cmvc_Show_Edit_Info Shows edit information for objects displayed in Work_Orders, Work_Lists, or Ventures. The default is false. The full switch name is Session.Cmvc_Show_Edit_Info. Cmvc_Show_Field_Default Shows the default value for vector fields. If this switch is true, then vector fields will show the default value of all elements that have not been assigned. The default is true. The full switch name is Session.Cmvc_Show_Field_Default. Cmvc_Show_Field_Max_Index Shows the number of entries in a vector field that have been written. The default is false. The full switch name is Session.Cmvc_Show_Field_Max_Index. Cmvc_Show_Field_Type Shows the type of field (i.e., Boolean, integer, or string) for all scalar and vector fields. The default is false. The full switch name is Session.Cmvc_Show_Field_Type. Cmvc_Show_Frozen Shows "Frz" for frozen objects displayed in Work_Orders, Work_Lists, or Ventures. The default is false. The full switch name is Session.Cmvc_Show_Frozen. Cmvc_Show_Hidden_Fields 92\f Displays hidden fields in a Venture. The default is false. The full switch name is Session.Cmvc_Show_Hidden_Fields. Cmvc_Show_Retention Shows the retention count when displaying objects in Work_Orders, Work_Lists, or Ventures. The default is false. The full switch name is Session.Cmvc_Show_Retention. Cmvc_Show_Size Shows the size of the version, in bytes, when displaying objects in a Work_Order, Work_List, or Venture. The default is false. The full switch name is Session.Cmvc_Show_Size. Cmvc_Show_Unit_State Shows the state of Work_Orders listed in Ventures and Work_Lists (i.e., pending, in progress, closed). The default is true. The full switch name is Session.Cmvc_Show_Unit_State. Cmvc_Show_Users Shows the list of users in the users field of Work_Orders. The display of users is controlled by elision. The default is false. The full switch name is Session.Cmvc_Show_Users. Cmvc_Show_Version_Number Shows the version number of objects displayed in Work_Orders, Work_Lists, or Ventures. The default is false. The full switch name is Session.Cmvc_Show_Version_Number. Cmvc_Uppercase Determines whether words, other than those in user-entered strings, in Work_Orders, Work_Lists, and Ventures are displayed in uppercase. The default value is false. The full switch name is Session.Cmvc_Uppercase. Cmvc_Version_Extent Specifies, as an integer value, the number of versions displayed in a Work_Order. The default value is 0. The full switch name is Session.Cmvc_Version_Extent. Default_Venture Specifies a filename for the default Venture for the session. The full switch name is Cmvc.Default_Venture. Terminal_Line_Speed Specifies an integer value for the baud rate of the terminal. It is used only for the purpose of system throttling of data output 93\f to the terminal. This will be used when the system cannot determine the baud rate of the terminal it is communicating with because of intermediate terminal servers or data switches. Contact your Rational technical representative for help in changing this switch, if you suspect you are having problems with flow control that cannot be resolved by modifying the terminal setup and port settings on the R1000. The full switch name is Session.Terminal_Line_Speed. Terminal_Padding Specifies an integer value of padding characters to be sent to terminals that may not be able to handle incoming characters fast enough during scrolling operations. Contact your Rational technical representative for help in changing this switch, if you suspect you are having problems with flow control that cannot be resolved by modifying the terminal setup and port settings on the R1000. The full switch name is Session.Terminal_Padding. 11.6.8. Package What On pages SJM-256 and SJM-257, the specifications for procedures Command and Does should read as follows: procedure Command (Clue : String := ""); procedure Does (Name : String := ""); 94\f 11.7. Library Management (LM) This section describes the discrepancies between the documentation contained in the Library Management book and the Delta release of the Rational Environment. 11.7.1. Key Concepts On page LM-7, under Naming Objects, a section should be added as follows: Naming and Access Control To successfully resolve the name of an object, read access from ! through all of the worlds enclosing the object is required. If the executing job does not have read access to all of the necessary worlds, the name will not be resolved. On page LM-8, under Special Names, an entry for the following special name should be added: "<SWITCH>" If a switch file is selected, it references the selected switch file. If no switch file is selected, it references the library switch file associated with the current image. On page LM-10, under The Substitution Character #, the last sentence should read: For example, if there are Ada units in the world !Users.Stooges called Larry, Curly, and Moe, and the user wants to copy them into a world called !Users.Stooges.New_World, the user can build the target name parameter (from the source name parameter !Users.Stooges.@) using substitution characters as follows: !#.#.New_World.#. On page LM-10, under The Substitution Character ?, the last sentence should read: For example, to copy everything in the world up through the next-level world !Users.Mary to !Users.John, the source string would be !Users.Mary? and the target string would be !Users.John?. On page LM-15, under Link Attributes, the second sentence should read: For example, My_World'L.My_Link matches the link named My_Link in the set of links associated with My_World. 95\f 11.7.2. Package Archive In the introduction to package Archive, references to the Overwrite option should be deleted. The literals associated with the Overwrite option are separate options, and thus are expressed as "Updated" rather than "Overwrite=Updated". The references to the Overwrite option occur on pages LM-92 through LM-97 in the examples. The table on page LM-91 should read: 96\f ----------------------------------------------------------- | Option | Copy | List | Restore | Save | ----------------------------------------------------------- | After | X | | | X | ----------------------------------------------------------- | All_Object| X | | X | | | s | | | | | ----------------------------------------------------------- | Become_Own| X | | X | | | er | | | | | ----------------------------------------------------------- | Cdb | X | | X | X | ----------------------------------------------------------- | Changed_Ob| X | | X | | | jects | | | | | ----------------------------------------------------------- | Code | X | | X | X | ----------------------------------------------------------- | Default_Ac| X | | X | | | l | | | | | ----------------------------------------------------------- | Effort_Onl| X | | X | X | | y | | | | | ----------------------------------------------------------- | Existing_O| X | | X | | | bjects | | | | | ----------------------------------------------------------- | Format | | X | X | X | ----------------------------------------------------------- | Gamma0 | | | | X | ----------------------------------------------------------- | Gamma1 | | | | X | ----------------------------------------------------------- | Ignore_Cdb| X | | X | X | ----------------------------------------------------------- | Label | | X | X | X | ----------------------------------------------------------- | New_Object| X | | X | | | s | | | | | ----------------------------------------------------------- | Nonrecursi| X | X | X | X | | ve | | | | | ----------------------------------------------------------- | Object_Acl| X | | X | | ----------------------------------------------------------- | Prefix | | | | X | ----------------------------------------------------------- | Primary | X | | X | | ----------------------------------------------------------- | Promote | X | | X | | ----------------------------------------------------------- | Remake | X | | X | | ----------------------------------------------------------- | Replace | X | | X | | ----------------------------------------------------------- 97\f ----------------------------------------------------------- | Revert_Cdb| X | | X | | ----------------------------------------------------------- | Trailing_B| | | X | | | lanks | | | | | ----------------------------------------------------------- | Updated_Ob| X | | X | | | jects | | | | | ----------------------------------------------------------- | Verbose | X | | X | | ----------------------------------------------------------- | Version | | | | X | ----------------------------------------------------------- | World_Acl | X | | X | | ----------------------------------------------------------- Figure 11.2. - Package Archive Table On pages LM-105 and LM-106, for the Copy command, the literals specified under the Overwrite option are each individual options. Thus, there is no longer an Overwrite option. The following options should be added to the description of the Options parameter for the Copy command: 98\f Code=load_proc list Specifies that the code-only units for the named Load_Procs are to be copied. This option is needed only when it is desired to copy code-only units from an archive that also contains the spec for the Load_Proc, which is not to be copied. Effort_Only Shows what would be copied if the Copy command is run with this set of parameters. Existing_Objects Use the Existing_Objects option to cause only the existing objects to be copied and overwritten. Ignore_Cdb Specifies that no compatibility database information is to be copied. Remake Like the Promote option, except that any objects outside of the copied set that were demoted by the Replace option will be repromoted. If the No_Mains option is specified, dependent main programs will not be recoded. Verbose Specifies that extra log messages are to be generated, describing more fully the steps of the Copy process. On pages LM-118 and LM-119, for the Restore command, the literals specified under the Overwrite option are each individual options. Thus, there is no Overwrite option. The following options should be added to the description of the Options parameter for the Restore command: 99\f Code=load_procs Specifies that the code-only units for the named Load_Procs are to be restored. This option is needed only when it is desired to copy code-only units from an archive that also contains the spec for the Load_Proc, which is not to be restored. Effort_Only Shows what would be restored if the Restore command is run with this set of parameters. Existing_Objects Use the Existing_Objects option to cause only the existing objects to be restored and overwritten. Ignore_Cdb Specifies that no compatibility database information is to be restored. Remake Like the Promote option, except that any objects outside of the restore set that were demoted by the Replace option will be repromoted. If the No_Mains option is specified, dependent main programs will not be recoded. Trailing_Blanks=inte Specifies the number of ger trailing blanks that are to be considered significant when parsing Ada units during the Restore. If a line ends in more than this number of blanks, the line break will be preserved in the image of the restored Ada unit. The default is 2. 100\f Verbose Specifies that extra log messages are to be generated, describing more fully the steps of the Restore process. On page LM-125, the Gamma0 and Gamma1 options are not part of the Version option. Both are separate options, and the Version option can specify a three digit version number only. The following options should be added to the description of the Options parameter for the Save command: Code=load_procs Specifies that code is to be saved for the named load_procs. If no specification follows the Code option, the Objects parameter specification is used instead. Effort_Only Shows what would be saved if the Save command is run with this set of parameters. Ignore_Cdb Specifies that no compatibility database information is to be saved. The following procedures should be added to the documentation for package Archive: _________________________________________________________________ _________________ procedure Server; Description Starts the archive server. _________________________________________________________________ _________________ procedure Status (For_Job : Machine.Job); 101\f Description Prints information about the status of the archive job specified. Parameters For_Job : Machine.Job; Specifies the number of an archive server job or the number of a user-initiated Archive.Copy, Archive.Save, or Archive.Restore job. To determine the number for a job, use the What.Users command. _________________________________________________________________ _________________ 11.7.3. Package Compilation A description of the special name "<SWITCH>", described in Key Concepts, should be added to the description of special names. The following procedures should be added to the documentation for the Compilation package: _________________________________________________________________ _________________ procedure Load (From : String; To : String; Response : String := "<PROFILE>"); Description Produces a code-only (Loaded_Main) main program from the specified main program. Parameters From : String; Specifies the name of the main program for which a code-only unit should be produced. To: String; Specifies the name of the code-only unit. Response : String := "<PROFILE>"; Specifies how to respond to errors, how to generate logs, and what activities to use during execution of this command. The default is the job response profile. _________________________________________________________________ _________________ 102\f Set_Target_Key (The_Key : String := "?"; To_World : String := "<IMAGE>"; Response : String := "<PROFILE>"); Description Assigns the specified target key to the specified world. Once a key has been assigned to a world, the assignment can be changed only if the new key and the old key differ only in the front end/back end policy subcomponents. Parameters The_Key : String := "?"; Specifies the name of the target key to which the world should be set. The default, "?", specifies that the command should list the target keys available, rather than setting the target key. To_World : String := "<IMAGE>"; Specifies the name of the world for which the target key should be set. Response : String := "<PROFILE>" Specifies how to respond to errors, how to generate logs, and what activities to use during execution of this command. The default is the job response profile. _________________________________________________________________ _________________ Show_Target_Key (For_World : String := "<IMAGE>"; Response : String := "<PROFILE>"); Description Displays the target key for the specified world. Parameters For_World : String := "<IMAGE>"; Specifies the name of the world for which the target key should be displayed. Response : String := "<PROFILE>" Specifies how to respond to errors, how to generate logs, and what activities to use during execution of this command. The default is the job response profile. 103\f _________________________________________________________________ _________________ Get_Target_Key (For_World : String := "<IMAGE>") return String; Description Returns the image of the target key for the specified world. Parameters For_World : String := "<IMAGE>"; Specifies the name of the world for which the target key should be returned. return String Returns the image of the target key for the specified world. 11.7.4. Package File_Utilities On page LM-185, Example 1 should read: The command: find ("section 3","test"); finds the string "section 3" in the specified file, Test. On page LM-186, Example 2 should read: The command: find ("[^abc]","test",true); matches anything except the characters a,b, and c in the specified file, Test. On page LM-188, Example 1 should read: The function: found ("section 3","test"); returns the number of lines that contain the string "section 3" in the specified file. On page LM-188, Example 2 should read: The function: found ("[^abc]","test",true); 104\f returns the number of lines that contain anything except the characters a, b, and c in the specified file. The following procedure should be added to package File_Utilities: _________________________________________________________________ _________________ procedure Sort (File : Name := "<IMAGE>"; Result : Name := ""; Key_1 : String := ""; Key_2 : String := ""; Key_3 : String := ""); Description Sorts a file using the specified keys. In the file, a field is defined as a series of nonblank characters separated by one or more blanks. Field 1 is the first field. Field 1 always includes column 1, even if blank. If no field is given, the entire line, blanks included, is the field. Parameters Result : Name := ""; Specifies the name of the file that will contain the results of the sort. Key_1 : String := "" Specifies a key on which to sort the file. Keys use the same syntax as the Options parameter. For further information on specifying the Options parameter, see the Key Concepts. Note that these parameters have unique first characters. Thus, the initial character or any number of additional characters is sufficient to specify the option. If no key is specified, an ascending ASCII sort on full lines is performed. Field=>number Field specifies that the sort should be performed on the field number specified. Field 1 is the first field on the line. It always includes column 1, even if column 1 is blank. If no field is given, the entire line, including blanks, is considered part of the field. Start_Column=>number Specifies the starting column number relative to the start of the field. 105\f End_Column=>number Specifies the ending column number relative to the start of the field. The default value is Integer'Last. Reverse Boolean When true, specifies a descending sort for the key. Numeric Boolean When true, performs a sort on the numeric value of the field represented as a Long_Integer. Key_2 : String := "" See the description for the Key_1 parameter above. Note that Key_2 is ignored if Key_1 is not specified. Key_3 : String := "" See the description for the Key_1 parameter above. Note that Key_3 is ignored if Key_2 is not specified. Example: "Field => 2, Start_Column => 5, End_Column => 7, Reverse, Numeric" or "F=2, S=5, E=7, R, N" will sort field 2, columns 5 through 7, descending (reversed) using a numeric comparison. "S=10, E=15" will sort using ASCII ordering, columns 10 through 15 of the entire line. _________________________________________________________________ _________________ 11.7.5. Package Library A description of the special name "<SWITCH>", described in Key Concepts, should be added to the description of special names on page LM-199. On page LM-200, in the table, the first item, (table) should be {table}. On page LM-257, the last paragraph under the Restrictions header 106\f should read: Rename forms an object whose name is obtained by replacing the simple name of the object specified in the From parameter with the entire string specified by the To parameter (after using substitution). On page LM-258, the specification for the Resolve procedure should read: procedure Resolve (Name_Of : Name := "<TEXT>"; Target_Name : Name := ""; Objects_Only : Boolean := False; Response : String := "<PROFILE>"); The description of the Objects_Only parameter should read: Specifies whether to restrict the resolution of names to objects or to include Ada declarations, too. Note that even when Objects is false and the wildcards ? and ?? are used, the name resolution will descend into Ada objects only if immediately preceded by the grave (`). Thus, the name Foo resolves to Foo, Foo'body, and its separate subunits. Foo`? resolves to all declarations within Foo and its secondary units. The documentation for the Space procedure should be modified as follows: _________________________________________________________________ _________________ The specification should read: procedure Space (For_Object : Name := "<IMAGE>"; Levels : Positive := 2; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := False; Response : String := "<PROFILE>"; Options : String := ""); The following description for the Levels parameter should be added: Levels : Positive := 2; Specifies the number of library levels. This parameter is used only if the Space_Types parameter is false. The following sentence should be added to the description of the Each_Version parameter: This parameter is used only if the Space_Types parameter is true. 107\f The description for the Space_Types parameter should read: Space_Types : Boolean := False; Specifies whether to break down the information into the different types of space used. The default is not to break down the information. When Space_Types is false, it shows the space utilization in pages for For_Object. It also displays space usage for contained libraries, unless Recursive is false. If Recursive is false, only the space for the specified object is displayed. Thus, if Recursive is true, the space is cumulatively totaled. 11.7.6. Package Links On page LM-275, in the introduction, in the fifth paragraph, the fourth sentence should read: When an Ada unit withs a unit using a link name, the unit actually referenced is the one designated by the source name associated with the link name. 11.7.7. Package Switches On page LM-308, a description of the special name "<SWITCH>" should be added to the description of special names, as described in Key Concepts. The descriptions for the following switch should be added to the Library Switch Descriptions found on pages LM-309 through LM-314. Elab_Order_Listing Creates a file containing a listing of the elaboration order of the compilation units when a main program is executed. This file can be created only for main programs. The default is false. On page LM-318, the specification for the Associate procedure should read: procedure Associate (File : File_Name := "<SELECTION>"; Library : String := "<IMAGE>"; Response : String := "<PROFILE>"); The description of the Library parameter should read: Specifies the directory or world for which the associated library switch file is desired. The default is the directory or world enclosing the image. On page LM-320, the specification for the Associated procedure should read: function Associated (Library : String := "<IMAGE>") return 108\f File_Name; The description of the Library parameter should read: Specifies the directory or world for which the associated library switch file is desired. The default is the directory or world enclosing the image. On page LM-321, the specification for the Change procedure should read: procedure Change (Image : Value_Image := ">>SWITCH VALUE<<"); On page LM-326, the specification for the Display procedure should read: procedure Display (Names : Composite_Name := "@.@"; File : File_Name := "<SWITCH>"; Response : String := "<PROFILE>"); The description of the File parameter should read: Specifies the switch file in which switches are to be edited. The default is the currently selected switch file or the switch file associated with the directory or world enclosing the current image. On page LM-328, the specification for the Dissociate procedure should read: procedure Dissociate (Library : String := "<IMAGE>"; Response : String := "<PROFILE>"); The description of the Library parameter should read: Specifies the directory or world for which the associated library switch file is desired. The default is the directory or world enclosing the image. On page LM-329, the specification for the Edit procedure should read: procedure Edit (File : File_Name := "<SWITCH>"); On page, LM-333, the specification for the Of_Library constant should read: Of_Library : constant File_Name := "<SWITCH>"; The following sentence should be added to the end of the Description: If a switch file is selected, however, that switch file is referenced. 109\f On page LM-334, the specification for the Of_Session constant should read: Of_Session : constant File_Name := "<SESSION>"; On page LM-335, the specification for the Set procedure should read: procedure Set (Spec : Specification := ">>SWITCHES<<"; File : File_Name := "<SWITCH>"; Response : String := "<PROFILE>"); On page LM-338, the specification for the Visit procedure should read: procedure Visit (File : File_Name := "<SWITCH>"); The description of the File parameter should read: Specifies the switch file in which switches are to be edited. The default is the currently selected switch file or the switch file associated with the directory or world enclosing the current image. 110\f 11.8. Text I/O (TIO) This section describes the discrepancies between the documentation contained in the Text I/O book and the Delta release of the Rational Environment. 11.8.1. The Form Parameter The following procedures specify that the Form parameter is not supported for them: Page TIO-12, procedure Append Page TIO-20, procedure Create Page TIO-63, procedure Open Page TIO-169, procedure Create Page TIO-193, procedure Open However, the following terminal-specific I/O and Ada unit I/O Form parameters are supported for the procedures above: Terminal-Specific I/O Form Parameters CRLF Specifies whether LF should be mapped to CRLF (default is true) Echo Specifies whether characters should be echoed (default is true) Editing Specifies whether line editing is in effect (default is true) Ada Unit I/O Form Parameters Page_Pragma_Mapping specifies whether pragma Page should cause a [CONTROL] [L] to be inserted at the end of a line to force a page break. 11.8.2. Package Io On page TIO-43, the Description of procedure Get should read: Reads all or part of a line from a file. This procedure reads characters from the current line until either Item is full or the line is exhausted. When all of the line is read, any line, page, or file terminators are skipped. The Last parameter returns the index in Item of the last character read. If the line is empty, the Last parameter is set to one less than Item'First. The Boolean out parameters are set to indicate whether the characters read completed reading of a line, a page, or the entire file. Note that End_Of_File implies End_Of_Page and End_Of_Page implies End_Of_Line. 111\f 11.9. Data and Device I/O (DIO) This section describes the discrepancies between the documentation contained in the Data and Device I/O book and the Delta release of the Rational Environment. 11.9.1. The Form Parameter The following procedures specify that the Form parameter is not supported for them: Page DIO-10, procedure Create Page DIO-22, procedure Open Page DIO-40, procedure Append Page DIO-42, procedure Create Page DIO-52, procedure Open Page DIO-63, procedure Create Page DIO-74, procedure Open Page DIO-110, procedure Create Page DIO-153, procedure Open However, the following terminal-specific I/O and Ada unit I/O Form parameters are supported for the procedures above: Terminal-Specific I/O Form Parameters CRLF Specifies whether LF should be mapped to CRLF (default is true) Echo Specifies whether characters should be echoed (default is true) Editing Specifies whether line editing is in effect (default is true) Ada Unit I/O Form Parameters Page_Pragma_Mapping specifies whether pragma Page should cause a [CONTROL] [L] to be inserted at the end of a line to force a page break. 11.9.2. Package Window_Io Within package Window_Io , found on pages DIO-79 through DIO-192, it is specified that the key names are found in !Machine.Editor_Data.Visible_Key_Names. These names are actually supplied by !Machine.Editor_Data.<terminal>_Keys, where <terminal> is the type of terminal. 112\f 11.10. String Tools (ST) This section describes the discrepancies between the documentation contained in the String Tools book and the Delta release of the Rational Environment. 11.10.1. Package Table_Formatter On page ST-95, the specification for type Field_List should read: type Field_List is array (Integer range <>) of Integer; At the end of the Description on that page, the following paragraph should be added: If a variable of type Field_List has a negative value, the table is sorted on the specified field in descending, rather than ascending, order. A value of 0 results in a sort on the first field in ascending order. On page ST-100, the specification for procedure Sort should read: procedure Sort (On_Field : Integer := 1); procedure Sort (On_Field : Field_List); At the end of the Description on that page, the following paragraph should be added: If a variable of type Field_List has a negative value, the table is sorted on the specified field in descending, rather than ascending, order. A value of 0 results in a sort on the first field in ascending order. 113\f 11.11. Programming Tools (PT) This section describes the discrepancies between the documentation contained in the Programming Tools book and the Delta release of the Rational Environment. 11.11.1. Package System On page PT-163, in the specification, the word Unchecked_Conversions is part of the comment on the previous line, and thus should appear as: -- Unchecked_Conversions 11.11.2. Package Unchecked_Conversion On page PT-211, in the second paragraph, the phase "when the instantiation is elaborated # specifically" should be deleted. On page PT-213, section Errors, the first paragraph, the following sentence should be deleted: "Note that, for generic subprograms, elaboration of the generic occurs when the instantiation is called." 114\f 11.12. System Management Utilities (SMU) This section describes the discrepancies between the documentation contained in the System Management Utilities book and the Delta release of the Rational Environment. 11.12.1. Key Concepts On page SMU-3, in the Wildcards section, in both The Wildcard # and The Wildcard @, the phrase "and the single quote (')" should be deleted. On page SMU-4, in the Wildcards section continued from the previous page, in subsection The Wildcard ?, the following sentence should be added to the first paragraph: Note that the name !Stooges? represents Stooges, as well. On page SMU-4, in the Wildcards section continued from the previous page, in subsection The Wildcard ??, the first paragraph should read: The double question mark (??) matches zero or more components in a name, including worlds or objects contained by those world. For example, the name !Users?? matches the home worlds of all users and the contents of those worlds, as well as !Users; !Users.Bill?? matches everything in his home world, including worlds and the objects within those worlds, as well as !Users.Bill itself. As another example, consider that "!??" matches all objects in the library system on a given machine. On page SMU-4, in Substitution Characters, the following sentence should be added to the end of the second paragraph: Note that in using substitution characters, the substitution is done from right to left. On page SMU-5, the subsection The Substitution Character ?? should be deleted. On page SMU-7, in The Special Character `, a second paragraph should be added, as follows: If the current context is an Ada unit in at least the installed state, the name following the grave is resolved according to LRM rules. 11.12.2. Package Message On page SMU-50, the following sentence should be added to the Description: 115\f The message always goes to the operations console. On page SMU-51, the following sentence should be added to the Description: If a user is logged in on the operations console, the message is sent there. In any case, the message always goes to the operations console. 11.12.3. Package Queue On page SMU-102, the description of the Class parameter should read as follows: Specifies a new default name. If the default value of this parameter is used, the only effect of this command is to display the current default class. Users on installations that use Rational Networking # TCP/IP to connect multiple R1000 systems can specify other machines on the network. Thus, a remote machine name can be specified to set the default (on the current machine) to be a remote class. This remote class name may be specified or, if omitted, allowed to default to the default class on the remote machine. For example, the command: Queue.default("!!M1.newclass"); specifies newclass, on machine M1, as the default class for all local print requests. The command: queue.default("!!m1"); specifies the default class on machine M1 to be the default class for the current machine. On page SMU-106, procedure Devices, the following sentence should be added to the end of the Which parameter: A remote machine name may be specified. 11.12.4. Package Scheduler On page SMU-170, the following sentence should be added to the end of the description of the Parameter parameter: In addition, the value "defaults" restores all parameters to their default values. On page SMU-171, the following table should replace the "Memory Scheduling" table: 116\f ------------------------------------------------------------------- | Parameter |Range of Values | Default | Description | ------------------------------------------------------------------- | Memory_Scheduli| 0 or 1 (off or | 1 | Specifies whether to | | ng | on) | | disable (0) or enable | | | | | (1) memory scheduling.| ------------------------------------------------------------------- | Environment_Wsl| 1 .. memory | 11000 | Specifies the working | | | size (pages) | | set limit for the | | | | | Environment. | ------------------------------------------------------------------- | Daemon_Wsl | 1 .. memory | 200 | Specifies the working | | | size (pages) | | set limit for jobs | | | | | started by the system | | | | | daemon. | ------------------------------------------------------------------- | Min_Ce_Wsl | 1 .. max_ce_wsl| 150 | Specifies the minimum | | | | | working set limit for | | | | | core editor jobs. | ------------------------------------------------------------------- | Max_Ce_Wsl | min .. | 500 | Specifies the maximum | | | memory_size | | working set limit for | | | | | core editor jobs. | ------------------------------------------------------------------- | Min_Oe_Wsl | 1 .. max_oe_wsl| 75 | Specifies the minimum | | | | | working set limit for | | | | | object editor jobs. | ------------------------------------------------------------------- | Max_Oe_Wsl | min .. | 750 | Specifies the maximum | | | memory_size | | working set limit for | | | | | object editor jobs. | ------------------------------------------------------------------- | Min_Attached_Ws| 1 .. | 50 | Specifies the minimum | | l | max_attached_ws| | working set limit for | | | l | | attached jobs. | ------------------------------------------------------------------- | Max_Attached_Ws| min .. | 2000 | Specifies the maximum | | l | memory_size | | working set limit for | | | | | attached jobs. | ------------------------------------------------------------------- | Min_Detached_Ws| 1 .. | 50 | Specifies the minimum | | l | max_detached_ws| | working set limit for | | | l | | detached jobs. | ------------------------------------------------------------------- | Max_Detached_Ws| min .. | 4000 | Specifies the maximum | | l | memory_size | | working set limit for | | | | | detached jobs. | ------------------------------------------------------------------- | Min_Server_Wsl | 1 .. | 75 | Specifies the minimum | | | max_server_wsl | | working set limit for | | | | | servers. | ------------------------------------------------------------------- 117\f ------------------------------------------------------------------- | Max_Server_Wsl | min .. memory | 1000 | Specifies the maximum | | | size | | working set limit for | | | | | servers. | ------------------------------------------------------------------- | Min_Available_M| 0 .. memory | 1024 | Specifies the minimum | | emory | size (pages) | | number of pages of | | | | | memory that should | | | | | always be available | | | | | for distribution. | ------------------------------------------------------------------- Figure 11.6. 118\f On page SMU-172, the following table should replace the "Background Job Streams" table: ------------------------------------------------------------------ | Parameter |ange of Value| Default | Description | ------------------------------------------------------------------ | Foreground_Time_Limi| positive | 1800 | Specifies how long | | t | (seconds) | | an attached job can| | | | | run before it gets | | | | | allocated | | | | | background | | | | | resources. | ------------------------------------------------------------------ | Background_Streams | positive | 3 | Specifies the | | | (streams) | | number of | | | | | background job | | | | | streams. | ------------------------------------------------------------------ | Stream_Time N | 1 .. 43200 | 2, 8, 50| Specifies the time | | | (minutes) | | limit associated | | | | | with the job stream| | | | | numbered N. (Each | | | | | stream has its own | | | | | default.) | ------------------------------------------------------------------ | Job_Streams N | 0 .. 5 | 2, 1, 0 | Specifies the | | | | | number of jobs that| | | | | can be running in | | | | | the jobs stream | | | | | numbered N. Each | | | | | stream has its own | | | | | default. | ------------------------------------------------------------------ | Strict_Stream_Policy| 0 or 1 | 0 | Specifies whether | | | (false or | | strict stream | | | true) | | policy is in effect| | | | | (true) or not | | | | | (false). | ------------------------------------------------------------------ Figure 11.7. On page SMU-177, under header Stream_Times N, the last sentence of the last paragraph should read: The default values for Stream_Times 1 through 3 are 2, 8, and 50 minutes, respectively. On page SMU-177, under header Stream_Jobs N, the last sentence of the last paragraph should read: The default values of Stream_Jobs 1 through 3 are 2, 1, and 0, respectively. 119\f 11.12.5. Package System_Utilities On page SMU-269, in the fourth paragraph, the fourth sentence should be replaced with the following sentence: Numbers in the range 224..255 identify Telnet connections that do not correspond to physical ports. 11.12.6. Package Tape On page SMU-289, the specification for the Read procedure should read: procedure Read (Volume : String; Directory : String :="$"; Options : String := "R1000 Add_New_Line"; To_Operator : String := "Thank You"; Response: String := "<PROFILE>"); The following changes should be made to the Parameters section on that page: Volume : String; Specifies a standard ANSI volume identification: a six-character string. The Format and Add_New_Line parameter entries should be deleted. The following Options parameter entry should be added after the Directory parameter entry: Options : String := "R1000 Add_New_Line"; The Options parameter specifies options that can be used when reading tapes. For information on specifying Options parameters, see Key Concepts, The Options Parameter. The following is a list of options: Add_New_Line Specifies whether to add a new line character after each record is read from tape. Without this option, bytes are copied from tape without interpretation or modification. Format literal Specifies whether to format the tape for an R1000 (the default), VAX/VMS, or MV. 120\f R1000 Use the "Format=R1000" or "R1000" option to specify a tape that was formatted for an R1000 system. MV Use the "Format=MV" or "MV" option to specify a tape that was formatted for an MV system. VAX/VMS Use the "Format=VAX/VMS" or "VAX/VMS" option to specify a tape that was formatted for a VAX/VMS system. On page SMU-294, the specification for the Write procedure should read: procedure Write (Files : String := "$@"; Volume : String := ""; Options : String := "R1000 Text_Files"; To_Operator : String := "Thank You"; Response: String := "<PROFILE>"); The following should be added to the end of the Description section: The filename that is written to the tape is generated as follows: 1. If the object is an Ada unit, then "V_" or "B_" are prefixed to the name if the unit is a specification or body, respectively. 2. Underscore characters in the name are removed. There is an exception to this rule, in the case of "_xyz" (or other three-letter suffixes). In cases such as this, the "_" is replaced with a ".", resulting in a filename that ends in an ".xyz" (or other three letter) suffix. 3. Files generated for VAX/VMS systems are shortened to 9 characters. Files for other formats are shortened to 17 characters. The following rules are used for shortening filenames: If, after the underscore characters are removed, the name is too long, vowels are removed beginning at the right end (excluding the suffix) and moving to the left. If the name is still too long after removing the vowels, the name is truncated again, excluding the suffix, if there is one. 121\f 4. Finally, to produce a unique name with respect to other names being written to the tape, alphabetical characters are inserted in front of the suffix and are incremented alphabetically until the name is unique. For example, on a tape written for an MV, the name "An_Interesting_Name_Txt" becomes "AnInterstngNm.Txt". The following changes should be made to the Parameters section on that page: The Format and Text_Files parameter entries should be deleted. The following Options parameter entry should be added after the Volume parameter entry: Options : String := "R1000 Text_Files"; The Options parameter specifies options that can be used when reading tapes. For information on specifying Options parameters, see Key Concepts, The Options Parameter. The following is a list of options: Block_Length Specifies the block length for the tape. The default is 2,048 bytes. See the Format literal for restrictions. Format literal Specifies whether to format the tape for an R1000 (the default), VAX/VMS, or MV. 122\f R1000 Use the "Format=R1000" or "R1000" option to format the tape for an R1000 system. MV Use the "Format=MV" or "MV" option to format a tape for an MV system. VAX/VMS Use the "Format=VAX/VMS" or "VAX/VMS" option to format a tape for an VAX/VMS system. When tapes are formatted for VAX/VMS, R1000 filenames are changed to legal VAX/VMS filenames. The Environment includes a file on the tape called INDEX that maps R1000 filenames to the new, legal VAX/VMS filenames. Label=string Specifies an optional part of the label written to the volume header. This allows the user to label the user's own tape, where string is the tape label. The default is to write no label. Record_Format=value Specifies the Ansi record format. The default is VARIABLE_LENGTH. 123\f FIXED_LENGTH Use the "Format=Fixed_Length" option to write tapes with fixed-length records. The length of the records is specified in the Record_Length option. The Record_Length value must be less than or equal to the block length. VARIABLE_LEN Use the GTH "Format=Variable_Lengt h" option to write tapes with variable-length records. The maximum record length is specified in the Record_Length option. The Record_Length value must be less than or equal to the block length. SPANNED Use the "Format=Spanned" option to write data with intrarecord gaps. This enables the user to write records that are greater than the block length. The maximum record size is specified by the Record_Length option. Record_Length=value Specifies the record length for the tape. The default is 512 bytes. See the Format literal for restrictions. Text_Files Specifies that the file contains only characters, line terminators, and page terminators. Each line of the file is written as record on the tape. Lines are read 124\f according to the same rules as those used in Text_Io.Get_Line. 11.12.7. Package Terminal On page SMU-311, the description for the parameter To_Be should read: Specifies whether to set software flow control to "NONE" or "XON_XOFF". 125\f 11.13. Project Management (PM) The Project Management book is not currently available. The topics to be covered by this book are currently discussed in the following materials: * Rational Environment Training: Advanced Topics * Rational Environment Training: Large-System Development 126\f 11.14. Basic Operations This section describes the discrepancies between the documentation contained in Basic Operations and the Delta release of the Rational Environment. On page 22, the last paragraph of the Setting Tabs section should read: As you edit the text file, pressing [TAB] indents to the next tab column. On page 31, it should be noted that changing the name of an Ada unit that is CMVC controlled should not be done. On page 49, it should be noted that links in worlds under control of CMVC should not be modified. On page 51, the last paragraph of Deleting a Link should read: If the link has no dependents, the link is deleted and the link display is updated. If it has dependents, you can use [OBJECT] - [?] to display the list of dependents. On page 51, under Adding a Set of Links, step 3 should read: At the Source prompt, enter a name (using special characters and wildcards if desired) that specifies the complete set of links and press [PROMOTE]. It should be noted that substitution characters can be used in the link name. On page 63, under Making Ada Units Controlled, step 3 should read: At the What_Object prompt, enter ?'C(Ada,Text) and press [PROMOTE]. On page 64, under Making a Subpath, step 1 should read: Place the cursor on any view for the path from which the subpath is to be created (typically, Revn_Working). On page 64, the final paragraph of Checking Out a Unit for Changes should read: The command displays its output in an output window. When it completes, the unit can be modified. When the unit is checked out, a new generation is created. On page 64, the last paragraph of Checking In a Unit After Changes should read: The command displays its output in an output window. When it completes, the unit can no longer be changed. 127\f On page 65, under Accepting Changes, step 1 (both occurrences) should read: Place the cursor on the first line of the view display. 128\f 11.15. Appendix F for the R1000 Target This section describes the discrepancies between the documentation contained in the Appendix F for the R1000 Target and the Delta release of the Rational Environment. On page F-8, under Pragmas, the description for the Loaded_Main: bullet should read: This pragma is generated by the Environment to specify that a unit is a code-only unit. When the Compilation.Load procedure is used to generate a code-only unit, a Main pragma is converted to a Loaded_Main pragma automatically. The Ada specification for a code-only unit can be demoted and repromoted, as long as the specification has not changed. 129\f Table Of Contents 1. Overview 1 2. Major New Features 1 2.1. Access Control 1 2.2. CMVC 2 2.3. Code-Only Units and Subsystems 2 2.4. Incremental Editing of Coded Specs 2 2.5. Console Command Interface 3 2.6. On-Line Help Editor 3 2.7. Improved Performance 3 3. General Changes 4 3.1. Directory Naming 4 3.2. Error Log 7 3.3. Job Page Limits 7 3.4. Disk Error Recovery 7 3.5. Remote Passwords 8 3.6. Option Parameters/Parameter Parser 8 3.7. Machine.Initialize 8 3.8. Archive 8 3.9. Selection 8 3.10. Editor 9 3.10.1. Selections 9 3.10.2. Insertion Points 9 3.10.3. Comments, Line Breaks, and Page Breaks 9 3.10.4. Return and Indent 10 3.10.5. Command Windows 10 3.10.6. Displaying Deleted Versions 10 3.11. Unchecked_Conversion 10 3.12. Unchecked_Deallocation 10 3.13. Ada Unit State 11 3.14. Terminal I/O 11 3.15. Reduced Disk Garbage Generation 12 3.16. Pragma Page 12 3.17. Programs 12 3.18. Response Profiles 12 3.19. Miscellaneous 13 4. Converting from Gamma 13 4.1. Commonly Used Object Whose Names Have Changed 13 4.2. Unchecked_Conversion 14 4.3. Semanticist Changes 14 4.4. Machine.Initialize 14 4.5. Conversion Hints 15 4.6. Keyboard Macros 15 4.7. Naming Changes 15 4.8. Formatting of Ada Units 15 4.9. Subsystems 16 5. Changes in !Commands 16 5.1. Library Abbreviations 17 5.2. Package Access_List 18 5.3. Package Ada 19 5.4. Package Archive 20 5.5. Package CMVC 23 5.6. Package CMVC_Maintenance 23 i\f 5.7. Package Common 23 5.8. Package Compilation 25 5.9. Package Daemon 26 5.10. Package Debug 28 5.11. Package Editor 31 5.12. Package File_Utilities 33 5.13. Package Ftp 34 5.14. Package Job 35 5.15. Package Library 35 5.16. Package Log 36 5.17. Package Operator 37 5.18. Package Program 40 5.19. Package Queue 40 5.20. Package Scheduler 41 5.21. Package Search_List 44 5.22. Package Source_Archive 44 5.23. Package Switches 46 5.24. Package System_Backup 46 5.25. Package Tape 46 5.26. Package Text 47 5.27. Package Transport_Route 47 5.28. Package View 47 5.29. Package What 47 5.30. Package Work_Order 47 6. Changes in !Tools 48 6.1. Package Access_List_Tools 48 6.2. Package Ada_Object_Editor 48 6.3. Package Ada_Text 48 6.4. Package Allows_Deallocation 49 6.5. Package Bit_Operations 50 6.6. Package Concurrent_Map_Generic 50 6.7. Package Debug_Tools 51 6.8. Package Diana_Object_Editor 51 6.9. Package Directory_Tools 51 6.10. Package List_Generic 51 6.11. Package Map_Generic 53 6.12. Networking 53 6.13. Package Object_Editor 53 6.14. Package Parameter_Parser 53 6.15. Package Profile 53 6.16. Package Queue_Generic 55 6.17. Package Set_Generic 56 6.18. Package Simple_Status 57 6.19. Package String_Map_Generic 57 6.20. Package String_Utilities 59 6.21. System_Availability.Revn.Units 59 6.22. Package System_Utilities 60 6.23. Package Table_Formatter 61 6.24. Package Target_Builder 61 6.25. Package Time_Utilities 61 6.26. Package Unchecked_Conversions 61 7. Changes in !Implementation 63 8. Changes in !Io 65 8.1. Package Device_Independent_Io 65 8.2. Package Io 65 ii\f 8.3. Package Simple_Text_Io 66 8.4. Package Terminal_Specific 67 9. Changes in !Lrm 68 9.1. Package Unchecked_Conversion 68 9.2. Package Unchecked_Deallocation 68 10. Known Problems 69 11. Documentation 71 11.1. Differences between Gamma and Delta Documentation 71 11.1.1. The Rational Environment Reference Manual 72 11.2. Reference Summary 75 11.3. Editing Images (EI) 77 11.4. Editing Specific Types (EST) 79 11.4.1. Ada Images 79 11.4.2. Package Ada 80 11.4.3. Package Common 80 11.4.4. Text Images 81 11.5. Debugging (DEB) 82 11.5.1. Package Debug 82 11.6. Session and Job Management (SJM) 83 11.6.1. Key Concepts 83 11.6.2. Package Job 84 11.6.3. Package Log 84 11.6.4. Package Profile 88 11.6.5. Package Program 89 11.6.6. Package Search_List 89 11.6.7. Session Switches 89 11.6.8. Package What 94 11.7. Library Management (LM) 95 11.7.1. Key Concepts 95 11.7.2. Package Archive 96 11.7.3. Package Compilation 102 11.7.4. Package File_Utilities 104 11.7.5. Package Library 106 11.7.6. Package Links 108 11.7.7. Package Switches 108 11.8. Text I/O (TIO) 111 11.8.1. The Form Parameter 111 11.8.2. Package Io 111 11.9. Data and Device I/O (DIO) 112 11.9.1. The Form Parameter 112 11.9.2. Package Window_Io 112 11.10. String Tools (ST) 113 11.10.1. Package Table_Formatter 113 11.11. Programming Tools (PT) 114 11.11.1. Package System 114 11.11.2. Package Unchecked_Conversion 114 11.12. System Management Utilities (SMU) 115 11.12.1. Key Concepts 115 11.12.2. Package Message 115 11.12.3. Package Queue 116 11.12.4. Package Scheduler 116 11.12.5. Package System_Utilities 120 11.12.6. Package Tape 120 11.12.7. Package Terminal 125 11.13. Project Management (PM) 126 iii\f 11.14. Basic Operations 127 11.15. Appendix F for the R1000 Target 129 iv\f Table Of Figures Figure 3.1. - Directory Naming Changes 5 Table 5.1. - Gamma to Delta Change Codes 16 Figure 5.2. - Changes to Package Abbreviations 17 Figure 5.3. - Summary of Package Access_List 18 Figure 5.4. - Changes to Package Ada 19 Figure 5.5. - Summary of Package Archive 21 Figure 5.6. - Changes to Package Common 24 Figure 5.7. - Changes to Package Compilation 25 Figure 5.8. - Changes to Package Daemon 27 Figure 5.9. - Changes to Package Debug 29 Figure 5.10. - Changes to Package Editor 32 Figure 5.11. - Changes to Package File_Utilities 34 Figure 5.12. - Changes to Package Job 35 Figure 5.13. - Changes to Package Library 36 Figure 5.14. - Changes to Package Log 37 Figure 5.15. - Changes to Package Operator 38 Figure 5.16. - Changes to Package Program 40 Figure 5.17. - Changes to Package Queue 40 Figure 5.18. - Changes to Package Scheduler 42 Figure 5.19. - Changes to Package Search_List 44 Figure 5.20. - Changes to Package Source_Archive 45 Figure 5.21. - Changes to Package Switches 46 Figure 5.22. - Changes to Package System_Backup 46 Figure 5.23. - Changes to Package Tape 46 Figure 5.24. - Changes to package Text 47 Figure 5.25. - Changes to Package What 47 Figure 6.1. - Changes to Package Access_List_Tools 48 Figure 6.2. - Summary of Package Ada_Text 49 Figure 6.3. - Summary of Package Allows_Deallocation 49 Figure 6.4. - Summary of Package Bit_Operations 50 Figure 6.5. - Changes to Package Concurrent_Map_Generic 50 Figure 6.6. - Changes to package Debug_Tools 51 Figure 6.7. - Changes to Package Diana_Object_Editor 51 Figure 6.8. - Changes to Package List_Generic 52 Figure 6.9. - Changes to package Map_Generic 53 Figure 6.10. - Changes to Package Profile 54 Figure 6.11. - Changes to Package Queue_Generic 56 Figure 6.12. - Changes to Package Set_Generic 56 Figure 6.13. - Summary of Package Simple_Status 57 Figure 6.14. - Changes to Package String_Map_Generic 58 Figure 6.15. - Changes to Package String_Utilities 59 Figure 6.16. - System_Availability Interfaces 59 Figure 6.17. - Changes to Package System_Utilities 60 Figure 6.18. - Changes to package Table_Formatter 61 Figure 6.19. - Changes to Package Time_Utilities 61 Figure 6.20. - Summary of Package Unchecked_Conversions 62 Figure 7.1. - Changes to World !Implementation 64 Figure 8.1. - Changes to Package Device_Independent_Io 65 Figure 8.2. - Changes to Package Io 66 Figure 8.3. - Changes to Package Terminal_Specific 67 Figure 11.1. - Gamma to Delta Documentation Cross Reference 74 Figure 11.2. - Package Archive Table 97 v\f Figure 11.6. 117 Figure 11.7. 119 vi