DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦af4d4761d⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Editor, pragma Module_Name 4 2205, pragma Subsystem Command, seg_006376

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



package Editor is

    package Cursor is
        procedure Down (Repeat : Integer := 1);
        procedure Left (Repeat : Integer := 1);
        procedure Right (Repeat : Integer := 1);
        procedure Up (Repeat : Integer := 1);
        -- Quarter-plane motion

        procedure Forward (Repeat : Integer := 1);
        procedure Backward (Repeat : Integer := 1);
        -- Stream motion, end of line N adjacent to beginning of line N+1

        procedure Next (Repeat : Integer := 1;
                        Prompt : Boolean := True;
                        Underline : Boolean := True);
        procedure Previous (Repeat : Integer := 1;
                            Prompt : Boolean := True;
                            Underline : Boolean := True);
        -- Position the cursor at the next (previous) closest prompt or
        -- underline.  Prompt (Underline) false indicates not to look
        -- for the next Prompt (Underline).  Both false does nothing

    end Cursor;

    package Search is
        procedure Previous (Target : String := ""; Wildcard : Boolean := False);
        procedure Next (Target : String := ""; Wildcard : Boolean := False);
        procedure Replace_Previous (Target : String := "";
                                    Replacement : String := "";
                                    Repeat : Integer := 1;
                                    Wildcard : Boolean := False);
        procedure Replace_Next (Target : String := "";
                                Replacement : String := "";
                                Repeat : Integer := 1;
                                Wildcard : Boolean := False);
    end Search;

    package Char is
        procedure Capitalize (Repeat : Integer := 1);
        procedure Delete_Backward (Repeat : Integer := 1);
        procedure Delete_Forward (Repeat : Integer := 1);
        -- Stream deletion end of line N is adjacent to beginning
        -- of line N+1

        procedure Delete_Next (Repeat : Integer := 1);
        procedure Delete_Previous (Repeat : Integer := 1);
        -- Quarter-plane deletion

        procedure Delete_Spaces (Remaining : Natural := 1);
        -- Delete spaces surrounding the cursor, leaving remaining spaces

        procedure Insert_String (Value : String);
        procedure Insert_Character (Repeat : Integer := 1; Value : Character);
        procedure Lower_Case (Repeat : Integer := 1);
        procedure Quote;
        procedure Tab_Backward (Repeat : Integer := 1);
        procedure Tab_Forward (Repeat : Integer := 1);
        procedure Tab_To_Comment;
        -- Tab to the comment column and insert comment marks

        procedure Transpose (Offset : Integer := 1);
        procedure Upper_Case (Repeat : Integer := 1);
    end Char;

    package Line is
        procedure Beginning_Of (Offset : Natural := 0);
        procedure Capitalize (Repeat : Integer := 1);
        procedure Center (Right_Margin : Natural := 0);
        procedure Copy (Repeat : Integer := 1);
        procedure Delete (Repeat : Integer := 1);
        procedure Delete_Backward (Repeat : Integer := 1);
        procedure Delete_Forward (Repeat : Integer := 1);
        procedure End_Of (Offset : Natural := 0);
        procedure Insert (Repeat : Integer := 1);
        procedure Indent (Repeat : Integer := 1);
        procedure Join (Repeat : Integer := 1);
        procedure Lower_Case (Repeat : Integer := 1);
        procedure Open (Repeat : Integer := 1);
        procedure Transpose (Offset : Integer := 1);
        procedure Upper_Case (Repeat : Integer := 1);
        procedure Next (Repeat : Integer := 1) renames Cursor.Down;
        procedure Previous (Repeat : Integer := 1) renames Cursor.Up;
    end Line;

    package Word is
        procedure Beginning_Of;
        procedure Breaks (Break_Set : String := "";
                          Are_Delimiters : Boolean := True);
        procedure Capitalize (Repeat : Integer := 1);
        procedure End_Of;
        procedure Delete (Repeat : Integer := 1);
        procedure Delete_Backward (Repeat : Integer := 1);
        procedure Delete_Forward (Repeat : Integer := 1);
        procedure Lower_Case (Repeat : Integer := 1);
        procedure Next (Repeat : Integer := 1);
        procedure Previous (Repeat : Integer := 1);
        procedure Transpose (Offset : Integer := 1);
        procedure Upper_Case (Repeat : Integer := 1);
    end Word;

    package Image is
        -- repeat = 0 scrolls one page

        procedure Up (Repeat : Integer := 0);
        procedure Down (Repeat : Integer := 0);
        procedure Left (Repeat : Integer := 0);
        procedure Right (Repeat : Integer := 0);
        procedure Find (Name : String);
        procedure Beginning_Of (Offset : Natural := 0);
        procedure End_Of (Offset : Natural := 0);
    end Image;

    -- Many of the following packages implement a "stack" discipline.  For
    -- these packages, the following operations are supported:
    --
    -- Copy_Top     Push a copy of the top of stack
    -- Delete_Top   Delete the top element from the stack
    -- Next         Use the next value on the stack
    -- Previous     Use the previous value on the stack
    -- Push         Put the appropriate item on the stack
    -- Rotate       Rotate the stack; top becomes the bottom; value not
    --              used
    -- Swap         Interchange the top and next to top items; value not
    --              used
    -- Top          Use the top value on the stack

    package Screen is
        procedure Down (Repeat : Integer := 1);
        procedure Left (Repeat : Integer := 1);
        procedure Right (Repeat : Integer := 1);
        procedure Up (Repeat : Integer := 1);
        procedure Dump (To_File : String := ">>NAME<<");
        procedure Redraw;
        procedure Clear;
        -- Screen stack operations

        procedure Copy_Top;
        procedure Delete_Top;
        procedure Next (Repeat : Integer := 1);
        procedure Previous (Repeat : Integer := 1);
        procedure Push (Repeat : Integer := 1);
        procedure Rotate (Repeat : Integer := 1);
        procedure Swap;
        procedure Top;

        -- Set terminal lines and columns for this session.
        -- Changes take effect at Set_Lines calls.
        procedure Set_Columns (Columns : Natural);
        procedure Set_Lines (Lines : Natural);
    end Screen;

    package Window is
        procedure Beginning_Of (Offset : Natural := 0);
        procedure Child (Repeat : Integer := 1);
        procedure Copy;
        procedure Delete;
        procedure Demote;
        procedure Directory;
        procedure End_Of (Offset : Natural := 0);
        procedure Expand (Lines : Integer := 4);
        procedure Focus;
        procedure Frames (Maximum : Positive);
        procedure Join (Repeat : Integer := 1);
        procedure Next (Repeat : Integer := 1);
        procedure Parent (Repeat : Integer := 1);
        procedure Previous (Repeat : Integer := 1);
        procedure Promote;
        procedure Transpose (Offset : Integer := 1);
    end Window;

    package Macro is
        procedure Start;
        procedure Finish;
        -- Start/Finish the definition of a keyboard macro

        procedure Execute (Repeat : Integer := 1; Prior : Natural := 0);
        -- Execute the current keyboard macro Repeat times.  If Prior /= 0
        -- execute the macro with that number.

        procedure Bind (Key : String := "");
        -- bind the current macro to the key name given, e.g. F1, M_F1.

        procedure Save (Expanded : Boolean := False);
        -- Save the current macro state in the user macro file.
        -- Expanded causes the file string to be saved in text form.

        procedure Restore;
        -- Recreate macro state from the user macro file.

    end Macro;

    package Hold_Stack is
        procedure Copy_Top;
        procedure Delete_Top;
        procedure Next (Repeat : Integer := 1);
        procedure Previous (Repeat : Integer := 1);
        procedure Push (Repeat : Integer := 1);
        procedure Rotate (Repeat : Integer := 1);
        procedure Swap;
        procedure Top;
    end Hold_Stack;

    package Mark is
        procedure Copy_Top;
        procedure Delete_Top;
        procedure Next (Repeat : Integer := 1);
        procedure Previous (Repeat : Integer := 1);
        procedure Push (Repeat : Integer := 1);
        procedure Rotate (Repeat : Integer := 1);
        procedure Swap;
        procedure Top;
    end Mark;

    package Region is
        procedure Beginning_Of;
        procedure Capitalize;
        procedure Comment;
        -- Add comment marks to the beginning of the lines in the region
        procedure Copy;       procedure Delete;
        procedure End_Of;
        procedure Fill (Column : Natural := 0; Leading : String := "");
        procedure Finish;
        procedure Justify (Column : Natural := 0; Leading : String := "");
        -- 0 argument uses default fill column
        procedure Lower_Case;
        procedure Move;
        procedure Off;
        procedure On;
        procedure Start;
        procedure Uncomment;
        procedure Upper_Case;
    end Region;

    package Set is
        procedure Insert_Mode (On : Boolean := True);
        procedure Fill_Mode (On : Boolean := True);
        procedure Fill_Column (Column : Positive := 72);
        procedure Designation_Off;
        procedure Input_From (File_Name : String := "<SELECTION>");
        procedure Input_Logging_To (File_Name : String := ">>Name<<");
        procedure Input_Logging_Off;
        procedure Tab_Off (Column : Positive);
        procedure Tab_On (Column : Positive);
        procedure Tab_Width (Size : Positive := 4);
        -- Only to be bound on keys

        procedure Argument_Prefix;
        procedure Argument_Digit (Argument : Integer := 1);
        procedure Argument_Minus;
    end Set;

    package Key is
        procedure Define (Key_Name : String := ">>KEY NAME, e.g. CM_F1<<";
                          Command_Name : String := ">>COMMAND NAME<<";
                          Prompt : Boolean := False);
        procedure Name (Key_Code : String := "");
        procedure Save;
        procedure Prompt (Key_Code : String := "");
    end Key;
    procedure Quit (Ignore_Changes : Boolean := False);
    procedure Alert;
    procedure Noop;

    pragma Subsystem (Command);
    pragma Module_Name (4, 2205);

end Editor;

E3 Meta Data

    nblk1=b
    nid=0
    hdr6=16
        [0x00] rec0=18 rec1=00 rec2=01 rec3=000
        [0x01] rec0=16 rec1=00 rec2=02 rec3=000
        [0x02] rec0=18 rec1=00 rec2=03 rec3=026
        [0x03] rec0=14 rec1=00 rec2=04 rec3=078
        [0x04] rec0=19 rec1=00 rec2=05 rec3=040
        [0x05] rec0=16 rec1=00 rec2=06 rec3=020
        [0x06] rec0=1c rec1=00 rec2=07 rec3=010
        [0x07] rec0=19 rec1=00 rec2=08 rec3=026
        [0x08] rec0=20 rec1=00 rec2=09 rec3=002
        [0x09] rec0=19 rec1=00 rec2=0a rec3=014
        [0x0a] rec0=18 rec1=00 rec2=0b rec3=000
    tail 0x215013e7c81bf803c6f27 0x42a00088462060003