COMPILATION LISTING OF SEGMENT xforum_personalize_menu Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/06/87 1020.3 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 6* * * 7* *********************************************************** */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(85-01-14,Davids), approve(86-02-04,MCR7350), 11* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 12* Written. 13* 14* 85-01-28 Davids: Added handlinf of F3 (previous menu) and 15* corrected initial values for FK_**2 which where wrong. 16* 17* 85-02-13 Davids: Renamed module to xforum_personalize_menu 18* 19* 85-02-13 Davids: Changed calling sequence of 20* xforum_help_line_$change and $push to include the new F3_message 21* argument. 22* 23* 85-02-14 Davids: Modified so that after the call to xforum_help_ 24* the status windows is reset and the menu window resizxed and menu 25* redisplayed. This is needed because The call to help could have 26* resulted in the general help topics menu being displayed in the 27* menu window. 28* 29* 85-04-22 Davids: Added a "0"b paramater to the call of the 30* xforum_im_mgr$restor_origial entry. 31* 2) change(87-04-07,LJAdams), approve(87-04-22,MCR7684), 32* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 33* Added call to xforum_user_profile$set_user_fk_value to save user set value 34* (function or escape). 35* 3) change(87-04-09,LJAdams), approve(87-04-22,MCR7684), 36* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 37* Get wakeup state for msgs from xforum_im_mgr (state can be UNSET, ACCEPT, 38* or DEFER). 39* END HISTORY COMMENTS */ 40 41 xforum_personalize_menu: proc (xp_spy_ptr, xp_xforum_system_area_ptr); 42 43 /* 44* BEGIN DESCTIPTION 45* 46* function: 47* This module creates, displays, and destroys the Personalize Executive 48* Forum menu. Based on the options selected by the user calls are made to 49* the xforum_user_profile module to record the personaliztion choices of 50* the user. 51* 52* description of entry points: 53* xforum_personalize_menu: This entry manages the creation, display, and 54* destruction of the personalization menu. It also contains the loop which 55* displays the menu and gets a user choice. The function keys implemented 56* are HELP, FIRST_MENU, QUIT, REDISPLAY, and MULTICS. The internal 57* procedure personalize_item is called if the user selects a choice off of 58* the menu. Condition handlers for quit, and xforum_redisplay and also 59* set up. This entry also assigns entry values into the two arrays that 60* correspond to xforum_user_profile$get and $set entries. 61* Before returning to its caller this entry also destroys the menu and 62* call xforum_user_profile$update_profile to record the changes made by the 63* user so they will be around in new processes. 64* 65* description of internal procedures: 66* personalize_item: This internal procedure clears the user_io window, 67* outputs the current state of the option the user selected. Gives the 68* instructions for what kind of input is required, gets the input, and 69* checks to be sure it is legal. If it is a help query (?) a call is 70* made to xforum_help_. If its one of the choices a call is made to set 71* the appropriate choice. If the call is successful a confirmation message 72* is output. If the call is not successful nothing is output, it is 73* assumed that xforum_user_profile output an appropriate message. All 74* text messages, the text of the choices, confirmation messages, etc. are 75* stored as internal static option constant arrays where the index of the 76* array and the index of the menu option selected are the same. 77* This procedure also handles the special actions that may need to be done 78* for each choice. This procedure also has a quit condition handler so that 79* if quit is "selected" the user still gets a confirmation message 80* describing the current state of the option that he selected. 81* Note that the user does not have to enter the full text of an option 82* choice, the first letter of the input is tested. 83* 84* collect_spy_data: This procedure records the user choices from the 85* personalization menu and whether quit was hit while in the menu or while 86* changiong the state of an option. 87* END DESCRIPTION 88**/ 89 90 /* PARAMETERS */ 91 92 dcl xp_spy_ptr ptr; /* (input) */ 93 dcl xp_xforum_system_area_ptr ptr; /* (input) */ 94 95 /* EXTERNAL STATIC */ 96 97 dcl iox_$user_io ptr ext static; 98 99 /* ENTRIES */ 100 101 dcl com_err_ entry () options (variable); 102 dcl ioa_ entry () options (variable); 103 dcl window_$bell entry (ptr, fixed bin (35)); 104 dcl window_$clear_window entry (ptr, fixed bin (35)); 105 dcl xforum_create_menu_ entry ((*) char (*) var, ptr, ptr, fixed bin (35)); 106 dcl xforum_get_str_ entry (char(*) var, ptr, char(*), char(*), char(*) var, fixed bin(35)); 107 dcl xforum_help_$get_help entry (ptr, char (*), (*) char (*) var, ptr, ptr); 108 dcl xforum_help_line_$change entry (bit(8), char(*), char(*), char(*)); 109 dcl xforum_help_line_$pop entry options (variable); 110 dcl xforum_help_line_$push entry (bit(8), char(*), char(*), char(*)); 111 dcl xforum_im_mgr$get_wakeup_state entry () returns (fixed bin (2)); 112 dcl xforum_im_mgr$defer_messages entry (); 113 dcl xforum_im_mgr$restore_original entry (bit(1) aligned); 114 dcl xforum_multics_mode entry (fixed bin); 115 dcl xforum_user_profile$get_handle_interactive_messages entry () returns (bit (1)); 116 dcl xforum_user_profile$set_handle_interactive_messages entry (bit (1)) returns (bit (1)); 117 dcl xforum_user_profile$get_multics_mode entry () returns (bit (1)); 118 dcl xforum_user_profile$set_multics_mode entry (bit (1)) returns (bit (1)); 119 dcl xforum_user_profile$get_menu_always entry () returns (bit (1)); 120 dcl xforum_user_profile$set_menu_always entry (bit (1)) returns (bit (1)); 121 dcl xforum_user_profile$get_read_comments_by_subject entry () returns (bit (1)); 122 dcl xforum_user_profile$set_read_comments_by_subject entry (bit (1)) returns (bit (1)); 123 dcl xforum_user_profile$get_use_function_keys entry () returns (bit (1)); 124 dcl xforum_user_profile$set_use_function_keys entry (bit (1)) returns (bit (1)); 125 dcl xforum_user_profile$set_user_fk_value entry (fixed bin (2)); 126 dcl xforum_user_profile$get_user_fk_value entry returns (fixed bin (2)); 127 dcl xforum_user_profile$valid_user_fk_FUNCTION entry returns (bit (1)); 128 dcl xforum_user_profile$get_remove_menu_while_editing entry () returns (bit (1)); 129 dcl xforum_user_profile$set_remove_menu_while_editing entry (bit (1)) returns (bit (1)); 130 dcl xforum_user_profile$update_profile entry options (variable); 131 dcl xforum_redisplay_ entry options (variable); 132 dcl xforum_status_$redisplay entry (fixed bin (35)); 133 dcl xforum_status_$update_banner entry (char (*)); 134 dcl xforum_status_$update_title entry (char (*)); 135 dcl xforum_window_mgr$check_window_status entry options (variable); 136 dcl xforum_window_mgr$menu_display entry (ptr); 137 dcl xforum_window_mgr$menu_get_choice entry (ptr, bit (1) aligned, fixed bin); 138 dcl xforum_window_mgr$resynch_windows entry (fixed bin, bit (1)); 139 140 141 /* CONDITIONS */ 142 143 dcl exit_executive_forum condition; 144 dcl quit condition; 145 dcl xforum_redisplay_menu condition; 146 147 /* INTERNAL AUTOMATIC */ 148 149 dcl xp_choice fixed bin; 150 dcl xp_code fixed bin (35); 151 dcl xp_fkey bit (1) aligned; 152 dcl xp_menu_ptr ptr; 153 dcl xp_menu_window_height fixed bin; 154 dcl xp_xforum_user_profile_get_entry (6) entry () variable returns (bit (1)); 155 dcl xp_xforum_user_profile_set_entry (6) entry (bit (1)) variable returns (bit (1)); 156 dcl 01 xp_menu_requirements like menu_requirements; 157 158 159 /* INTERNAL STATIC */ 160 161 dcl USE_ESCAPE_KEYS fixed bin (2) internal static options (constant) init (1); 162 dcl USE_FUNCTION_KEYS fixed bin (2) internal static options (constant) init (2); 163 dcl UNSET fixed bin (2) internal static options (constant) init (0); 164 165 166 /* CONSTANTS */ 167 168 dcl ( 169 xp_CHOICE_1 (6) char (15) init ("subject", "function", "menu", "clear", "xforum", "allow"), 170 xp_CHOICE_1_c (6) char (1) init ("s", "f", "m", "c", "x", "a"), 171 xp_CHOICE_1_MSG (6) char (150) init ( 172 "You will now be using the subject oriented attending meeting menu.", 173 "You will now be using function keys.", 174 "You will now make list selections from a menu", 175 "The menu will be cleared when you are entering a comment with a new subject.", 176 "You will now use the Executive Forum interactive message processor.", 177 "Multics Command Mode is now allowed."), 178 xp_CHOICE_1_VALUE (6) bit (1) init ("1"b, "1"b, "1"b, "1"b, "1"b, "1"b), 179 xp_CHOICE_2 (6) char (15) init ("entry", "escape", "query", "keep", "own", "disallow"), 180 xp_CHOICE_2_c (6) char (1) init ("e", "e", "q", "k", "o", "d"), 181 xp_CHOICE_2_MSG (6) char (150) init ( 182 "You will now be using the entry order oriented attending meeting menu.", 183 "You will now be using escape sequences.", 184 "You will now be queried for list options.", 185 "The menu will be kept on the screen when you are entering a comment with^/ a new subject.", 186 "You will now use your own interactive message processor.", 187 "Multics Command Mode is now not allowed."), 188 xp_CHOICE_2_VALUE (6) bit (1) init ("0"b, "0"b, "0"b, "0"b, "0"b, "0"b), 189 xp_CHOICES_MSG (6) char (150) init ( 190 "You can now choose between the subject and entry order oriented attending^/ menu menus.", 191 "You can now choose to use either function keys or escape sequences.", 192 "You can now choose to have lists displayed as menus or to be queried^/ for a list item", 193 "You can now choose to leave the menu on the screen or clear it and use the^/ space for entering comments.", 194 "You can now choose to use either the Executive Forum or your own interactive^/ message processor.", 195 "You can now choose to allow Multics Command Mode or to disallow it."), 196 xp_CURRENT_STATUS_MSG_ITEM_FALSE (6) char (150) init ( 197 "You are currently using the entry order oriented attending meeting menu.", 198 "You are currently using escape sequences.", 199 "You are currently being queried for list items", 200 "Currently the menu is not cleared from the screen when you are entering a^/ comment with a new subject.", 201 "You are currently using your own interactive message processor.", 202 "Multics Command Mode is currently not allowed."), 203 xp_CURRENT_STATUS_MSG_ITEM_TRUE (6) char (150) init ( 204 "You are currently using the subject oriented attending meeting menu.", 205 "You are currently using function keys.", 206 "Lists are currently displayed as menus in the lower part of the screen.", 207 "Currently the menu is cleared from the screen when you are entering a^/ comment with a new subject", 208 "You are currently using the Executive Forum interactive message processor.", 209 "Multics Command Mode is currently allowed."), 210 xp_FK_FIRST_MENU fixed bin init (2), 211 xp_FK_FIRST_MENU2 fixed bin init (9), 212 xp_FK_HELP fixed bin init (1), 213 xp_FK_MULTICS fixed bin init (8), 214 xp_FK_MULTICS2 fixed bin init (15), 215 xp_FK_PREVIOUS fixed bin init (3), 216 xp_FK_PREVIOUS2 fixed bin init (10), 217 xp_FK_QUIT fixed bin init (4), 218 xp_FK_QUIT2 fixed bin init (11), 219 xp_FK_REDISPLAY fixed bin init (5), 220 xp_FK_REDISPLAY2 fixed bin init (12), 221 xp_FOREVER bit (1) init ("1"b), 222 xp_HELP_ID (6) char (32) init ( 223 "read_comments", "escape_keys", "prompts_or_menus", "editing_space", "message_window", "multics_mode"), 224 xp_HELP_LINE bit (8) init ("11010000"b), 225 xp_MENU_CHOICES (6) char (32) varying init ( 226 "Read Comments By Subject", 227 "Always Use Escape Sequences", 228 "Display Lists As Menus", 229 "Remove Menu While Editing", 230 "Process Interactive Messages", 231 "Multics Command Mode"), 232 xp_MENU_HEIGHT fixed bin init (4) 233 ) internal static options (constant); 234 235 236 /* BUILTINS */ 237 238 dcl addr builtin; 239 dcl char builtin; 240 dcl length builtin; 241 dcl ltrim builtin; 242 dcl rtrim builtin; 243 dcl substr builtin; 244 dcl translate builtin; 245 246 /* BASED */ 247 248 249 /* INCLUDES */ 250 1 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 1 2* declarations for the menu_ subroutines MTB 493 1 3* James R. Davis 26 Jan 81 to 20 Februrary 81 1 4**/ 1 5 1 6 /* format: off */ 1 7 1 8 dcl menu_$create entry ( 1 9 (*) char (*) varying, /* input: choices */ 1 10 (*) char (*) varying, /* input: headers */ 1 11 (*) char (*) varying, /* input: trailers */ 1 12 pointer, /* input: to format info */ 1 13 (*) char (1) unal, /* input: keys to use */ 1 14 pointer, /* input: to area */ 1 15 pointer, /* input: to needs str. */ 1 16 pointer, /* to menu: output */ 1 17 fixed bin (35) /* code */ 1 18 ); 1 19 1 20 dcl menu_$display entry ( 1 21 pointer, /* window */ 1 22 pointer, /* menu */ 1 23 fixed bin (35) /* code */ 1 24 ); 1 25 1 26 dcl menu_$get_choice entry ( 1 27 pointer, /* window */ 1 28 pointer, /* menu */ 1 29 pointer, /* to function key info */ 1 30 bit (1) aligned, /* function key hi: output */ 1 31 fixed bin, /* output: selection number */ 1 32 fixed bin (35) /* output: code */ 1 33 ); 1 34 1 35 dcl menu_$describe entry ( 1 36 pointer, /* menu */ 1 37 pointer, /* needs */ 1 38 fixed bin (35) /* code */ 1 39 ); 1 40 1 41 dcl menu_$destroy entry ( 1 42 pointer, /* menu */ 1 43 fixed bin (35) /* code */ 1 44 ); 1 45 1 46 dcl menu_$store entry ( 1 47 character (*), 1 48 character (*), 1 49 character (*), 1 50 bit (1) aligned, 1 51 pointer, 1 52 fixed bin (35)); 1 53 1 54 dcl menu_$retrieve entry ( 1 55 character (*), 1 56 character (*), 1 57 character (*), 1 58 pointer, 1 59 pointer, 1 60 fixed bin (35)); 1 61 dcl menu_$delete entry ( 1 62 character (*), 1 63 character (*), 1 64 character (*), 1 65 fixed binary (35)); 1 66 1 67 dcl menu_$list entry ( 1 68 character (*), 1 69 character (*), 1 70 character (*), 1 71 pointer, 1 72 fixed bin, 1 73 pointer, 1 74 fixed bin (35)); 1 75 1 76 dcl 1 menu_format aligned based (menu_format_ptr), 1 77 2 version fixed bin, 1 78 2 constraints, 1 79 3 max_width fixed bin, 1 80 3 max_height fixed bin, 1 81 2 n_columns fixed bin, 1 82 2 flags, 1 83 3 center_headers bit (1) unal, 1 84 3 center_trailers bit (1) unal, 1 85 3 pad bit (34) unal, 1 86 2 pad_char char (1); 1 87 1 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 1 89 2 version fixed bin, 1 90 2 lines_needed fixed bin, 1 91 2 width_needed fixed bin, 1 92 2 n_options fixed bin; 1 93 1 94 dcl menu_format_ptr pointer; 1 95 dcl menu_requirements_ptr pointer; 1 96 1 97 dcl (menu_format_version_1, menu_requirements_version_1) 1 98 fixed bin internal static init (1) options (constant); 1 99 1 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 1 101 options (constant) init 1 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 1 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 1 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 1 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 1 106 1 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 251 252 2 1 /* BEGIN INCLUDE FILE xforum_spy 84-06-19 NSDavids */ 2 2 2 3 2 4 2 5 /****^ HISTORY COMMENTS: 2 6* 1) change(85-01-01,Davids), approve(85-01-01,MCR7350), 2 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 2 8* Modified to include personalization and subject selection. 2 9* END HISTORY COMMENTS */ 2 10 2 11 2 12 dcl 01 spy based (spy_ptr), 2 13 02 version char (8), 2 14 02 user_name char (32), 2 15 02 date_time char (32), 2 16 02 args char (80), 2 17 02 eligible fixed bin, 2 18 02 attending fixed bin, 2 19 02 changed fixed bin, 2 20 02 count fixed bin, 2 21 02 choices (0 refer (count)), 2 22 03 at fixed bin, 2 23 03 choice char (10); 2 24 2 25 2 26 dcl spy_ptr ptr; 2 27 dcl SPY_VERSION_1 char (8) init ("spy_0001"); 2 28 2 29 dcl SPY_AT_1 fixed bin init (1) internal static options (constant); 2 30 /* At Executive Forum Main menu */ 2 31 dcl SPY_AT_2 fixed bin init (2) internal static options (constant); 2 32 /* Requesting Help */ 2 33 dcl SPY_AT_3 fixed bin init (3) internal static options (constant); 2 34 /* At General Help menu */ 2 35 dcl SPY_AT_4 fixed bin init (4) internal static options (constant); 2 36 /* At query for a meeting name to goto */ 2 37 dcl SPY_AT_5 fixed bin init (5) internal static options (constant); 2 38 /* At menu of meeting names */ 2 39 dcl SPY_AT_6 fixed bin init (6) internal static options (constant); 2 40 /* At query for a meeting name to resign from */ 2 41 dcl SPY_AT_7 fixed bin init (7) internal static options (constant); 2 42 /* At Attending Meeting menu */ 2 43 dcl SPY_AT_8 fixed bin init (8) internal static options (constant); 2 44 /* At replying to a transaction */ 2 45 dcl SPY_AT_9 fixed bin init (9) internal static options (constant); 2 46 /* At entering a new transaction */ 2 47 dcl SPY_AT_10 fixed bin init (10) internal static options (constant); 2 48 /* At query for a transaction specifier */ 2 49 dcl SPY_AT_11 fixed bin init (11) internal static options (constant); 2 50 /* At query to check for changed meetings */ 2 51 dcl SPY_AT_12 fixed bin init (12) internal static options (constant); 2 52 /* At Getting Started menu */ 2 53 dcl SPY_AT_13 fixed bin init (13) internal static options (constant); 2 54 /* Meeting list update query, change in number of search paths */ 2 55 dcl SPY_AT_14 fixed bin init (14) internal static options (constant); 2 56 /* Meeting list update query, change in search paths listed */ 2 57 dcl SPY_AT_15 fixed bin init (15) internal static options (constant); 2 58 /* Copy Comments file name query */ 2 59 dcl SPY_AT_16 fixed bin init (16) internal static options (constant); 2 60 /* At Personalization menu */ 2 61 dcl SPY_AT_17 fixed bin init (17) internal static options (constant); 2 62 /* Personalizing an item prompt */ 2 63 dcl SPY_AT_18 fixed bin init (18) internal static options (constant); 2 64 /* string search prompt for comment selection */ 2 65 dcl SPY_AT_19 fixed bin init (19) internal static options (constant); 2 66 /* subject selection */ 2 67 2 68 dcl SPY_LOCATION (19) char (20) varying init ( 2 69 "XForum Main menu", 2 70 "Requesting Help", 2 71 "General Help menu", 2 72 "Meeting to goto?", 2 73 "Meeting names menu", 2 74 "Meeting to resign?", 2 75 "Meeting menu", 2 76 "Repling", 2 77 "Talking", 2 78 "Trans. spec?", 2 79 "Check changed mtgs", 2 80 "Getting Started", 2 81 "List update, num", 2 82 "List update, list", 2 83 "Copy to file name", 2 84 "Personalizing menu", 2 85 "Personalizing prompt", 2 86 "String search prompt", 2 87 "Subject selection") internal static options (constant); 2 88 2 89 /* END INCLUDE FILE xforum_spy */ 253 254 3 1 /* BEGIN INCLUDE FILE xforum_prompts.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(87-04-13,LJAdams), approve(87-07-24,MCR7684), 3 6* audit(87-07-24,Blair), install(87-08-06,MR12.1-1065): 3 7* Created. 3 8* END HISTORY COMMENTS */ 3 9 3 10 dcl (BREAK_PROMPT char (34) init ("Press BREAK to return to the menu."), 3 11 COMMENTS_PROMPT char (40) init ("Which comment(s) do you wish to select? "), 3 12 COMMENT_PROMPT char (37) init ("Which comment do you wish to select? "), 3 13 FILE_PROMPT char (28) init ("Enter the name of the file: "), 3 14 FIRST_PROMPT char (80) init ("Enter the command and press RETURN (to return to Xforum just press RETURN):"), 3 15 RETURN_PROMPT char (46) init (" Press to continue"), 3 16 TEXT_PROMPT char (31) init ("Enter text to be searched for: ")) 3 17 internal static options (constant); 3 18 3 19 3 20 /* END INCLUDE FILE xforum_prompts.incl.pl1 */ 256 4 1 /* BEGIN INCLUDE FILE xforum_answers.incl.pl1 */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(87-04-13,LJAdams), approve(87-04-30,MCR7684), 4 6* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 4 7* Created. 4 8* END HISTORY COMMENTS */ 4 9 4 10 dcl 1 answer_array, 4 11 2 N fixed bin, /* Number of acceptable answers; 0 = all */ 4 12 2 max_length fixed bin, /* max length user reply can be */ 4 13 2 answer (10) char (80) varying; 4 14 4 15 4 16 dcl ZERO fixed bin internal static options (constant) init (0), 4 17 ONE fixed bin internal static options (constant) init (1), 4 18 FOUR fixed bin internal static options (constant) init (4); 4 19 4 20 4 21 /* END INCLUDE FILE xforum_answers .incl.pl1 */ 257 258 5 1 /* BEGIN INCLUDE FILE xforum_help_infos.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(87-04-13,LJAdams), approve(87-07-24,MCR7684), 5 6* audit(87-07-24,Blair), install(87-08-06,MR12.1-1065): 5 7* Created. 5 8* END HISTORY COMMENTS */ 5 9 5 10 dcl (GETTING_STARTED_HELP char (27) init ("xforum_getting_started.info"), 5 11 PROMPT_HELP char (18) init ("xforum_prompt"), 5 12 FUNCTION_KEY_HELP char (25) init ("xforum_function_keys.info"), 5 13 MENU_OPTION_HELP char (23) init ("xforum_menu_option.info")) 5 14 internal static options (constant); 5 15 5 16 5 17 /* END INCLUDE FILE xforum_help_infos.incl.pl1 */ 259 260 261 262 spy_ptr = xp_spy_ptr; 263 264 xp_xforum_user_profile_get_entry (1) = xforum_user_profile$get_read_comments_by_subject; 265 xp_xforum_user_profile_get_entry (2) = xforum_user_profile$get_use_function_keys; 266 xp_xforum_user_profile_get_entry (3) = xforum_user_profile$get_menu_always; 267 xp_xforum_user_profile_get_entry (4) = xforum_user_profile$get_remove_menu_while_editing; 268 xp_xforum_user_profile_get_entry (5) = xforum_user_profile$get_handle_interactive_messages; 269 xp_xforum_user_profile_get_entry (6) = xforum_user_profile$get_multics_mode; 270 271 xp_xforum_user_profile_set_entry (1) = xforum_user_profile$set_read_comments_by_subject; 272 xp_xforum_user_profile_set_entry (2) = xforum_user_profile$set_use_function_keys; 273 xp_xforum_user_profile_set_entry (3) = xforum_user_profile$set_menu_always; 274 xp_xforum_user_profile_set_entry (4) = xforum_user_profile$set_remove_menu_while_editing; 275 xp_xforum_user_profile_set_entry (5) = xforum_user_profile$set_handle_interactive_messages; 276 xp_xforum_user_profile_set_entry (6) = xforum_user_profile$set_multics_mode; 277 278 xp_menu_requirements.version = menu_requirements_version_1; 279 call xforum_create_menu_ (xp_MENU_CHOICES, addr (xp_menu_requirements), xp_menu_ptr, xp_code); 280 if xp_code ^= 0 281 then do; 282 call com_err_ (xp_code, "", "Could not create Personalize Executive Forum menu."); 283 goto quick_exit_xforum_personalize_menu; 284 end; 285 286 on quit 287 begin; 288 call xforum_window_mgr$check_window_status; 289 call window_$bell (iox_$user_io, (0)); 290 call xforum_status_$redisplay ((0)); 291 call collect_spy_data (SPY_AT_16, "QUIT"); 292 goto get_choice; 293 end; 294 295 call xforum_window_mgr$resynch_windows (xp_MENU_HEIGHT, "1"b); 296 297 call xforum_status_$update_title ("Personalize"); 298 call xforum_status_$update_banner ("Executive Forum"); 299 call xforum_status_$redisplay ((0)); 300 301 call xforum_window_mgr$menu_display (xp_menu_ptr); 302 303 on xforum_redisplay_menu call xforum_window_mgr$menu_display (xp_menu_ptr); 304 call xforum_help_line_$push (xp_HELP_LINE, "", "", ""); 305 get_choice: 306 do while (xp_FOREVER); 307 call xforum_help_line_$change (xp_HELP_LINE, "", "", ""); 308 call xforum_window_mgr$menu_get_choice (xp_menu_ptr, xp_fkey, xp_choice); 309 310 if xp_fkey 311 then call collect_spy_data (SPY_AT_16, "F" || rtrim (ltrim (char (xp_choice)))); 312 else call collect_spy_data (SPY_AT_16, rtrim (ltrim (char (xp_choice)))); 313 314 if xp_fkey 315 then do; 316 if xp_choice = xp_FK_HELP 317 then do; 318 call xforum_help_$get_help (xp_menu_ptr, "Personalize", xp_MENU_CHOICES, 319 spy_ptr, xp_xforum_system_area_ptr); 320 call xforum_window_mgr$resynch_windows (xp_MENU_HEIGHT, "0"b); 321 call xforum_status_$update_title ("Personalize"); 322 call xforum_status_$update_banner ("Executive Forum"); 323 call xforum_status_$redisplay ((0)); 324 call xforum_window_mgr$menu_display (xp_menu_ptr); 325 end; 326 else 327 if xp_choice = xp_FK_FIRST_MENU | xp_choice = xp_FK_FIRST_MENU2 328 then goto exit_xforum_personalize_menu; 329 else 330 if xp_choice = xp_FK_PREVIOUS | xp_choice = xp_FK_PREVIOUS2 331 then goto exit_xforum_personalize_menu; 332 else 333 if xp_choice = xp_FK_QUIT | xp_choice = xp_FK_QUIT2 334 then do; 335 call xforum_user_profile$update_profile; 336 call menu_$destroy (xp_menu_ptr, (0)); 337 signal exit_executive_forum; 338 end; 339 else 340 if xp_choice = xp_FK_REDISPLAY | xp_choice = xp_FK_REDISPLAY2 341 then call xforum_redisplay_; 342 else 343 if (xp_choice = xp_FK_MULTICS | xp_choice = xp_FK_MULTICS2) & xforum_user_profile$get_multics_mode () 344 then do; 345 call xforum_multics_mode (xp_menu_window_height); 346 call xforum_window_mgr$resynch_windows (xp_menu_window_height, "0"b); 347 call xforum_redisplay_; 348 end; 349 else call window_$bell (iox_$user_io, (0)); 350 end; 351 else call personalize_item (xp_choice); 352 end; 353 354 exit_xforum_personalize_menu: 355 call xforum_user_profile$update_profile; 356 call menu_$destroy (xp_menu_ptr, (0)); 357 call xforum_help_line_$pop; 358 359 quick_exit_xforum_personalize_menu: 360 call window_$clear_window (iox_$user_io, (0)); 361 return; 362 363 personalize_item: proc (pi_item_index); 364 365 /* PARAMETERS */ 366 367 dcl pi_item_index fixed bin; /* (input) */ 368 369 /* CONDITIONS */ 370 dcl quit condition; 371 372 /* INTERNAL AUTOMATIC */ 373 374 dcl pi_code fixed bin (35); 375 dcl pi_input_line char (256); 376 dcl reply char (256) var; 377 dcl prompt char (256) var; 378 dcl user_set_fk_value fixed bin (2); 379 380 /* CONSTANTS */ 381 382 dcl ( 383 MAX_LEN fixed bin init (256), 384 GET_FK_ESC_CHOICE fixed bin init (2), 385 PROCESS_IM_MSG fixed bin init (5) 386 ); 387 388 on quit 389 begin; 390 call xforum_window_mgr$check_window_status; 391 call xforum_status_$redisplay ((0)); 392 call collect_spy_data (SPY_AT_17, "QUIT"); 393 call window_$clear_window (iox_$user_io, (0)); 394 if xp_xforum_user_profile_get_entry (pi_item_index) () 395 then call ioa_ (xp_CHOICE_1_MSG (pi_item_index)); 396 else call ioa_ (xp_CHOICE_2_MSG (pi_item_index)); 397 goto exit_personalize_item; 398 end; 399 400 call window_$clear_window (iox_$user_io, (0)); 401 402 if pi_item_index = GET_FK_ESC_CHOICE 403 then do; 404 if xforum_user_profile$valid_user_fk_FUNCTION () 405 /* both function & escape keys are valid for ttp */ 406 then do; 407 call ioa_ (xp_CHOICES_MSG (pi_item_index)); 408 user_set_fk_value = xforum_user_profile$get_user_fk_value (); 409 if user_set_fk_value = USE_FUNCTION_KEYS & 410 ^xforum_user_profile$get_use_function_keys () 411 then if xp_xforum_user_profile_set_entry (pi_item_index) (xp_CHOICE_1_VALUE (pi_item_index)) then ; 412 /* reset original user value; this can get reset */ 413 /* per invocation by the system if the terminal */ 414 /* does not support function key usage. */ 415 end; 416 else do; 417 call ioa_ ("This terminal type only supports escape sequences."); 418 goto exit_personalize_item; 419 end; 420 end; 421 422 call xforum_help_line_$change (""b, "", "", "Press ? and RETURN:help BREAK:To leave things unchanged"); 423 424 if xp_xforum_user_profile_get_entry (pi_item_index) () 425 then call ioa_ (xp_CURRENT_STATUS_MSG_ITEM_TRUE (pi_item_index)); 426 else call ioa_ (xp_CURRENT_STATUS_MSG_ITEM_FALSE (pi_item_index)); 427 428 answer_array.N = FOUR; 429 answer_array.max_length = MAX_LEN; 430 answer_array.answer (1) = xp_CHOICE_1 (pi_item_index); 431 answer_array.answer (2) = xp_CHOICE_1_c (pi_item_index); 432 answer_array.answer (3) = xp_CHOICE_2 (pi_item_index); 433 answer_array.answer (4) = xp_CHOICE_2_c (pi_item_index); 434 prompt = "Please enter only " || rtrim(xp_CHOICE_1(pi_item_index)) || " or " || rtrim(xp_CHOICE_2(pi_item_index)); 435 call xforum_get_str_ ((prompt), addr(answer_array), PROMPT_HELP, xp_HELP_ID (pi_item_index), reply, pi_code); 436 437 get_user_response: 438 pi_input_line = substr (reply, 1, length(reply)); 439 pi_input_line = translate (pi_input_line, "abcdefghjiklmnopqrstuvwxyz", "ABCDEFGHJIKLMNOPQRSTUVWXYZ"); 440 441 if pi_input_line = xp_CHOICE_1 (pi_item_index) | 442 substr (pi_input_line, 1, 1) = xp_CHOICE_1_c (pi_item_index) 443 then do; 444 call window_$clear_window (iox_$user_io, (0)); 445 446 if pi_item_index = GET_FK_ESC_CHOICE 447 then call xforum_user_profile$set_user_fk_value (USE_FUNCTION_KEYS); 448 if xp_xforum_user_profile_set_entry (pi_item_index) (xp_CHOICE_1_VALUE (pi_item_index)) 449 then call ioa_ (xp_CHOICE_1_MSG (pi_item_index)); 450 end; 451 else if pi_input_line = xp_CHOICE_2 (pi_item_index) | 452 substr (pi_input_line, 1, 1) = xp_CHOICE_2_c (pi_item_index) 453 then do; 454 call window_$clear_window (iox_$user_io, (0)); 455 456 if pi_item_index = GET_FK_ESC_CHOICE 457 then call xforum_user_profile$set_user_fk_value (USE_ESCAPE_KEYS); 458 if xp_xforum_user_profile_set_entry (pi_item_index) (xp_CHOICE_2_VALUE (pi_item_index)) 459 then call ioa_ (xp_CHOICE_2_MSG (pi_item_index)); 460 end; 461 462 if pi_item_index = PROCESS_IM_MSG /* process interactive messages */ 463 then do; 464 if xforum_im_mgr$get_wakeup_state () = UNSET 465 then ; /* User has neither accept or defer set */ 466 else if xforum_user_profile$get_handle_interactive_messages () 467 then call xforum_im_mgr$defer_messages; 468 else call xforum_im_mgr$restore_original ("0"b); 469 end; 470 471 exit_personalize_item: 472 return; 473 474 end personalize_item; 475 476 collect_spy_data: proc (csd_where, csd_response); 477 478 479 /* PARAMETERS */ 480 481 dcl csd_where /* (input) */ 482 fixed bin; 483 dcl csd_response /* (input) */ 484 char (*); 485 486 487 488 spy.count = spy.count + 1; 489 spy.choices (count).at = csd_where; 490 spy.choices (count).choice = csd_response; 491 492 return; 493 494 end collect_spy_data; 495 496 497 end xforum_personalize_menu; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/06/87 1014.2 xforum_personalize_menu.pl1 >special_ldd>install>MR12.1-1065>xforum_personalize_menu.pl1 251 1 03/27/82 0429.3 menu_dcls.incl.pl1 >ldd>include>menu_dcls.incl.pl1 253 2 04/25/86 0859.6 xforum_spy.incl.pl1 >ldd>include>xforum_spy.incl.pl1 255 3 08/06/87 1007.2 xforum_prompts.incl.pl1 >special_ldd>install>MR12.1-1065>xforum_prompts.incl.pl1 257 4 08/06/87 1007.2 xforum_answers.incl.pl1 >special_ldd>install>MR12.1-1065>xforum_answers.incl.pl1 259 5 08/06/87 1007.2 xforum_help_infos.incl.pl1 >special_ldd>install>MR12.1-1065>xforum_help_infos.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. FOUR constant fixed bin(17,0) initial dcl 4-16 ref 428 GET_FK_ESC_CHOICE 000413 automatic fixed bin(17,0) initial dcl 382 set ref 382* 402 446 456 MAX_LEN 000412 automatic fixed bin(17,0) initial dcl 382 set ref 382* 429 N 000222 automatic fixed bin(17,0) level 2 dcl 4-10 set ref 428* PROCESS_IM_MSG 000414 automatic fixed bin(17,0) initial dcl 382 set ref 382* 462 PROMPT_HELP 000000 constant char(18) initial unaligned dcl 5-10 set ref 435* SPY_AT_16 000006 constant fixed bin(17,0) initial dcl 2-59 set ref 291* 310* 312* SPY_AT_17 000005 constant fixed bin(17,0) initial dcl 2-61 set ref 392* SPY_VERSION_1 000220 automatic char(8) initial unaligned dcl 2-27 set ref 2-27* UNSET constant fixed bin(2,0) initial dcl 163 ref 464 USE_ESCAPE_KEYS 002437 constant fixed bin(2,0) initial dcl 161 set ref 456* USE_FUNCTION_KEYS 002436 constant fixed bin(2,0) initial dcl 162 set ref 409 446* addr builtin function dcl 238 ref 279 279 435 435 answer 2 000222 automatic varying char(80) array level 2 dcl 4-10 set ref 430* 431* 432* 433* answer_array 000222 automatic structure level 1 unaligned dcl 4-10 set ref 435 435 at 52 based fixed bin(17,0) array level 3 dcl 2-12 set ref 489* char builtin function dcl 239 ref 310 312 312 choice 53 based char(10) array level 3 packed unaligned dcl 2-12 set ref 490* choices 52 based structure array level 2 unaligned dcl 2-12 com_err_ 000012 constant entry external dcl 101 ref 282 count 51 based fixed bin(17,0) level 2 dcl 2-12 set ref 488* 488 489 490 csd_response parameter char unaligned dcl 483 ref 476 490 csd_where parameter fixed bin(17,0) dcl 481 ref 476 489 exit_executive_forum 000100 stack reference condition dcl 143 ref 337 ioa_ 000014 constant entry external dcl 102 ref 394 396 407 417 424 426 448 458 iox_$user_io 000010 external static pointer dcl 97 set ref 289* 349* 359* 393* 400* 444* 454* length builtin function dcl 240 ref 437 ltrim builtin function dcl 241 ref 310 312 312 max_length 1 000222 automatic fixed bin(17,0) level 2 dcl 4-10 set ref 429* menu_$destroy 000126 constant entry external dcl 1-41 ref 336 356 menu_requirements based structure level 1 dcl 1-88 menu_requirements_version_1 constant fixed bin(17,0) initial dcl 1-97 ref 278 pi_code 000106 automatic fixed bin(35,0) dcl 374 set ref 435* pi_input_line 000107 automatic char(256) unaligned dcl 375 set ref 437* 439* 439 441 441 451 451 pi_item_index parameter fixed bin(17,0) dcl 367 ref 363 394 394 396 402 407 409 409 424 424 426 430 431 432 433 434 434 435 441 441 446 448 448 448 451 451 456 458 458 458 462 prompt 000310 automatic varying char(256) dcl 377 set ref 434* 435 quit 000100 stack reference condition dcl 370 in procedure "personalize_item" ref 388 quit 000106 stack reference condition dcl 144 in procedure "xforum_personalize_menu" ref 286 reply 000207 automatic varying char(256) dcl 376 set ref 435* 437 437 rtrim builtin function dcl 242 ref 310 312 312 434 434 spy based structure level 1 unaligned dcl 2-12 spy_ptr 000216 automatic pointer dcl 2-26 set ref 262* 318* 488 488 489 489 490 490 substr builtin function dcl 243 ref 437 441 451 translate builtin function dcl 244 ref 439 user_set_fk_value 000411 automatic fixed bin(2,0) dcl 378 set ref 408* 409 version 000212 automatic fixed bin(17,0) level 2 dcl 156 set ref 278* window_$bell 000016 constant entry external dcl 103 ref 289 349 window_$clear_window 000020 constant entry external dcl 104 ref 359 393 400 444 454 xforum_create_menu_ 000022 constant entry external dcl 105 ref 279 xforum_get_str_ 000024 constant entry external dcl 106 ref 435 xforum_help_$get_help 000026 constant entry external dcl 107 ref 318 xforum_help_line_$change 000030 constant entry external dcl 108 ref 307 422 xforum_help_line_$pop 000032 constant entry external dcl 109 ref 357 xforum_help_line_$push 000034 constant entry external dcl 110 ref 304 xforum_im_mgr$defer_messages 000040 constant entry external dcl 112 ref 466 xforum_im_mgr$get_wakeup_state 000036 constant entry external dcl 111 ref 464 xforum_im_mgr$restore_original 000042 constant entry external dcl 113 ref 468 xforum_multics_mode 000044 constant entry external dcl 114 ref 345 xforum_redisplay_ 000106 constant entry external dcl 131 ref 339 347 xforum_redisplay_menu 000114 stack reference condition dcl 145 ref 303 xforum_status_$redisplay 000110 constant entry external dcl 132 ref 290 299 323 391 xforum_status_$update_banner 000112 constant entry external dcl 133 ref 298 322 xforum_status_$update_title 000114 constant entry external dcl 134 ref 297 321 xforum_user_profile$get_handle_interactive_messages 000046 constant entry external dcl 115 ref 268 466 xforum_user_profile$get_menu_always 000056 constant entry external dcl 119 ref 266 xforum_user_profile$get_multics_mode 000052 constant entry external dcl 117 ref 269 342 xforum_user_profile$get_read_comments_by_subject 000062 constant entry external dcl 121 ref 264 xforum_user_profile$get_remove_menu_while_editing 000100 constant entry external dcl 128 ref 267 xforum_user_profile$get_use_function_keys 000066 constant entry external dcl 123 ref 265 409 xforum_user_profile$get_user_fk_value 000074 constant entry external dcl 126 ref 408 xforum_user_profile$set_handle_interactive_messages 000050 constant entry external dcl 116 ref 275 xforum_user_profile$set_menu_always 000060 constant entry external dcl 120 ref 273 xforum_user_profile$set_multics_mode 000054 constant entry external dcl 118 ref 276 xforum_user_profile$set_read_comments_by_subject 000064 constant entry external dcl 122 ref 271 xforum_user_profile$set_remove_menu_while_editing 000102 constant entry external dcl 129 ref 274 xforum_user_profile$set_use_function_keys 000070 constant entry external dcl 124 ref 272 xforum_user_profile$set_user_fk_value 000072 constant entry external dcl 125 ref 446 456 xforum_user_profile$update_profile 000104 constant entry external dcl 130 ref 335 354 xforum_user_profile$valid_user_fk_FUNCTION 000076 constant entry external dcl 127 ref 404 xforum_window_mgr$check_window_status 000116 constant entry external dcl 135 ref 288 390 xforum_window_mgr$menu_display 000120 constant entry external dcl 136 ref 301 303 324 xforum_window_mgr$menu_get_choice 000122 constant entry external dcl 137 ref 308 xforum_window_mgr$resynch_windows 000124 constant entry external dcl 138 ref 295 320 346 xp_CHOICES_MSG 001060 constant char(150) initial array unaligned dcl 168 set ref 407* xp_CHOICE_1 002360 constant char(15) initial array unaligned dcl 168 ref 430 434 441 xp_CHOICE_1_MSG 002014 constant char(150) initial array unaligned dcl 168 set ref 394* 448* xp_CHOICE_1_VALUE 002013 constant bit(1) initial array unaligned dcl 168 set ref 409* 448* xp_CHOICE_1_c 002356 constant char(1) initial array unaligned dcl 168 ref 431 441 xp_CHOICE_2 001764 constant char(15) initial array unaligned dcl 168 ref 432 434 451 xp_CHOICE_2_MSG 001421 constant char(150) initial array unaligned dcl 168 set ref 396* 458* xp_CHOICE_2_VALUE constant bit(1) initial array unaligned dcl 168 set ref 458* xp_CHOICE_2_c 001762 constant char(1) initial array unaligned dcl 168 ref 433 451 xp_CURRENT_STATUS_MSG_ITEM_FALSE 000517 constant char(150) initial array unaligned dcl 168 set ref 426* xp_CURRENT_STATUS_MSG_ITEM_TRUE 000156 constant char(150) initial array unaligned dcl 168 set ref 424* xp_FK_FIRST_MENU constant fixed bin(17,0) initial dcl 168 ref 326 xp_FK_FIRST_MENU2 constant fixed bin(17,0) initial dcl 168 ref 326 xp_FK_HELP constant fixed bin(17,0) initial dcl 168 ref 316 xp_FK_MULTICS constant fixed bin(17,0) initial dcl 168 ref 342 xp_FK_MULTICS2 constant fixed bin(17,0) initial dcl 168 ref 342 xp_FK_PREVIOUS constant fixed bin(17,0) initial dcl 168 ref 329 xp_FK_PREVIOUS2 constant fixed bin(17,0) initial dcl 168 ref 329 xp_FK_QUIT constant fixed bin(17,0) initial dcl 168 ref 332 xp_FK_QUIT2 constant fixed bin(17,0) initial dcl 168 ref 332 xp_FK_REDISPLAY constant fixed bin(17,0) initial dcl 168 ref 339 xp_FK_REDISPLAY2 constant fixed bin(17,0) initial dcl 168 ref 339 xp_FOREVER constant bit(1) initial unaligned dcl 168 ref 305 xp_HELP_ID 000076 constant char(32) initial array unaligned dcl 168 set ref 435* xp_HELP_LINE 000075 constant bit(8) initial unaligned dcl 168 set ref 304* 307* xp_MENU_CHOICES 000007 constant varying char(32) initial array dcl 168 set ref 279* 318* xp_MENU_HEIGHT 002432 constant fixed bin(17,0) initial dcl 168 set ref 295* 320* xp_choice 000122 automatic fixed bin(17,0) dcl 149 set ref 308* 310 312 312 316 326 326 329 329 332 332 339 339 342 342 351* xp_code 000123 automatic fixed bin(35,0) dcl 150 set ref 279* 280 282* xp_fkey 000124 automatic bit(1) dcl 151 set ref 308* 310 314 xp_menu_ptr 000126 automatic pointer dcl 152 set ref 279* 301* 303* 308* 318* 324* 336* 356* xp_menu_requirements 000212 automatic structure level 1 unaligned dcl 156 set ref 279 279 xp_menu_window_height 000130 automatic fixed bin(17,0) dcl 153 set ref 345* 346* xp_spy_ptr parameter pointer dcl 92 ref 41 262 xp_xforum_system_area_ptr parameter pointer dcl 93 set ref 41 318* xp_xforum_user_profile_get_entry 000132 automatic entry variable array dcl 154 set ref 264* 265* 266* 267* 268* 269* 394 424 xp_xforum_user_profile_set_entry 000162 automatic entry variable array dcl 155 set ref 271* 272* 273* 274* 275* 276* 409 448 458 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BREAK_PROMPT internal static char(34) initial unaligned dcl 3-10 COMMENTS_PROMPT internal static char(40) initial unaligned dcl 3-10 COMMENT_PROMPT internal static char(37) initial unaligned dcl 3-10 FILE_PROMPT internal static char(28) initial unaligned dcl 3-10 FIRST_PROMPT internal static char(80) initial unaligned dcl 3-10 FUNCTION_KEY_HELP internal static char(25) initial unaligned dcl 5-10 GETTING_STARTED_HELP internal static char(27) initial unaligned dcl 5-10 MENU_OPTION_HELP internal static char(23) initial unaligned dcl 5-10 MENU_OPTION_KEYS internal static char(1) initial array unaligned dcl 1-100 ONE internal static fixed bin(17,0) initial dcl 4-16 RETURN_PROMPT internal static char(46) initial unaligned dcl 3-10 SPY_AT_1 internal static fixed bin(17,0) initial dcl 2-29 SPY_AT_10 internal static fixed bin(17,0) initial dcl 2-47 SPY_AT_11 internal static fixed bin(17,0) initial dcl 2-49 SPY_AT_12 internal static fixed bin(17,0) initial dcl 2-51 SPY_AT_13 internal static fixed bin(17,0) initial dcl 2-53 SPY_AT_14 internal static fixed bin(17,0) initial dcl 2-55 SPY_AT_15 internal static fixed bin(17,0) initial dcl 2-57 SPY_AT_18 internal static fixed bin(17,0) initial dcl 2-63 SPY_AT_19 internal static fixed bin(17,0) initial dcl 2-65 SPY_AT_2 internal static fixed bin(17,0) initial dcl 2-31 SPY_AT_3 internal static fixed bin(17,0) initial dcl 2-33 SPY_AT_4 internal static fixed bin(17,0) initial dcl 2-35 SPY_AT_5 internal static fixed bin(17,0) initial dcl 2-37 SPY_AT_6 internal static fixed bin(17,0) initial dcl 2-39 SPY_AT_7 internal static fixed bin(17,0) initial dcl 2-41 SPY_AT_8 internal static fixed bin(17,0) initial dcl 2-43 SPY_AT_9 internal static fixed bin(17,0) initial dcl 2-45 SPY_LOCATION internal static varying char(20) initial array dcl 2-68 TEXT_PROMPT internal static char(31) initial unaligned dcl 3-10 ZERO internal static fixed bin(17,0) initial dcl 4-16 menu_$create 000000 constant entry external dcl 1-8 menu_$delete 000000 constant entry external dcl 1-61 menu_$describe 000000 constant entry external dcl 1-35 menu_$display 000000 constant entry external dcl 1-20 menu_$get_choice 000000 constant entry external dcl 1-26 menu_$list 000000 constant entry external dcl 1-67 menu_$retrieve 000000 constant entry external dcl 1-54 menu_$store 000000 constant entry external dcl 1-46 menu_format based structure level 1 dcl 1-76 menu_format_ptr automatic pointer dcl 1-94 menu_format_version_1 internal static fixed bin(17,0) initial dcl 1-97 menu_requirements_ptr automatic pointer dcl 1-95 NAMES DECLARED BY EXPLICIT CONTEXT. collect_spy_data 005035 constant entry internal dcl 476 ref 291 310 312 392 exit_personalize_item 005033 constant label dcl 471 ref 397 418 exit_xforum_personalize_menu 003663 constant label dcl 354 ref 326 329 get_choice 003151 constant label dcl 305 ref 292 get_user_response 004540 constant label dcl 437 personalize_item 003723 constant entry internal dcl 363 ref 351 quick_exit_xforum_personalize_menu 003707 constant label dcl 359 ref 283 xforum_personalize_menu 002572 constant entry external dcl 41 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6110 6240 5277 6120 Length 6674 5277 130 417 611 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xforum_personalize_menu 418 external procedure is an external procedure. on unit on line 286 84 on unit on unit on line 303 68 on unit personalize_item 364 internal procedure enables or reverts conditions. on unit on line 388 82 on unit collect_spy_data 66 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME personalize_item 000106 pi_code personalize_item 000107 pi_input_line personalize_item 000207 reply personalize_item 000310 prompt personalize_item 000411 user_set_fk_value personalize_item 000412 MAX_LEN personalize_item 000413 GET_FK_ESC_CHOICE personalize_item 000414 PROCESS_IM_MSG personalize_item xforum_personalize_menu 000122 xp_choice xforum_personalize_menu 000123 xp_code xforum_personalize_menu 000124 xp_fkey xforum_personalize_menu 000126 xp_menu_ptr xforum_personalize_menu 000130 xp_menu_window_height xforum_personalize_menu 000132 xp_xforum_user_profile_get_entry xforum_personalize_menu 000162 xp_xforum_user_profile_set_entry xforum_personalize_menu 000212 xp_menu_requirements xforum_personalize_menu 000216 spy_ptr xforum_personalize_menu 000220 SPY_VERSION_1 xforum_personalize_menu 000222 answer_array xforum_personalize_menu THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ent_var call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc return_mac tra_ext_1 signal_op enable_op shorten_stack ext_entry int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ ioa_ menu_$destroy window_$bell window_$clear_window xforum_create_menu_ xforum_get_str_ xforum_help_$get_help xforum_help_line_$change xforum_help_line_$pop xforum_help_line_$push xforum_im_mgr$defer_messages xforum_im_mgr$get_wakeup_state xforum_im_mgr$restore_original xforum_multics_mode xforum_redisplay_ xforum_status_$redisplay xforum_status_$update_banner xforum_status_$update_title xforum_user_profile$get_handle_interactive_messages xforum_user_profile$get_menu_always xforum_user_profile$get_multics_mode xforum_user_profile$get_read_comments_by_subject xforum_user_profile$get_remove_menu_while_editing xforum_user_profile$get_use_function_keys xforum_user_profile$get_user_fk_value xforum_user_profile$set_handle_interactive_messages xforum_user_profile$set_menu_always xforum_user_profile$set_multics_mode xforum_user_profile$set_read_comments_by_subject xforum_user_profile$set_remove_menu_while_editing xforum_user_profile$set_use_function_keys xforum_user_profile$set_user_fk_value xforum_user_profile$update_profile xforum_user_profile$valid_user_fk_FUNCTION xforum_window_mgr$check_window_status xforum_window_mgr$menu_display xforum_window_mgr$menu_get_choice xforum_window_mgr$resynch_windows THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$user_io LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 41 002566 2 27 002577 262 002601 264 002605 265 002611 266 002614 267 002617 268 002622 269 002625 271 002630 272 002633 273 002636 274 002641 275 002644 276 002647 278 002652 279 002654 280 002701 282 002703 283 002727 286 002730 288 002744 289 002750 290 002762 291 002772 292 003011 295 003014 297 003027 298 003044 299 003063 301 003073 303 003102 304 003126 305 003151 307 003152 308 003175 310 003210 312 003301 314 003363 316 003367 318 003372 320 003426 321 003441 322 003456 323 003475 324 003505 325 003514 326 003515 329 003521 332 003525 335 003531 336 003536 337 003550 338 003553 339 003554 342 003566 345 003611 346 003620 347 003633 348 003640 349 003641 350 003653 351 003654 352 003662 354 003663 356 003670 357 003702 359 003707 361 003721 363 003722 382 003730 388 003736 390 003752 391 003756 392 003766 393 004005 394 004017 396 004056 397 004075 400 004100 402 004112 404 004116 407 004130 408 004146 409 004155 415 004220 417 004221 418 004235 422 004236 424 004267 426 004324 428 004342 429 004345 430 004347 431 004360 432 004366 433 004373 434 004400 435 004466 437 004540 439 004545 441 004556 444 004577 446 004611 448 004624 450 004665 451 004666 454 004676 456 004710 458 004723 462 004764 464 004770 466 005002 468 005022 471 005033 476 005034 488 005050 489 005053 490 005061 492 005071 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved