DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦32c60c165⟧ TextFile

    Length: 2858 (0xb2a)
    Types: TextFile
    Names: »B«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

with Ada, Editor, Job, Visible_Key_Names;
use Visible_Key_Names;
procedure Emacs_Commands is
    package Ed renames Editor;
    type Intent is (Prompt, Execute);
    Action : Intent;
    Key_1, Key_2 : Rational_Key_Names;
begin
    case Action is
        when Prompt =>
            case Key_1 is
                when C_U =>
                    Ed.Set.Argument_Digit;
                when C_X | C_Z =>
                    case Key_2 is
                        when C_C | C_Z =>
                            Ed.Quit;
                        when others =>
                            null;
                    end case;
                when others =>
                    null;
            end case;
        when Execute =>
            case Key_1 is
                when Window =>
                    case Key_2 is
                        when Window | '=' =>
                            Ed.Window.Directory;
                        when others =>
                            null;
                    end case;
                when C_A | Cs_A =>
                    Ed.Line.Beginning_Of;
                when C_B | Cs_B | C_H | Cs_H =>
                    Ed.Cursor.Left;
                when C_D | Cs_D =>
                    Ed.Char.Delete_Forward;
                when C_E | Cs_E =>
                    Ed.Line.End_Of;
                when C_F | Cs_F =>
                    Ed.Cursor.Right;
                when C_G | Cs_G =>
                    Job.Interrupt;
                when C_K | Cs_K =>
                    Ed.Line.Delete_Forward;
                    -- {macro}      when Cs_K =>
                    --                  Ed.Line.Delete_Forward;
                    --                  Ed.Cursor.Down;
                    --                  Ed.Line.End_Of;
                    --                  Ed.Line.Beginning_Of (1);
                    --                  Ed.Char.Delete_Backward;
                    -- {macro}      when C_J | Cs_J =>
                    --                  Ed.Line.Indent;
                    --                  Ed.Char.Tab_Forward;
                when C_I | Cs_I | Tab =>
                    Ed.Char.Tab_Forward;
                when C_N | Cs_N =>
                    Ed.Cursor.Down;
                when C_O | Cs_O =>
                    Ed.Line.Open;
                when C_P | Cs_P =>
                    Ed.Cursor.Up;
                when Cs_U =>
                    Ed.Line.Delete_Backward;
                when C_V | Cs_V =>
                    Ed.Image.Down;
                when C_Space | C_At_Sign =>
                    Ed.Set.Designation_Off;
                when M_B | Ms_B | Ms_H | M_H =>
                    Ed.Word.Previous;
                when M_F | Ms_F =>
                    Ed.Word.Next;
                when others =>
                    null;
            end case;
    end case;
end Emacs_Commands;