DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 112248 (0x1b678) Types: TextFile Names: »B«
└─⟦6ac9a67ca⟧ Bits:30000548 8mm tape, Rational 1000, access 1_0_1 └─ ⟦78f173837⟧ »DATA« └─⟦687a7d38f⟧ └─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦687a7d38f⟧ └─⟦ac87b4c51⟧ └─⟦this⟧
-- Rational_Access universal keymap -- Keymap Version 1_0_1 11/20/92 -- -- Do not move these comments. with Access_List; with Activity; with Ada; with Cmvc; with Command; with Common; with Compilation; with Debug; with Design_Implementation; with Editor; with Io; with Job; with Library; with Mail; with Menu_Operations; with Operator; with Queue; with Speller; with System_Utilities; with Text; with What; with Rational_Access_Key_Names; procedure Rational_Access_Commands is use Rational_Access_Key_Names; type Intent is (Interrupt, Prompt, Execute); Action : Intent; Key1, Key2, Key3, Key4, Key5, Key6 : Key_Names; begin case Action is when Interrupt => case Key1 is when C_G | Cs_G => Job.Interrupt; when M_G | Ms_G => Job.Kill (0); when others => null; end case; when Prompt => case Key1 is when M_H | Ms_H => case Key2 is when 'c' | 'C' => What.Does (Name => "<CURSOR>"); when others => null; end case; when M_O | Ms_O => case Key2 is when 'f' | 'F' => Editor.Image.Find (Name => ""); when others => null; end case; when F1 | Help => What.Does (Name => "<CURSOR>"); when others => null; end case; when Execute => case Key1 is when S_F1 | S_Help => Editor.Key.Prompt (Key_Code => ""); when F2 => Menu_Operations.File.Open; when S_F2 => Common.Edit; when F3 => Common.Explain; when S_F3 => Common.Clear_Underlining; when F4 => Menu_Operations.Cm.Check_Out; when S_F4 => Menu_Operations.Cm.Check_In; when F5 => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => True); when S_F5 => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when F6 => Common.Create_Command; when S_F6 => Common.Complete; when F7 => Common.Enclosing (In_Place => False, Library => False); when S_F7 => Common.Enclosing (In_Place => True, Library => False); when F8 => Menu_Operations.Compile.Promote; when S_F8 => Menu_Operations.Compile.Demote; when F9 => Common.Format; when S_F9 => Common.Semanticize; --when F10 => -- Reserved for Motif Menu bar when S_F10 => What.Home_Library; when F11 => Menu_Operations.File.New_File; when S_F11 => Common.Object.Insert; when F12 => Editor.Cursor.Next (Prompt => True, Underline => True); when S_F12 => Editor.Cursor.Previous (Prompt => True, Underline => True); -- Item/Operation keys for compatibility with the old way when Object | C_Help => -- C_Help is alternative to C_F1 case Key2 is when '!' | '1' => Common.Expand; 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 'E' | 'e' => Common.Object.Last_Child; 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 Tab => Editor.Char.Tab_To_Comment; when Carriage_Return | S_Carriage_Return => Common.Commit; when Up | S_Up => Common.Object.Previous; when Down | S_Down => Common.Object.Next; when Left | S_Left => Common.Object.Parent; when Right | S_Right => Common.Object.Child; when others => null; end case; when Region => case Key2 is 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' | Begin_Of => 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 'E' | 'e' | End_Key => Editor.Region.End_Of; 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 Delete | S_Delete => Editor.Hold_Stack.Delete_Top; when Up | S_Up => Editor.Hold_Stack.Top; when Down | S_Down => Editor.Hold_Stack.Push; when Left | S_Left => Editor.Hold_Stack.Previous; when Right | S_Right => Editor.Hold_Stack.Next; when others => null; end case; when Window => case Key2 is when '!' | '1' => Editor.Window.Expand; when '.' | '>' => Editor.Window.Expand (-4); when '/' | '?' => Editor.Window.Directory; 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 'E' | 'e' => Editor.Window.End_Of; 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' | Carriage_Return | S_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 Delete | S_Delete => Editor.Window.Join (-1); when Up | S_Up => Editor.Window.Previous; when Down | S_Down => Editor.Window.Next; when Left | S_Left => Editor.Window.Parent; when Right | S_Right => Editor.Window.Child; when others => null; end case; when Image => case Key2 is when 'A' | 'a' | Begin_Of => Editor.Image.Beginning_Of; when 'B' | 'b' => Editor.Image.Beginning_Of; when 'E' | 'e' => Editor.Image.End_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 | S_Up => Editor.Image.Up; when Down | S_Down => Editor.Image.Down; when Left | S_Left => Editor.Image.Left; when Right | S_Right => Editor.Image.Right; when others => null; end case; when Line => case Key2 is when '$' | '4' => Editor.Line.Center; when ',' | '<' => Editor.Line.Lower_Case; when '.' | '>' => Editor.Line.Upper_Case; when '/' | '?' => What.Line; when '6' | '^' => Editor.Line.Capitalize; when 'A' | 'a' | Begin_Of => Editor.Line.Beginning_Of; when 'B' | 'b' => Editor.Line.Beginning_Of; when 'C' | 'c' => Editor.Line.Copy; when 'D' | 'd' => Editor.Line.Delete; when 'E' | 'e' | End_Key => Editor.Line.End_Of; 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 Delete | S_Delete => Editor.Line.Delete_Backward; when others => null; end case; when Word => case Key2 is when ',' | '<' => Editor.Word.Lower_Case; when '.' | '>' => Editor.Word.Upper_Case; when '/' | '?' => Speller.Check_Text (Data => "<TEXT>"); when '6' | '^' => Editor.Word.Capitalize; when 'A' | 'a' | Begin_Of => Editor.Word.Beginning_Of; when 'B' | 'b' => Editor.Word.Beginning_Of; when 'D' | 'd' => Editor.Word.Delete; when 'E' | 'e' => Editor.Word.End_Of; when 'I' | 'i' => Speller.Learn_Word (The_Word => "", Dictionary => 0); when 'J' | 'j' => Editor.Word.Next; when 'K' | 'k' => Editor.Word.Delete_Forward; when 'M' | 'm' => Speller.Check_Image; when 'N' | 'n' => Speller.Explain_Next; when 'R' | 'r' => Speller.Learn_Replacement (The_Word => "", Choice => 1, Dictionary => 0); when 'T' | 't' => Editor.Word.Transpose; when 'W' => Speller.Speller_Window (In_Place => True); when 'X' | 'x' => Speller.Exchange_Word (Choice => 1); when 'w' => Speller.Speller_Window (In_Place => False); when Delete | S_Delete => Editor.Word.Delete_Forward; when C_0 => Speller.Exchange_Word (Choice => 10); when C_1 => Speller.Exchange_Word (Choice => 1); when C_2 => Speller.Exchange_Word (Choice => 2); when C_3 => Speller.Exchange_Word (Choice => 3); when C_4 => Speller.Exchange_Word (Choice => 4); when C_5 => Speller.Exchange_Word (Choice => 5); when C_6 => Speller.Exchange_Word (Choice => 6); when C_7 => Speller.Exchange_Word (Choice => 7); when C_8 => Speller.Exchange_Word (Choice => 8); when C_9 => Speller.Exchange_Word (Choice => 9); when Down | S_Down => Speller.Explain_Next; when Left | S_Left => Editor.Word.Previous; when Right | S_Right => Editor.Word.Next; when C_W | Cs_W => Speller.Speller_Window (In_Place => False); when others => null; end case; when Mark => case Key2 is when '(' | '9' | 'A' | '[' | 'a' | '{' | Begin_Of => Editor.Macro.Start; when ')' | '0' | 'E' | ']' | 'e' | '}' | End_Key => Editor.Macro.Finish; 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 | S_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 | S_Delete | Backspace | S_Backspace => Editor.Mark.Delete_Top; when Up | S_Up => Editor.Mark.Top; when Down | S_Down => Editor.Mark.Push; when Left | S_Left => Editor.Mark.Previous; when Right | S_Right => Editor.Mark.Next; when others => null; end case; -- misc characters. when ' ' | S_Space => Editor.Char.Insert_Character (1, ' '); when C_0 => Editor.Set.Argument_Digit (0); when C_1 => Editor.Set.Argument_Digit (1); when C_2 => Editor.Set.Argument_Digit (2); when C_3 => Editor.Set.Argument_Digit (3); when C_4 => Editor.Set.Argument_Digit (4); when C_5 => Editor.Set.Argument_Digit (5); when C_6 => Editor.Set.Argument_Digit (6); when C_7 => Editor.Set.Argument_Digit (7); when C_8 => Editor.Set.Argument_Digit (8); when C_9 => Editor.Set.Argument_Digit (9); when C_Minus | C_Underline => Editor.Set.Argument_Minus; when M_Minus | M_Underline => Editor.Cursor.Previous (Prompt => False, Underline => True); -- when Cm_Minus | Cm_Underline => -- Editor.Cursor.Previous (Prompt => True, Underline => True); when Carriage_Return | S_Carriage_Return => Editor.Line.Indent; when C_Carriage_Return => Common.Commit; when M_Carriage_Return => Command.Debug; when Up => Editor.Cursor.Up; when S_Up => Editor.Image.Up; when C_Up => Common.Object.Previous; when M_Up => Editor.Cursor.Previous (Prompt => True, Underline => True); when Cm_Up => Editor.Window.Previous; when Down => Editor.Cursor.Down; when S_Down => Editor.Image.Down; when C_Down => Common.Object.Next; when M_Down => Editor.Cursor.Next (Prompt => True, Underline => True); when Cm_Down => Editor.Window.Next; when Left => Editor.Cursor.Left; when S_Left => Editor.Image.Left; when C_Left => Common.Object.Parent; when M_Left => Editor.Word.Previous; when Cm_Left => Common.Enclosing (In_Place => True, Library => False); when Right => Editor.Cursor.Right; when S_Right => Editor.Image.Right; when C_Right => Common.Object.Child; when M_Right => Editor.Word.Next; when Cm_Right => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => False); when Tab | S_Tab => Editor.Char.Tab_Forward; -- when M_Tab => -- Motif defined --Editor.Char.Tab_To_Comment; when Cm_Tab => What.Tabs; when Begin_Of => Editor.Line.Beginning_Of; when S_Begin_Of => Editor.Image.Beginning_Of; when C_Begin_Of => -- what line info Menu_Operations.Dispatch (26); when Cm_Begin_Of => Editor.Window.Beginning_Of; when End_Key => Editor.Line.End_Of; when S_End_Key => Editor.Image.End_Of; when C_End_Key => Text.End_Of_Input; when Cm_End_Key => Editor.Window.End_Of; when Page_Down => Editor.Image.Down; when S_Page_Down => Editor.Image.End_Of; when Page_Up => Editor.Image.Up; when S_Page_Up => Editor.Image.Beginning_Of; when Delete => Editor.Char.Delete_Backward; when Backspace => Editor.Char.Delete_Backward; when S_Delete | S_Backspace => Editor.Region.Delete; when C_Backspace | C_Delete => Editor.Line.Delete_Forward (Repeat => 1); when M_Backspace | M_Delete => Editor.Word.Delete_Backward; when Cm_Delete | Cm_Backspace => Editor.Char.Delete_Spaces; -- Non-Alpha when C_Less_Than | C_Comma => Editor.Window.Expand (Lines => -4); when M_Less_Than | M_Comma => Editor.Word.Lower_Case; when Cm_Less_Than | Cm_Comma => Common.Undo; when C_Greater_Than | C_Period => Editor.Window.Expand (Lines => 4); when M_Greater_Than | M_Period => Editor.Word.Upper_Case; when Cm_Greater_Than | Cm_Period => Common.Redo; when C_Left_Bracket => Editor.Region.Start; when M_Left_Bracket => Editor.Macro.Start; when C_Right_Bracket => Editor.Region.Finish; when M_Right_Bracket => Editor.Macro.Finish; when M_Exclam | M_1 => Common.Expand; when C_Colon | C_Semicolon => Editor.Char.Insert_String (Value => ":="); when Cm_Exclam => Editor.Window.Expand (Lines => 4); when C_At_Sign => Editor.Mark.Push; when C_Left_Paren => Editor.Char.Insert_String (Value => "(" & Ascii.Quotation); when C_Right_Paren => Editor.Char.Insert_String (Value => Ascii.Quotation & ")"); when M_Right_Paren | M_0 => Common.Elide; when Cm_Right_Paren => Editor.Window.Expand (Lines => -4); when C_Plus | C_Equal => Editor.Char.Insert_String (Value => "=>"); when M_Plus | M_Equal => Editor.Cursor.Next (Repeat => 1, Prompt => False, Underline => True); when Cm_Plus | Cm_Equal => Editor.Macro.Bind; when C_Bar => Editor.Char.Insert_String (Value => "--|"); when C_Backslash => Editor.Region.Off; when M_Slash | M_Question => Common.Explain; -- mostly for compatibility when C_Slash | C_Question => Editor.Window.Directory; when C_Quotation | C_Tick => -- differ fromRat Editor.Char.Quote; -- Alphabetic when C_A | Cs_A => Editor.Line.Beginning_Of; when C_B | Cs_B => Editor.Cursor.Backward; when C_C | Cs_C => Menu_Operations.Edit.Copy; when M_C | Ms_C => Common.Create_Command; when Cm_C | Cms_C => Editor.Line.Copy; when C_D | Cs_D => Editor.Char.Delete_Forward; when M_D | Ms_D => Editor.Word.Delete; when Cm_D | Cms_D => Editor.Line.Delete; when C_E | Cs_E => Editor.Line.End_Of; when Cm_E | Cms_E => Editor.Window.Demote; when C_F | Cs_F => Editor.Cursor.Forward; when C_H | Cs_H => Editor.Cursor.Left; when M_J | Ms_J => Editor.Word.Next; when C_J | Cs_J => Editor.Cursor.Right; when C_K | Cs_K => Editor.Line.Delete_Forward; when M_K | Ms_K => Editor.Word.Delete_Forward; when Cm_K | Cms_K => Editor.Window.Delete; when C_L | Cs_L => Editor.Screen.Redraw; when M_L | Ms_L => Editor.Screen.Clear; when C_M | Cs_M => Editor.Mark.Push; when Cm_M | Cms_M => Editor.Mark.Previous; when C_N | Cs_N => Editor.Cursor.Down; when M_N | Ms_N => Editor.Cursor.Next (Prompt => True, Underline => True); when Cm_N | Cms_N => Editor.Window.Next; when C_O | Cs_O => Editor.Line.Open; when Cm_P | Cms_P => Editor.Window.Promote; when C_Q | Cs_Q => Editor.Key.Name; when M_Q | Ms_Q => Editor.Key.Prompt (Key_Code => ""); when C_R | Cs_R => Editor.Search.Previous (Target => "", Wildcard => False); when Cm_R | Cms_R => Editor.Search.Replace_Previous (Target => "", Replacement => "", Repeat => 1, Wildcard => False); when C_S | Cs_S => Editor.Search.Next (Target => "", Wildcard => False); when Cm_S | Cms_S => Editor.Search.Replace_Next (Target => "", Replacement => "", Repeat => 1, Wildcard => False); when C_T | Cs_T => Editor.Char.Transpose; when Cm_T | Cms_T => Editor.Line.Transpose; when M_T | Ms_T => Editor.Word.Transpose; when C_U | Cs_U => Editor.Cursor.Up; when M_U | Ms_U => Editor.Cursor.Previous (Prompt => True, Underline => True); when Cm_U | Cms_U => Editor.Window.Previous; when C_V | Cs_V => Editor.Image.Down; when M_V | Ms_V => Editor.Image.Up; when C_W | Cs_W => Editor.Region.Delete; when C_X | Cs_X => Editor.Set.Designation_Off; when M_X | Ms_X => Editor.Macro.Execute; when C_Y | Cs_Y => Editor.Hold_Stack.Top; when M_Y | Ms_Y => Editor.Hold_Stack.Next; when C_Z | Cs_Z => Editor.Image.Up; -- the next 8 are the left-hand function keys on -- a sun keyboard. Disable them. The top two -- (L1, L2) leave alone as they are mapped to F11, F12 when Props => Editor.Noop; when Undo => Editor.Noop; when Front => Editor.Noop; when Copy => Editor.Noop; when Open => Editor.Noop; when Paste => Editor.Noop; when Find => Editor.Noop; when Cut => Editor.Noop; when M_2 | M_At_Sign => case Key2 is when 'C' | 'c' => Editor.Char.Insert_String ("--| @COMPONENT_KIND "); when 'D' | 'd' => Editor.Char.Insert_String ("--| @DECOMPOSITION "); when 'N' | 'n' => Editor.Char.Insert_String ("--| @NOTE "); when 'R' | 'r' => case Key3 is when 'A' | 'a' => Editor.Char.Insert_String ("--| @RAISES "); when 'F' | 'f' => Editor.Char.Insert_String ("--| @REQUIREMENT FUNCTION "); when 'I' | 'i' => Editor.Char.Insert_String ("--| @REQUIREMENT INTERFACE "); when 'S' | 's' => Editor.Char.Insert_String ("--| @REQUIREMENT SUBFUNCTION "); when others => null; end case; when 'S' | 's' => Editor.Char.Insert_String ("--| @STATES ("); when M_2 | M_At_Sign => Editor.Char.Insert_String ("--| @"); when others => null; end case; when M_6 | M_Circumflex => Editor.Word.Capitalize (Repeat => 1); --------------- -- Menu maps -- --------------- when M_B | Ms_B => -- debug menu case Key2 is when 's' | 'S' => Command.Debug; when 'w' | 'W' => Debug.Current_Debugger; when 'f' | 'F' => Debug.Debug_Off (True); when 'd' | 'D' => Debug.Debug_Off (False); when 'p' | 'P' => -- bring up the palette ... case Key3 is -- debug palette stuff when 'a' | 'A' => Debug.Execute (Name => "all"); when 'b' | 'B' => -- breakpoint frame case Key4 is when 'a' | 'A' => -- Activate all breaks Debug.Activate (Breakpoint => 0); when 'b' | 'B' => -- break here Debug.Break (Location => "<SELECTION>", Stack_Frame => 0, Count => 1, In_Task => "", Default_Lifetime => True); when 'd' | 'D' => -- delete all breaks Debug.Remove (Breakpoint => 0, Delete => True); when 'k' | 'K' => -- break Menu_Operations.Debug.Break; when 't' | 'T' => -- Temp break here Debug.Break (Location => "<SELECTION>", Stack_Frame => 0, Count => 1, In_Task => "", Default_Lifetime => False); when 'v' | 'V' => -- deactivate all breaks Debug.Remove (Breakpoint => 0, Delete => False); when others => null; end case; when 'c' | 'C' => Debug.Execute (Name => ""); when 'd' | 'D' => -- display frame case Key4 is when 'b' | 'B' => -- Show all debugger state Debug.Show (Values_For => Debug.All_State); when 'e' | 'E' => -- Show Execeptions Debug.Show (Values_For => Debug.Exceptions); when 'l' | 'L' => -- Show libraries Debug.Show (Values_For => Debug.Libraries); when others => null; end case; when 'e' | 'E' => Debug.Source (Location => "", Stack_Frame => 0); when 'g' | 'G' => -- tracing frame case Key4 is when 'a' | 'A' => -- Activate all tracing Debug.Trace (On => True, Event => Debug.All_Events, In_Task => "", At_Location => "", Stack_Frame => 0); when 'd' | 'D' => -- Deactivate all tracing Debug.Trace (On => False, Event => Debug.All_Events, In_Task => "", At_Location => "<SELECTION>", Stack_Frame => 0); when 's' | 'S' => -- Show tracing Debug.Show (Values_For => Debug.Traces); when 't' | 'T' => -- trace control Menu_Operations.Dispatch (41); when others => null; end case; when 'i' | 'I' => Debug.Stop (Name => "all"); when 'j' | 'J' => -- debug put... Menu_Operations.Dispatch (40); when 'k' | 'K' => Debug.Stack (For_Task => "", Start => 0, Count => 0); when 'l' | 'L' => Debug.Run (Stop_At => Debug.Local_Statement, Count => 1, In_Task => ""); when 'm' | 'M' => Menu_Operations.Debug.Modify; when 'o' | 'O' => Debug.Stop (Name => ""); when 'q' | 'Q' => -- quit frame case Key4 is when 'd' | 'D' => -- detach Debug.Debug_Off (Kill_Job => False); when 'k' | 'K' => -- kill job being debugged Debug.Debug_Off (Kill_Job => True); when 't' | 'T' => -- terminate debugger Debug.Kill (Job => True, Debugger => True); when others => null; end case; when 'r' | 'R' => Debug.Run (Stop_At => Debug.Returned, Count => 1, In_Task => ""); when 's' | 'S' => Debug.Run (Stop_At => Debug.Statement, Count => 1, In_Task => ""); when 't' | 'T' => -- task / task info frame case Key4 is when 'a' | 'A' => -- Show all tasks Debug.Task_Display (For_Task => "", Task_Set => Debug.All_Tasks); when 'b' | 'B' => -- List blocked tasks Debug.Task_Display (For_Task => "", Task_Set => Debug.Blocked); when 'd' | 'D' => -- List held tasks Debug.Task_Display (For_Task => "", Task_Set => Debug.Held); when 'h' | 'H' => -- Hold all tasks Debug.Hold (Name => "all"); when 'i' | 'I' => -- Show space info - all tasks Debug.Information (Info_Type => Debug.Space, For_Task => "all"); when 'l' | 'L' => -- Release all Debug.Release (Name => "all"); when 'n' | 'N' => -- List tasks not running Debug.Task_Display (For_Task => "", Task_Set => Debug.Not_Running); when 'o' | 'O' => -- Show holds Debug.Show (Values_For => Debug.Stops_And_Holds); when 'p' | 'P' => -- List stopped Debug.Task_Display (For_Task => "", Task_Set => Debug.Stopped); when 't' | 'T' => -- List all tasks Debug.Task_Display (For_Task => "", Task_Set => Debug.All_Tasks); when 'u' | 'U' => -- List running tasks Debug.Task_Display (For_Task => "", Task_Set => Debug.Running); when 'x' | 'X' => -- Show exceptions - all tasks Debug.Information (Info_Type => Debug.Exceptions, For_Task => "all"); when 'z' | 'Z' => -- Show rendezvous info - all tasks Debug.Information (Info_Type => Debug.Rendezvous, For_Task => "all"); when others => null; end case; when 'w' | 'W' => case Key4 is -- target frame when 'a' | 'A' => -- Attach process Debug.Attach_Process (Name => "", Options => ""); when 'c' | 'C' => -- Connect Debug.Connect (Remote_Machine => "", Target => ""); when 'i' | 'I' => -- invoke Menu_Operations.Dispatch (49); when 'r' | 'R' => -- reconnect Debug.Reconnect; when 't' | 'T' => -- target request Menu_Operations.Dispatch (50); when others => null; end case; when 'x' | 'X' => -- Control / Context frame case Key4 is when 'b' | 'B' => -- Enable ... Menu_Operations.Dispatch (52); when 'c' | 'C' => -- Set control context Menu_Operations.Debug. Context_Control; when 'd' | 'D' => -- Disable ... Menu_Operations.Dispatch (53); when 'e' | 'E' => -- Set evaluation context Menu_Operations.Debug. Context_Evaluation; when 'p' | 'P' => -- Clear stepping Debug.Clear_Stepping (For_Task => ""); when 'r' | 'R' => -- Reset to defaults Debug.Reset_Defaults; when 's' | 'S' => -- Show evaluation context Debug.Show (Values_For => Debug.Contexts); when 't' | 'T' => -- debug set ... Menu_Operations.Dispatch (51); when 'w' | 'W' => -- show debug switches Debug.Show (Values_For => Debug.Flags); when others => null; end case; when 'y' | 'Y' => -- memory frame case Key4 is when 'a' | 'A' => -- address to location Menu_Operations.Dispatch (47); when 'd' | 'D' => -- Memory_Display Menu_Operations.Dispatch (54); when 'e' | 'E' => -- exception to name Menu_Operations.Dispatch (48); when 'g' | 'G' => -- Register_Modify Menu_Operations.Dispatch (57); when 'l' | 'L' => -- location to address Menu_Operations.Dispatch (45); when 'o' | 'O' => -- object address Menu_Operations.Dispatch (46); when 'r' | 'R' => -- Register_Display Menu_Operations.Dispatch (55); when 'y' | 'Y' => -- Memory_Modify Menu_Operations.Dispatch (56); when others => null; end case; when 'z' | 'Z' => -- exception frame case Key4 is when 'a' | 'A' => -- Forget all Debug.Forget (Name => "all", In_Task => "", At_Location => ""); when 'c' | 'C' => -- Catch... Menu_Operations.Dispatch (43); when 'f' | 'F' => -- Forget ... Menu_Operations.Dispatch (42); when 'h' | 'H' => -- Catch unlisted Debug.Catch (Name => "<selection>", In_Task => "", At_Location => ""); when 'p' | 'P' => -- Propagate ... Menu_Operations.Dispatch (44); when 'u' | 'U' => -- Propagate unlisted Debug.Propagate (Name => "", In_Task => "", At_Location => ""); when others => null; end case; when others => null; end case; when others => null; end case; when M_P | Ms_P => -- Program/Compilation menu case Key2 is when 'f' | 'F' => Common.Format; when 'm' | 'M' => Common.Complete; when 'z' | 'Z' => Common.Semanticize; when 'p' | 'P' => Menu_Operations.Compile.Promote; when 'c' | 'C' => Menu_Operations.Dispatch (20); when M_C | Ms_C => -- Menu_Operations.Compile.Code; -- JustDoIt Mode Menu_Operations.Dispatch (113); when 'i' | 'I' => Menu_Operations.Dispatch (21); when M_I | Ms_I => -- Menu_Operations.Compile.Install; -- JustDoIt Mode Menu_Operations.Dispatch (114); when 's' | 'S' => --Menu_Operations.Compile.Source; Menu_Operations.Dispatch (22); when M_S | Ms_S => -- Menu_Operations.Compile.Source; -- JustDoIt Mode Menu_Operations.Dispatch (115); when 'd' | 'D' => Menu_Operations.Compile.Demote; when 'e' | 'E' => --Menu_Operations.Compile.Install; Menu_Operations.Dispatch (23); when M_E | Ms_E => -- Menu_Operations.Compile.Install; -- JustDoIt Mode Menu_Operations.Dispatch (116); when 'o' | 'O' => --Menu_Operations.Compile.Source; Menu_Operations.Dispatch (24); when M_O | Ms_O => -- Menu_Operations.Compile.Source; -- JustDoIt Mode Menu_Operations.Dispatch (117); when 't' | 'T' => --Menu_Operations.Compile.Archive; Menu_Operations.Dispatch (25); when M_T | Ms_T => -- Menu_Operations.Compile.Archive; -- JustDoIt Mode Menu_Operations.Dispatch (118); when 'n' | 'N' => case Key3 is when 'i' | 'I' => -- compile incrementatl insert Menu_Operations.Dispatch (2); when 'e' | 'E' => -- compile incremental edit Menu_Operations.Dispatch (3); when 'd' | 'D' => -- compile incremental dispatch Menu_Operations.Dispatch (4); when 'p' | 'P' => -- compile incremental promote Menu_Operations.Dispatch (5); when others => null; end case; when 'u' | 'U' => Menu_Operations.Compile.Show_Usage; when 'w' | 'W' => Menu_Operations.Compile.Show_Unused; when 'b' | 'B' => case Key3 is when 'l' | 'L' => Menu_Operations.Compile.Load; when 'f' | 'F' => Menu_Operations.Compile.Parse; when 'p' | 'P' => Menu_Operations.Compile.Build_Private_Part; when 'b' | 'B' => Menu_Operations.Compile.Build_Body; when 's' | 'S' => Menu_Operations.Compile.Make_Separate; when 'i' | 'I' => Menu_Operations.Compile.Make_Inline; when 'w' | 'W' => Ada.Withdraw; when others => null; end case; when 'l' | 'L' => Menu_Operations.Compile.Options; when others => null; end case; when M_E | Ms_E => -- edit menu case Key2 is when 'a' | 'A' => -- add entry... Common.Object.Insert; when 'c' | 'C' => Editor.Hold_Stack.Push; when 'd' | 'D' => -- delete entry... Common.Object.Delete; when 'e' | 'E' => -- edit entry... Menu_Operations.Dispatch (17); when 'f' | 'F' => -- fill... Menu_Operations.Region.Fill; when 'j' | 'J' => -- justify... Menu_Operations.Region.Justify; when 'l' | 'L' => -- deselect... Editor.Set.Designation_Off; when 'm' | 'M' => Menu_Operations.Region.Make_Comment; when 'n' | 'N' => Menu_Operations.Edit.Underlines_Off; when 'o' | 'O' => Menu_Operations.Region.Uncomment; when 'p' | 'P' => Editor.Hold_Stack.Top; when 'r' | 'R' => -- search/replace... Menu_Operations.Dispatch (18); when 's' | 'S' => -- spelling... case Key3 is when 'w' | 'W' => Speller.Check_Text; when 'i' | 'I' => Speller.Check_Image; when 'r' | 'R' => Speller.Exchange_Word; when 'a' | 'A' => Speller.Learn_Word; when 'l' | 'L' => Speller.Learn_Replacement (The_Word => "", Choice => 1, Dictionary => 0); when 'n' | 'N' => Speller.Explain_Next; when others => null; end case; when 't' | 'T' => Editor.Region.Delete; when 'u' | 'U' => Menu_Operations.Region.Uppercase; when 'w' | 'W' => Menu_Operations.Region.Lowercase; when 'y' | 'Y' => -- Typing Modes... Menu_Operations.Dispatch (16); when 'z' | 'Z' => Menu_Operations.Region.Capitalize; when others => null; end case; when M_F | Ms_F => -- File menu case Key2 is when 'n' | 'N' => case Key3 is when 'f' | 'F' => Menu_Operations.File.New_File; when 'a' | 'A' => Menu_Operations.File.New_Ada; when 'w' | 'W' => Menu_Operations.File.New_World; when 'd' | 'D' => Menu_Operations.File.New_Directory; when 's' | 'S' => Menu_Operations.File.New_Subsystem; when 'v' | 'V' => Menu_Operations.File.New_Working_View; when 'p' | 'P' => Menu_Operations.File.New_Spec_View; when 'r' | 'R' => Menu_Operations.File.New_Release_View; when 'c' | 'C' => Menu_Operations.File.New_Code_View; when 't' | 'T' => Menu_Operations.File.New_Switch_File; when 'y' | 'Y' => Menu_Operations.File.New_Activity; when 'm' | 'M' => Menu_Operations.File.New_Mailbox; when 'u' | 'U' => Menu_Operations.File.New_Venture; when 'o' | 'O' => Menu_Operations.File.New_Work_Order; when 'l' | 'L' => Menu_Operations.File.New_Work_Order_List; when 'e' | 'E' => Menu_Operations.File.New_System; when others => null; end case; when 'o' | 'O' => Menu_Operations.File.Open; when 'b' | 'B' => -- file browse Menu_Operations.Dispatch (1); when 'c' | 'C' => Menu_Operations.File.Close; when 's' | 'S' => Menu_Operations.File.Save; when 'v' | 'V' => Menu_Operations.File.Revert; when 'p' | 'P' => Menu_Operations.File.Print; when M_P | Ms_P => Menu_Operations.Dispatch (110); -- JustDoIt mode when 't' | 'T' => Menu_Operations.File.Properties; when 'y' | 'Y' => Menu_Operations.File.Copy; when 'm' | 'M' => Menu_Operations.File.Move; when 'd' | 'D' => Menu_Operations.File.Delete; when 'i' | 'I' => Menu_Operations.Edit.Insert_File; when 'r' | 'R' => Menu_Operations.File.Run; when 'e' | 'E' => -- windows quit null; when 'q' | 'Q' => -- for S_F2 on F key palette Common.Edit; when others => null; end case; when M_H | Ms_H => -- Help menu case Key2 is when 'u' | 'U' => Menu_Operations.Help.Explain_Underline; when 'k' | 'K' => Editor.Key.Name (Key_Code => ""); when 'h' | 'H' => Menu_Operations.Help.On_Help; when others => null; end case; when M_M | Ms_M => -- CM menu case Key2 is when 'o' | 'O' => Menu_Operations.Cm.Check_Out; when M_O | Ms_O => Menu_Operations.Dispatch (111); -- JustDoIt Mode when 'i' | 'I' => Menu_Operations.Cm.Check_In; when M_I | Ms_I => Menu_Operations.Dispatch (112); -- JustDoIt Mode when 'b' | 'B' => Menu_Operations.Cm.Abandon; when 'a' | 'A' => Menu_Operations.Cm.Accept_Changes; when M_A | Ms_A => Menu_Operations.Dispatch (119); -- JustDoIt Mode when 'j' | 'J' => Menu_Operations.Cm.Join; when 's' | 'S' => Menu_Operations.Cm.Sever; when 'm' | 'M' => Menu_Operations.Cm.Imports; when 'e' | 'E' => Menu_Operations.Cm.Properties; when 'c' | 'C' => -- cm control Menu_Operations.Dispatch (7); when 'g' | 'G' => -- cm revert Menu_Operations.Dispatch (8); when 'r' | 'R' => -- report... case Key3 is when 'c' | 'C' => Cmvc.Show_All_Controlled (In_View => "<CURSOR>"); when 'u' | 'U' => Cmvc.Show_All_Uncontrolled (In_View => "<CURSOR>"); when 'd' | 'D' => Cmvc.Show_Out_Of_Date_Objects; when 'o' | 'O' => Cmvc.Show_All_Checked_Out; when 'i' | 'I' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => False, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => True, Show_Referencers => False, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => False, Response => "<PROFILE>"); when 'r' | 'R' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => False, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => False, Show_Referencers => True, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => False, Response => "<PROFILE>"); when 'e' | 'E' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => False, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => False, Show_Referencers => False, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => True, Response => "<PROFILE>"); when 'm' | 'M' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => True, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => False, Show_Referencers => False, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => False, Response => "<PROFILE>"); when 'h' | 'H' => -- history box Menu_Operations.Dispatch (6); when others => null; end case; when 't' | 'T' => Activity.Edit; when others => null; end case; when M_O | Ms_O => -- Tools menu case Key2 is when 'c' | 'C' => case Key3 is when 'b' | 'B' => Editor.Macro.Start; when 'e' | 'E' => Editor.Macro.Finish; when 'x' | 'X' => Editor.Macro.Execute; when 'k' | 'K' => Editor.Macro.Bind (Key => ""); when others => null; end case; when 'd' | 'D' => -- RDF menu case Key3 is when 'd' | 'D' => -- Pdl Definition Menu_Operations.Dispatch (70); when 'e' | 'E' => -- Pdl Enclosing Menu_Operations.Dispatch (71); when 'u' | 'U' => -- Pdl Show User Menu_Operations.Dispatch (72); when 'x' | 'X' => -- Pdl Explain Menu_Operations.Dispatch (73); when 'c' | 'C' => --Pdl Complete Menu_Operations.Dispatch (74); when 'a' | 'A' => -- Pdl Complete Optional Menu_Operations.Dispatch (75); when 'k' | 'K' => -- Target Key/Phase... Menu_Operations.Dispatch (76); when 'g' | 'G' => -- Generate Document... Menu_Operations.Dispatch (77); when 'i' | 'I' => -- Display Hierarchy... Menu_Operations.Dispatch (78); when 'h' | 'H' => -- Check Consistency... Menu_Operations.Dispatch (79); when 'm' | 'M' => -- Component Hierarchy... Menu_Operations.Dispatch (80); when 'n' | 'N' => -- New 2167A Component... Menu_Operations.Dispatch (81); when others => null; end case; when 'f' | 'F' => case Key3 is when 'n' | 'N' => What.Object; when 's' | 'S' | 'l' | 'L' => Menu_Operations.Tools.Show_Locks; when others => null; end case; when 'i' | 'I' => -- insight submenu case Key3 is when 'i' | 'I' => -- insight invoke Menu_Operations.Dispatch (60); when 'c' | 'C' => -- insight create Menu_Operations.Dispatch (61); when 'd' | 'D' => -- insight delete Menu_Operations.Dispatch (62); when 'p' | 'P' => -- insight print Menu_Operations.Dispatch (63); when others => null; end case; when 'm' | 'M' => case Key3 is when 'r' | 'R' => Menu_Operations.Tools.Read_Mail; when 'n' | 'N' => Mail.Send; when 's' | 'S' => Common.Promote; when 'p' | 'P' => Mail.Reply (To_All => False); when 'a' | 'A' => Mail.Reply (To_All => True); when 'f' | 'F' => Mail.Forward; when 'm' | 'M' => Mail.Remail; when 'd' | 'D' => Common.Object.Delete; when 'u' | 'U' => Common.Undo; when 'c' | 'C' => Common.Semanticize; when 'e' | 'E' => Mail.Expunge; when 't' | 'T' => -- mail sorting options... Menu_Operations.Dispatch (14); when others => null; end case; when 'o' | 'O' => case Key3 is when 'b' | 'B' => Menu_Operations.Tools.Operator_Backup; when 'v' | 'V' => Menu_Operations.Tools. Operator_Verify_Backup; when 'h' | 'H' => Menu_Operations.Tools. Operator_Backup_History; when 'u' | 'U' => Menu_Operations.Tools.Operator_Edit_User; when 'g' | 'G' => Menu_Operations.Tools.Operator_Edit_Group; when 'f' | 'F' => Menu_Operations.Tools.Operator_Force_Logoff; when 'r' | 'R' => Menu_Operations.Tools.System_Manager_Report; when 's' | 'S' => Menu_Operations.Tools. System_Manager_Shutdown; when 'c' | 'C' => Menu_Operations.Tools. System_Manager_Cancel_Shutdown; when others => null; end case; when 'p' | 'P' => -- RPI menu case Key3 is when 'p' | 'P' => -- RPI put changes Menu_Operations.Dispatch (90); when 'a' | 'A' => -- RPI accept changes Menu_Operations.Dispatch (91); when 'o' | 'O' => -- show out of date Menu_Operations.Dispatch (92); when 'e' | 'E' => case Key4 is when 'd' | 'D' => -- create doc gateway Menu_Operations.Dispatch (93); when 'v' | 'V' => -- create view gateway Menu_Operations.Dispatch (94); when 'f' | 'F' => -- create file gateway Menu_Operations.Dispatch (95); when 'g' | 'G' => -- create graphic gateway Menu_Operations.Dispatch (96); when others => null; end case; when 'c' | 'C' => -- RPI connect Menu_Operations.Dispatch (97); when 'd' | 'D' => -- RPI disconnect Menu_Operations.Dispatch (98); when 'v' | 'V' => -- Save archive Menu_Operations.Dispatch (99); when 'r' | 'R' => -- Restore archive Menu_Operations.Dispatch (100); when others => null; end case; when 's' | 'S' => case Key3 is when 'u' | 'U' => Menu_Operations.Session.Users; when 'd' | 'D' => Operator.Disk_Space; when 'c' | 'C' => Menu_Operations.Session.Machine_Information; when 's' | 'S' => What.Load; when others => null; end case; when 't' | 'T' => -- RTI menu case Key3 is when 'm' | 'M' => -- Import model Menu_Operations.Dispatch (120); when 'a' | 'A' => -- RTI accept changes Menu_Operations.Dispatch (121); when 'p' | 'P' => -- Prepare document Menu_Operations.Dispatch (122); when 's' | 'S' => -- show out of date Menu_Operations.Dispatch (123); when 'b' | 'B' => -- Baseline model Menu_Operations.Dispatch (124); when 'i' | 'I' => -- Increment Model Menu_Operations.Dispatch (125); when 'd' | 'D' => -- Destroy model Menu_Operations.Dispatch (126); when 'o' | 'O' => -- Options Menu_Operations.Dispatch (127); when others => null; end case; when others => null; end case; when M_S | Ms_S => -- session menu case Key2 is when 'p' | 'P' => Menu_Operations.Session.Profile; when 'l' | 'L' => Menu_Operations.Session.Search_List; when 's' | 'S' => Menu_Operations.Session.Switches; when 'j' | 'J' => case Key3 is when 'j' | 'J' => What.Users (False); when 'a' | 'A' => What.Users (True); when 'd' | 'D' => Menu_Operations.Session.Disable_Job; when 'e' | 'E' => Menu_Operations.Session.Enable_Job; when 'k' | 'K' => Menu_Operations.Session.Kill_Job; when 'c' | 'C' => -- job.connect Menu_Operations.Dispatch (15); when others => null; end case; when 'e' | 'E' => Menu_Operations.Session.End_Of_Input; when 'n' | 'N' => case Key3 is when 'h' | 'H' => Menu_Operations.Tools.Screen_Push; when 'p' | 'P' => Menu_Operations.Tools.Screen_Pop; when 'w' | 'W' => -- set window frames Menu_Operations.Dispatch (13); when others => null; end case; when others => null; end case; when M_I | Ms_I => -- Navigate menu case Key2 is when 'n' | 'N' => Editor.Cursor.Next (Repeat => 1, Prompt => False, Underline => True); when 'p' | 'P' => Editor.Cursor.Previous (Repeat => 1, Prompt => False, Underline => True); when 'i' | 'I' => Menu_Operations.Traverse.Previous_Item; when 'm' | 'M' => Menu_Operations.Traverse.Next_Item; when 'd' | 'D' => Menu_Operations.Traverse.Definition; when 'e' | 'E' => Menu_Operations.Traverse.Enclosing; when 't' | 'T' => Menu_Operations.Region.Beginning_Of; when 'b' | 'B' => Menu_Operations.Region.End_Of; when 'o' | 'O' => Menu_Operations.Traverse.Other_Part; when 'h' | 'H' => Menu_Operations.Traverse.Home_Library; when 'r' | 'R' => Menu_Operations.Traverse.Resolve_Name; when others => null; end case; -- Window panel buttons and other functions when Menu_Pick => case Key2 is when 'b' => case Key3 is when 'a' => Editor.Window.Demote; when 'b' => Editor.Window.Delete; when 'c' => Editor.Image.End_Of; when 'd' => Editor.Window.Join (Repeat => 99); when 'e' => Editor.Image.Beginning_Of; when 'f' => Menu_Operations.Dispatch (19); -- Editor.Window.Promote; -- want to do this twice to ensure that the -- window is locked... when 'g' => Editor.Image.Left; when 'h' => Editor.Image.Right; when 'i' => Editor.Window.Copy; when 'j' => Editor.Window.Join; when 'k' => Editor.Window.Join (-1); when 'l' => Editor.Window.Expand; when 'm' => Editor.Window.Expand (-4); when 'n' => Editor.Window.Focus; when 'o' => Editor.Image.Down; when 'p' => Editor.Image.Up; when 'q' => -- dialog box completion Menu_Operations.Click_Ok; when others => null; end case; when 'c' => case Key3 is when 'a' => Menu_Operations.Load_Image_Palette; when 'b' => -- get version info Menu_Operations.Dispatch (9); when others => null; end case; when 'q' => case Key3 is when 'r' | 'R' => -- for F? bar support Menu_Operations.Dispatch (12); when 'p' | 'P' => Editor.Key.Prompt (Key_Code => ""); when 'd' | 'D' => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when 'c' | 'C' => Common.Create_Command; when 'e' | 'E' => Common.Enclosing (In_Place => True, Library => False); when others => null; end case; when 'w' => case Key3 is when '!' => Editor.Window.Expand; when '>' => Editor.Window.Expand (-4); when '?' => Editor.Window.Directory; when 'b' => Editor.Window.Beginning_Of; when 'c' => Editor.Window.Copy; when 'd' => Editor.Window.Delete; when 'e' => Editor.Window.End_Of; when 'f' => Editor.Window.Focus; when 'h' => Common.Enclosing (In_Place => False, Library => False); when 'j' => Editor.Window.Join (1); when 'm' => Editor.Window.Promote; when 'n' => Editor.Window.Next; when 'o' => Editor.Window.Join (-1); when 't' => Editor.Window.Transpose; when 'u' => Editor.Window.Previous; when 'v' => Editor.Window.Child; when 'y' => Editor.Window.Demote; when 'l' => Editor.Window.Parent; when others => null; end case; when 'i' => case Key3 is when 'b' => Editor.Image.Beginning_Of; when 'e' => Editor.Image.End_Of; when 'f' => Editor.Set.Fill_Mode (True); when 'h' => Editor.Image.Left; when 'i' => Editor.Set.Insert_Mode (True); when 'j' => Editor.Image.Right; when 'n' => Editor.Image.Down; when 'o' => Editor.Set.Insert_Mode (False); when 'u' => Editor.Image.Up; when 'x' => Editor.Set.Fill_Mode (False); when others => null; end case; when 'l' => case Key3 is when '$' => Editor.Line.Center; when '<' => Editor.Line.Lower_Case; when '>' => Editor.Line.Upper_Case; when '?' => What.Line; when '^' => Editor.Line.Capitalize; when 'b' => Editor.Line.Beginning_Of; when 'c' => Editor.Line.Copy; when 'd' => Editor.Line.Delete; when 'e' => Editor.Line.End_Of; when 'i' => Editor.Line.Insert (1); when 'j' => Editor.Line.Join; when 'k' => Editor.Line.Delete_Forward; when 'o' => Editor.Line.Open; when 't' => Editor.Line.Transpose; when 'x' => Editor.Line.Delete_Backward; when others => null; end case; when 'm' => case Key3 is when 'a' => Editor.Macro.Start; when 'e' => Editor.Macro.Finish; when 'f' => Editor.Macro.Bind; when 'h' => Editor.Mark.Previous; when 'j' => Editor.Mark.Next; when 'x' => Editor.Macro.Execute; when 'n' => Editor.Mark.Push; when 'p' => Editor.Mark.Copy_Top; when 'r' => Editor.Mark.Rotate; when 't' => Editor.Mark.Swap; when 'u' => Editor.Mark.Top; when 'o' => Editor.Mark.Delete_Top; when others => null; end case; when 'o' => case Key3 is when '!' => Common.Expand; when '>' => Common.Elide; when '?' => Common.Explain; when 'c' => Common.Object.Copy; when 'd' => Common.Object.Delete; when 'e' => Common.Object.Last_Child; when 'g' => Common.Abandon; when 'h' => Common.Object.Parent; when 'i' => Common.Object.Insert; when 'j' => Common.Object.Child; when 'm' => Common.Object.Move; when 'n' => Common.Object.Next; when 'r' => Common.Redo; when 's' => Common.Sort_Image; when 'u' => Common.Undo; when 'x' => Common.Release; when 't' => Editor.Char.Tab_To_Comment; when 'f' => Common.Commit; when 'p' => Common.Object.Previous; when others => null; end case; when 'r' => case Key3 is when '^' => Editor.Region.Capitalize; when '[' => Editor.Region.Start; when ']' => Editor.Region.Finish; when '+' => Editor.Region.Uncomment; when '<' => Editor.Region.Lower_Case; when '-' => Editor.Region.Comment; when '>' => Editor.Region.Upper_Case; when 'b' => Editor.Region.Beginning_Of; when 'c' => Editor.Region.Copy; when 'd' => Editor.Region.Delete; when 'e' => Editor.Region.End_Of; when 'f' => Editor.Region.Fill; when 'h' => Editor.Hold_Stack.Previous; when 'j' => Editor.Hold_Stack.Next; when 'm' => Editor.Region.Move; when 'n' => Editor.Hold_Stack.Push; when 'p' => Editor.Hold_Stack.Copy_Top; when 'q' => Editor.Region.Justify; when 'r' => Editor.Hold_Stack.Rotate; when 't' => Editor.Hold_Stack.Swap; when 'u' => Editor.Hold_Stack.Top; when 'x' => Editor.Region.Off; when 'z' => Editor.Hold_Stack.Delete_Top; when others => null; end case; when 'd' => case Key3 is when '<' => Editor.Word.Lower_Case; when '>' => Editor.Word.Upper_Case; when '?' => Speller.Check_Text (Data => "<TEXT>"); when '^' => Editor.Word.Capitalize; when 'b' => Editor.Word.Beginning_Of; when 'd' => Editor.Word.Delete; when 'e' => Editor.Word.End_Of; when 'i' => Speller.Learn_Word (The_Word => "", Dictionary => 0); when 'j' => Editor.Word.Next; when 'k' => Editor.Word.Delete_Forward; when 'm' => Speller.Check_Image; when 'n' => Speller.Explain_Next; when 'r' => Speller.Learn_Replacement (The_Word => "", Choice => 1, Dictionary => 0); when 't' => Editor.Word.Transpose; when 'W' => Speller.Speller_Window (In_Place => True); when 'x' => Speller.Exchange_Word (Choice => 1); when 'w' => Speller.Speller_Window (In_Place => False); when 'z' => Editor.Word.Delete_Forward; when others => null; end case; when others => null; end case; -- Mouse button mapping when Mouse_Down => Editor.Screen.Down; when Mouse_Right => Editor.Screen.Right; when Mouse_Image_Down => Editor.Image.Down; when Mouse_Image_Right => Editor.Image.Right; when Mouse_Button1 => Editor.Set.Input_Logging_Off; when Mouse_Button1_Dbl => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => True); -- when Mouse_Button2_Dbl => -- Common.Object.Parent (Repeat => 1); when Mouse_Button3 => Editor.Noop; when Mouse_Button3_Dbl => Common.Enclosing (In_Place => False, Library => False); when Mouse_Button4_Dbl => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when Mouse_Button6_Dbl => Common.Enclosing (In_Place => True, Library => False); when Mouse_Button7 => Editor.Region.Start; when Mouse_Button7_Up => Editor.Region.Finish; when Mouse_Button7_Dbl => Common.Object.Parent (Repeat => 1); when Mouse_Button8 => Editor.Region.Copy; when Mouse_Button9 => Editor.Region.Finish; when Mouse_Button9_Dbl => Common.Object.Child (Repeat => 1); when Mouse_Minus => Editor.Set.Argument_Minus; when Mouse_0 => Editor.Set.Argument_Digit (Argument => 0); when Mouse_1 => Editor.Set.Argument_Digit (Argument => 1); when Mouse_2 => Editor.Set.Argument_Digit (Argument => 2); when Mouse_3 => Editor.Set.Argument_Digit (Argument => 3); when Mouse_4 => Editor.Set.Argument_Digit (Argument => 4); when Mouse_5 => Editor.Set.Argument_Digit (Argument => 5); when Mouse_6 => Editor.Set.Argument_Digit (Argument => 6); when Mouse_7 => Editor.Set.Argument_Digit (Argument => 7); when Mouse_8 => Editor.Set.Argument_Digit (Argument => 8); when Mouse_9 => Editor.Set.Argument_Digit (Argument => 9); when Menu_Return => Editor.Line.Insert (1); when X_No_Op => Editor.Noop; when X_Screen_Height => Editor.Screen.Set_Lines (24); when X_Screen_Width => Editor.Screen.Set_Columns (80); when others => null; end case; end case; end Rational_Access_Commands;