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

⟦68fc6651f⟧ Ada Source

    Length: 21504 (0x5400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Editor, pragma Module_Name 4 2205, pragma Subsystem Command, seg_00276a

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=14
    nid=e
    hdr6=26
        [0x00] rec0=17 rec1=00 rec2=01 rec3=056
        [0x01] rec0=00 rec1=00 rec2=14 rec3=024
        [0x02] rec0=15 rec1=00 rec2=02 rec3=05a
        [0x03] rec0=00 rec1=00 rec2=13 rec3=00c
        [0x04] rec0=19 rec1=00 rec2=03 rec3=008
        [0x05] rec0=00 rec1=00 rec2=12 rec3=03e
        [0x06] rec0=12 rec1=00 rec2=04 rec3=01a
        [0x07] rec0=03 rec1=00 rec2=11 rec3=026
        [0x08] rec0=15 rec1=00 rec2=05 rec3=026
        [0x09] rec0=01 rec1=00 rec2=10 rec3=06e
        [0x0a] rec0=17 rec1=00 rec2=06 rec3=01a
        [0x0b] rec0=1a rec1=00 rec2=0f rec3=06c
        [0x0c] rec0=06 rec1=00 rec2=07 rec3=030
        [0x0d] rec0=1d rec1=00 rec2=08 rec3=00e
        [0x0e] rec0=00 rec1=00 rec2=0d rec3=00e
        [0x0f] rec0=1c rec1=00 rec2=09 rec3=020
        [0x10] rec0=01 rec1=00 rec2=0c rec3=016
        [0x11] rec0=18 rec1=00 rec2=0a rec3=044
        [0x12] rec0=15 rec1=00 rec2=0b rec3=000
        [0x13] rec0=15 rec1=00 rec2=0b rec3=000
    tail 0x2010135c4800689067520 0x42a00088462065003
Free Block Chain:
  0xe: 0000  00 00 00 3c 80 1e 20 20 20 20 20 20 28 52 65 70  ┆   <        (Rep┆