|
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: 45056 (0xb000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Rational_Access_Commands, seg_03bac6
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- This is a template for changing key bindings for the Facit terminal -- Installing this procedure, with the desired case entries, will change the -- actions caused by those keys for any sessions that are created with -- visibility to this procedure. with Debug; with Editor; with Common; with Rational_Access_Key_Names; with What; procedure Rational_Access_Commands is use Rational_Access_Key_Names; type Intent is (Prompt, Execute, Interrupt); Action : Intent; Key_1 : Key_Names; Key_2 : Key_Names; Key_3 : Key_Names; Key_4 : Key_Names; Key_5 : Key_Names; Key_6 : Key_Names; begin case Action is when Prompt => case Key_1 is when others => null; end case; when Execute => case Key_1 is when Insert => case Key_2 is when Tab | 'E' | 'e' => Common.Object.Last_Child; when '!' | '1' => Common.Expand; when '+' | '=' => Common.Explain; when '.' | '>' => Common.Elide; when '/' | '?' => Common.Explain; when 'A' | 'a' => Common.Object.First_Child; when 'B' | 'b' => Common.Object.First_Child; when 'C' | 'c' => Common.Object.Copy; when 'D' | 'K' | 'd' | 'k' => Common.Object.Delete; when 'G' | 'g' => Common.Abandon; when 'H' | 'h' => Common.Object.Parent; when 'I' | 'i' => Common.Object.Insert; when 'J' | 'j' => Common.Object.Child; when 'M' | 'm' => Common.Object.Move; when 'N' | 'n' => Common.Object.Next; when 'R' | 'r' => Common.Redo; when 'S' | 's' => Common.Sort_Image; when 'U' | 'u' => Common.Undo; when 'V' | 'v' => Common.Redo; when 'X' | 'x' => Common.Release; when Delete | Carriage_Return => Common.Commit; when Up => Common.Object.Previous; when Down => Common.Object.Next; when Left => Common.Object.Parent; when Right => Common.Object.Child; when F7 => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => False); when others => null; end case; when Begin_Of => case Key_2 is when Tab | 'E' | 'e' => Editor.Region.End_Of; when '"' | ''' | '6' | '^' => Editor.Region.Capitalize; when '(' | '9' | '[' | '{' => Editor.Region.Start; when ')' | '0' | ']' | '}' => Editor.Region.Finish; when '+' | '=' => Editor.Region.Uncomment; when ',' | '<' => Editor.Region.Lower_Case; when '-' | '_' => Editor.Region.Comment; when '.' | '>' => Editor.Region.Upper_Case; when 'A' | 'a' => Editor.Region.Beginning_Of; when 'B' | 'b' => Editor.Region.Beginning_Of; when 'C' | 'c' => Editor.Region.Copy; when 'D' | 'K' | 'd' | 'k' => Editor.Region.Delete; when 'F' | 'f' => Editor.Region.Fill; when 'H' | 'h' => Editor.Hold_Stack.Previous; when 'J' | 'j' => Editor.Hold_Stack.Next; when 'M' | 'm' => Editor.Region.Move; when 'N' | 'n' => Editor.Hold_Stack.Push; when 'P' | 'p' => Editor.Hold_Stack.Copy_Top; when 'Q' | 'q' => Editor.Region.Justify; when 'R' | 'r' => Editor.Hold_Stack.Rotate; when 'T' | 't' => Editor.Hold_Stack.Swap; when 'U' | 'u' => Editor.Hold_Stack.Top; when 'X' | 'x' => Editor.Region.Off; when '`' | '~' => Editor.Region.Capitalize; when Delete => Editor.Hold_Stack.Delete_Top; when Page_Down => Editor.Region.Fill; when Up => Editor.Hold_Stack.Top; when Down => Editor.Hold_Stack.Push; when Left => Editor.Hold_Stack.Previous; when Right => Editor.Hold_Stack.Next; when others => null; end case; when Page_Up => case Key_2 is when Tab | 'E' | 'e' => Editor.Window.End_Of; when '!' | '1' => Editor.Window.Expand; when '#' | '3' => Editor.Window.Frames (3); when '$' | '4' => Editor.Window.Frames (4); when '%' | '5' => Editor.Window.Frames (5); when '&' | '7' => Editor.Window.Frames (7); when '+' | '=' | F4 => Editor.Window.Directory; when '.' | '>' => Editor.Window.Expand (-4); when '/' | '?' => Editor.Window.Directory; when '2' | '@' => Editor.Window.Frames (2); when '6' | '^' => Editor.Window.Frames (6); when 'A' | 'a' => Editor.Window.Beginning_Of; when 'B' | 'b' => Editor.Window.Beginning_Of; when 'C' | 'c' => Editor.Window.Copy; when 'D' | 'K' | 'W' | 'X' | 'd' | 'k' | 'w' | 'x' => Editor.Window.Delete; when 'F' | 'f' => Editor.Window.Focus; when 'H' | 'h' => Common.Enclosing (In_Place => False, Library => False); when 'J' | 'j' => Editor.Window.Join (1); when 'M' | 'Z' | 'm' | 'z' | Delete | Carriage_Return => Editor.Window.Promote; when 'N' | 'n' => Editor.Window.Next; when 'O' | 'o' => Editor.Window.Join (1); when 'T' | 't' => Editor.Window.Transpose; when 'U' | 'u' => Editor.Window.Previous; when 'V' | 'v' => Editor.Window.Child; when 'Y' | 'y' => Editor.Window.Demote; when Page_Down => Editor.Window.Focus; when Up => Editor.Window.Previous; when Down => Editor.Window.Next; when Left => Editor.Window.Parent; when Right => Editor.Window.Child; when others => null; end case; when Delete => Common.Promote; when End_Key => Common.Complete; when Page_Down => Common.Format; when Up => Editor.Cursor.Up; when Down => Editor.Cursor.Down; when Left => Editor.Cursor.Left; when Right => Editor.Cursor.Right; when Kp_Add => case Key_2 is when Tab | 'E' | 'e' => Editor.Image.End_Of; when '!' | '1' => Debug.Source ("_1"); when '#' | '3' => Debug.Source ("_3"); when '$' | '4' => Debug.Source ("_4"); when '%' | '5' => Debug.Source ("_5"); when '&' | '7' => Debug.Source ("_7"); when '(' | '9' => Debug.Source ("_9"); when ')' | '0' => Debug.Source ("_10"); when '*' | '8' => Debug.Source ("_8"); when '2' | '@' => Debug.Source ("_2"); when '6' | '^' => Debug.Source ("_6"); when 'A' | 'a' => Editor.Image.Beginning_Of; when 'B' | 'b' => Editor.Image.Beginning_Of; when 'F' | 'f' => Editor.Set.Fill_Mode (True); when 'H' | 'h' => Editor.Image.Left; when 'I' | 'i' => Editor.Set.Insert_Mode (True); when 'J' | 'j' => Editor.Image.Right; when 'N' | 'n' => Editor.Image.Down; when 'O' | 'o' => Editor.Set.Insert_Mode (False); when 'U' | 'u' => Editor.Image.Up; when 'X' | 'x' => Editor.Set.Fill_Mode (False); when Up => Editor.Image.Up; when Down => Editor.Image.Down; when Left => Editor.Image.Left; when Right => Editor.Image.Right; when others => null; end case; when Kp_Divide => case Key_2 is when Tab | 'E' | 'e' => Editor.Line.End_Of; when '$' | '4' => Editor.Line.Center; when '+' | '=' => What.Line; when ',' | '<' => Editor.Line.Lower_Case; when '.' | '>' => Editor.Line.Upper_Case; when '/' | '?' => What.Line; when '6' | '^' => Editor.Line.Capitalize; when 'A' | 'a' => Editor.Line.Beginning_Of; when 'B' | 'b' => Editor.Line.Beginning_Of; when 'C' | 'c' => Editor.Line.Copy; when 'D' | 'd' => Editor.Line.Delete; when 'I' | 'i' => Editor.Line.Insert (1); when 'J' | 'j' => Editor.Line.Join; when 'K' | 'k' => Editor.Line.Delete_Forward; when 'O' | 'o' => Editor.Line.Open; when 'T' | 't' => Editor.Line.Transpose; when '`' | '~' => Editor.Line.Capitalize; when Delete => Editor.Line.Delete_Backward; when Up => Editor.Cursor.Up; when Down => Editor.Cursor.Down; when others => null; end case; when C_Kp_Multiply => case Key_2 is when Tab | 'E' | 'e' => Editor.Word.End_Of; when ',' | '<' => Editor.Word.Lower_Case; when '.' | '>' => Editor.Word.Upper_Case; when '6' | '^' => Editor.Word.Capitalize; when 'A' | 'a' => Editor.Word.Beginning_Of; when 'B' | 'b' => Editor.Word.Beginning_Of; when 'D' | 'd' => Editor.Word.Delete; when 'K' | 'k' => Editor.Word.Delete_Forward; when 'T' | 't' => Editor.Word.Transpose; when '`' | '~' => Editor.Word.Capitalize; when Delete => Editor.Word.Delete_Backward; when Left => Editor.Word.Previous; when Right => Editor.Word.Next; when others => null; end case; when Kp_Subtract => case Key_2 is when Tab | ')' | '0' | 'E' | ']' | 'e' | '}' => Editor.Macro.Finish; when '(' | '9' | 'A' | '[' | 'a' | '{' => Editor.Macro.Start; when 'B' | 'b' => Editor.Macro.Start; when 'F' | 'f' => Editor.Macro.Bind; when 'H' | 'h' => Editor.Mark.Previous; when 'J' | 'j' => Editor.Mark.Next; when 'M' | 'X' | 'm' | 'x' | Carriage_Return => Editor.Macro.Execute; when 'N' | 'n' => Editor.Mark.Push; when 'P' | 'p' => Editor.Mark.Copy_Top; when 'R' | 'r' => Editor.Mark.Rotate; when 'T' | 't' => Editor.Mark.Swap; when 'U' | 'u' => Editor.Mark.Top; when Delete => Editor.Mark.Delete_Top; when Up => Editor.Mark.Top; when Down => Editor.Mark.Push; when Left => Editor.Mark.Previous; when Right => Editor.Mark.Next; when F4 => Editor.Macro.Bind; when others => null; end case; when F12 => What.Time; when others => null; end case; when Interrupt => case Key_1 is when others => null; end case; end case; end Rational_Access_Commands;
nblk1=2b nid=17 hdr6=2a [0x00] rec0=28 rec1=00 rec2=01 rec3=05e [0x01] rec0=01 rec1=00 rec2=0a rec3=032 [0x02] rec0=15 rec1=00 rec2=1e rec3=04e [0x03] rec0=00 rec1=00 rec2=1a rec3=004 [0x04] rec0=17 rec1=00 rec2=19 rec3=008 [0x05] rec0=14 rec1=00 rec2=02 rec3=05c [0x06] rec0=15 rec1=00 rec2=18 rec3=01e [0x07] rec0=14 rec1=00 rec2=21 rec3=06a [0x08] rec0=17 rec1=00 rec2=16 rec3=036 [0x09] rec0=14 rec1=00 rec2=15 rec3=04a [0x0a] rec0=13 rec1=00 rec2=14 rec3=036 [0x0b] rec0=15 rec1=00 rec2=13 rec3=00a [0x0c] rec0=18 rec1=00 rec2=20 rec3=060 [0x0d] rec0=13 rec1=00 rec2=12 rec3=038 [0x0e] rec0=16 rec1=00 rec2=11 rec3=012 [0x0f] rec0=16 rec1=00 rec2=1f rec3=042 [0x10] rec0=16 rec1=00 rec2=10 rec3=00a [0x11] rec0=15 rec1=00 rec2=0f rec3=06e [0x12] rec0=16 rec1=00 rec2=0e rec3=02e [0x13] rec0=15 rec1=00 rec2=0c rec3=048 [0x14] rec0=1e rec1=00 rec2=0b rec3=000 [0x15] rec0=13 rec1=00 rec2=0a rec3=000 [0x16] rec0=80 rec1=80 rec2=80 rec3=404 [0x17] rec0=04 rec1=04 rec2=04 rec3=020 [0x18] rec0=20 rec1=20 rec2=20 rec3=101 [0x19] rec0=01 rec1=01 rec2=01 rec3=008 [0x1a] rec0=08 rec1=08 rec2=08 rec3=040 [0x1b] rec0=40 rec1=40 rec2=40 rec3=202 [0x1c] rec0=02 rec1=02 rec2=02 rec3=010 [0x1d] rec0=10 rec1=10 rec2=10 rec3=080 [0x1e] rec0=80 rec1=80 rec2=80 rec3=404 [0x1f] rec0=04 rec1=04 rec2=04 rec3=020 [0x20] rec0=20 rec1=20 rec2=20 rec3=101 [0x21] rec0=01 rec1=01 rec2=01 rec3=008 [0x22] rec0=08 rec1=08 rec2=08 rec3=040 [0x23] rec0=40 rec1=40 rec2=40 rec3=202 [0x24] rec0=02 rec1=02 rec2=02 rec3=010 [0x25] rec0=10 rec1=10 rec2=10 rec3=080 [0x26] rec0=80 rec1=80 rec2=80 rec3=404 [0x27] rec0=04 rec1=04 rec2=04 rec3=020 [0x28] rec0=20 rec1=20 rec2=20 rec3=101 [0x29] rec0=01 rec1=01 rec2=01 rec3=008 [0x2a] rec0=08 rec1=08 rec2=08 rec3=040 tail 0x2173916da853b6d251990 0x42a00088462060003 Free Block Chain: 0x17: 0000 00 0d 00 04 80 01 6f 01 02 03 04 05 06 07 08 09 ┆ o ┆ 0xd: 0000 00 09 00 41 00 0b 2d 2d 2f 20 65 6e 64 20 69 66 ┆ A --/ end if┆ 0x9: 0000 00 08 03 fc 80 21 20 20 20 20 20 20 20 20 20 20 ┆ ! ┆ 0x8: 0000 00 07 03 fc 80 0c 27 46 27 20 7c 20 27 66 27 20 ┆ 'F' | 'f' ┆ 0x7: 0000 00 04 03 fc 80 0d 20 27 5b 27 20 7c 20 27 7b 27 ┆ '[' | '{'┆ 0x4: 0000 00 06 00 05 80 02 20 7c 02 20 20 20 20 20 20 20 ┆ | ┆ 0x6: 0000 00 05 03 fc 80 10 20 20 20 20 20 20 77 68 65 6e ┆ when┆ 0x5: 0000 00 03 03 fc 80 1b 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x3: 0000 00 1d 03 fc 00 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x1d: 0000 00 1c 00 1f 80 1c 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x1c: 0000 00 1b 00 27 80 0f 68 65 6e 20 45 73 63 5f 54 69 ┆ ' hen Esc_Ti┆ 0x1b: 0000 00 2b 00 3e 80 02 64 3b 02 00 25 20 20 20 20 20 ┆ + > d; % ┆ 0x2b: 0000 00 2a 00 3f 80 03 73 65 3b 03 00 00 00 00 0d 20 ┆ * ? se; ┆ 0x2a: 0000 00 29 03 fc 80 13 20 20 20 77 68 65 6e 20 45 73 ┆ ) when Es┆ 0x29: 0000 00 28 00 18 80 05 45 3e 22 29 3b 05 00 0d 20 20 ┆ ( E>"); ┆ 0x28: 0000 00 27 00 27 80 24 28 49 6e 5f 50 6c 61 63 65 20 ┆ ' ' $(In_Place ┆ 0x27: 0000 00 26 00 05 80 02 41 43 02 5f 31 20 3d 3e 08 00 ┆ & AC _1 => ┆ 0x26: 0000 00 25 00 06 80 03 65 20 3d 03 2c 05 00 33 20 20 ┆ % e = , 3 ┆ 0x25: 0000 00 24 00 08 00 05 20 20 20 20 20 05 20 3d 3e 09 ┆ $ => ┆ 0x24: 0000 00 23 00 1a 80 17 20 20 20 20 20 20 20 20 20 20 ┆ # ┆ 0x23: 0000 00 22 00 08 80 05 2e 53 65 61 72 05 5f 53 5f 53 ┆ " .Sear _S_S┆ 0x22: 0000 00 00 00 13 80 10 20 20 20 20 20 77 68 65 6e 20 ┆ when ┆