! LSE$SHOW.TPU ! !************************************************************************* ! * ! © Copyright 2005 Hewlett-Packard Development Company, L.P. * ! * ! Confidential computer software. Valid license from HP required for * ! possession, use or copying. Consistent with FAR 12.211 and 12.212, * ! Commercial Computer Software, Computer Software Documentation, and * ! Technical Data for Commercial Items are licensed to the U.S. * ! Government under vendor's standard commercial license. * ! * !************************************************************************* !++ ! FACILITY: ! VAX Language-Sensitive Editor ! ! ABSTRACT: ! This file contains SHOW command worker routines. ! ! ENVIRONMENT: ! Portable/LSE ! ! Author: Walter Carrell II ! Norman M. Chan ! ! CREATION DATE: 06-April-1990 ! ! MODIFIED BY: ! ! X3.1 WC3 20-Jun-90 New module ! X3.2 WC3 27-Jun-90 Save/restore the show_buffer and info_window ! Add show window shrinking ! X3.2-1 WC3 04-Jul-90 Support more kinds of shows ! X3.2-2 WC3 27-Jul-90 Add lse$$show_lse$font_little ! lse$$show_lse$font_condensed ! X3.2-3 WC3 30-Jul-90 Add lse$$show_default_directory ! X3.2-4 WC3 02-Aug-90 Add lse$$show_lse$scroll_margins ! lse$$show_lse$window_attributes ! X3.2-5 WC3 20-Aug-90 Add lse$$show_lse$balance_windows ! lse$$show_lse$max_windows ! lse$$show_lse$min_window_len ! lse$$show_lse$num_of_windows ! lse$$show_lse$width ! X3.2-6 WC3 03-Sep-90 Add lse$$show_lse$top_scrl_margin ! lse$$show_lse$bot_scrl_margin ! lse$$show_lse$wrap ! Remove lse$$show_lse$scroll_margins ! X3.2-7 WC3 07-Sep-90 Add SHOW support for: ! lse$auto_erase ! lse$forward ! lse$indentation ! lse$cursor ! lse$insert ! lse$journaling ! lse$left_margin ! lse$select_mark ! lse$modify ! lse$output_file ! lse$overview ! lse$dir_read_only ! lse$right_margin ! lse$search ! lse$directory_source ! lse$tab_increment ! lse$auto_reverse ! lse$case_sensitive ! lse$diacrit_sensit ! lse$pattern ! lse$global_wind_attr ! windowing show support ! lse specific show dispatching ! Change many GET_INFO paramaters ! X3.2-8 DAS 04-Oct-90 Add SHOW support for: ! lse$clipboard ! X3.2-9 WC3 08-Oct-90 Fix infinite loop processing read only directory list ! X3.2-10 WC3 08-Oct-90 Use lse$get_message_text instead of message_text ! X3.2-11 WC3 08-Oct-90 Fixed merged message_text(s) ! X3.2-12 DAS 23-Oct-90 Changed LSE_TOP to LSE$TOP calls ! X3.2-13 GJJ 3-Nov-90 Changed LSE$VMS to LSE$OS_VMS and LSE$ULTRIX to ! LSE$OS_ULTRIX ! X3.3-14 GJJ 3-Nov-90 Changed LSE$VERSION to LSE$EDITOR_VERSION. ! X3.2-15 AVH 06-Nov-90 Add new procedures for SHOW MARK XXX & SHOW MARK. ! X3.2-16 SHE 06-Dec-90 Added documentation headers ! X3.2-17 DAS 09-Dec-90 Added LSE$$SHOW_LSE$PARSER and PARSER_PROMPTING ! X3.2-18 SHE 19-Dec-90 Moved calls to lse$$cli_parser and ! lse$$parser_prompting to keep the 3 directory ! attributes grouped together. ! X3.2-19 NMC 19-Dec-90 Add a lot of buffer attributes show routines. ! Add BUFFER type support in lse$$dispatch_show_cct ! Add SHOW support for lse$buffer and lse$buffer_list ! Add lse$is_show, lse$$show_lse$buffer_list, ! lse$$is_buffer_list, lse$$get_buffer_list_line ! lse$$get_buffer_list_header, lse$$highlight_show, ! lse$$get_name_from_buffer_list_line. ! X3.2-20 AVH 27-Dec-90 Fix a minor bug in lse$show_mark_list and declare ! the literal lse$$k_mark_prefix. ! X3.2-21 NMC 7-Jan-91 Modified full menu show buffer display. ! X3.2-22 SHE 08-Jan-91 Make all 2nd args to MESSAGE/EVE$MESSAGE 0. ! ! X3.2-23 LRH 09-Jan-90 Added lse$$show_keyname and lse$$show_lse$key_list ! X3.2-24 DAS 10-Jan-90 Added local COMM declaration ! Added lse$$lse_mark_name declaration ! X3.2-25 NMC 11-Jan-91 Fine tuned full menu show buffer display. ! X3.2-26 LRH 18-Jan-91 Fixed bug in lse$show_keyname, lse$show_key_list ! X3.2-27 LRH 21-Jan-91 Fix bug in show key when using undefined key ! X3.2-28 NMC 16-Jan-91 Modified lse$show to use automatic window creation ! Fine tuned buffer list buffer display. ! Added lse$$truncated_name_string and forwarded ! routine section. ! X3.2-29 NMC 31-Jan-91 Make all show buffer not replaceable in show buffer ! window deletion. Return true exclusively for ! lse$$show_keyname. ! X3.2-30 NMC 01-Feb-91 Removed window resizing code in lse$show ! X3.2-31 DAS 17-Feb-91 Fixed lse$is_buffer_list if/the/endif flow ! X3.2-32 LRH 01-Mar-91 Added help_library to show system ! X4.0-1 WC3 15-Mar-91 Added cross reference to system attributes ! ! X4.0-2 LRH 20-Mar-91 Restructured lse$show to call lse$$setup_show_window ! and lse$$finish_show_window. ! X4.0-3 NMC 22-Mar-91 Add show support for lse$alias and lse$alias_list ! X4.0-4 DEC 08-Apr-91 Added lse$$show_lse$language_list and ! lse$$show_lse$show_language and lse$$show_ support ! routines ! X4.0-5 DEC 09-Apr-91 Resolved conflict between two routines named ! lse$$show_lse$language ! X4.0-6 WC3 09-Apr-91 Added show list expand/collapse support ! Removed some blank lines from show mark ! Fixed a bug where the position in the marked ! buffer was moved by showing a mark ! Changed some message_text() to lse$get_message_text() ! X4.0-7 NMC 16-Apr-91 Changed lse$$set_current_language to ! lse$set_curr_lang_element ! X4.0-8 DAS 22-Apr-91 Fixed spacing in displaying lang placeholder delims ! X4.0-9 DAS 23-Apr-91 Fixed spacing in displaying comment delims ! X4.0-10 SAA 25-Apr-91 Added grammar-prefix line to SYSTEM ATTRIBUTES ! X4.0-11 WC3 29-Apr-91 Many changes to general list support ! X4.0-12 WC3 15-May-91 Portable language consistency ! X4.0-13 WC3 27-May-91 Enhance show window delete to position to the ! window/buffer pair where which contained the cursor ! X4.0-14 WC3 29-Apr-91 Many changes to general list support ! X4.0-15 NMC 30-Apr-91 Add lse$$show_lse$adjustment and support routines ! X4.0-16 DAS 03-Jun-91 Fix SHOW KEY to show GOLD-A ! X4.0-17 WC3 15-May-91 Prompting consistency ! X4.0-18 SHE 16-Jul-91 Added lse$$show_lse$focus_based_selection_model and ! support routines ! X4.0-19 WC3 26-Jul-91 KP4 and KP5 at the search prompt ! X4.0-20 DBH 05-Aug-91 Show lse$integrated & lse$activity_name. ! X4.0-21 NMC 6-Aug-91 Add lse$$show_lse$package and support routines ! X4.0-22 DAS 18-Aug-91 Fixed wrap,diagnostics,fortran,ansi_fortran ! returning 0/1 and not on/off ! X4.0-23 DEC 08-Aug-91 Add placeholder and token support; clean up ! lse$$dispatch_show_cct and lse$$setup_show_window ! X4.0-24 DAS 26-Aug-91 SHOW/ONE/ did noting. Now it does a PREV BUFFER ! X4.0-25 DEC 15-Sep-91 Add lse$context case to expand_case in languages ! X4.0-26 SHE 18-Sep-91 Added SHOW for lse$menu_mnemonics ! X4.0-27 DBH 10-Oct-91 Added lse$$show_lse$integrated to system show. ! X4.0-28 DAS 27-Oct-91 Missing local definitions of CHAR_POINTER ! X4.0-29 WC3 15-Nov-91 Fix lse$delete_created_show_window to preserve ! the buffer replacement state when replacing ! another show buffer. ! X4.0-30 WC3 21-Nov-91 Change lse$$k_pkeypad_vmscli to lse$$k_pkeypad_vmslse ! X4.0-31 SAA 22-Nov-91 Re-org of SHOW ATTRIBUTES display. ! Added lse$$_show_lse$grammar_prefix_and_help. ! Deleted lse$$show_lse$grammar_prefix. ! Removed "null string" from lse$$show_lse$integrated. ! X4.0-32 SAA 27-Nov-91 Changed 'grammar_prefix...' to not translate ! logicials in help library names. Added PARSEFAIL trap. ! X4.0-33 NMC 4-Dec-91 Add single and list support for lang elem. ROUTINE ! X4.0-34 DEC 27-Dec-91 Don't show package placeholders/tokens ! X4.0-35 NMC 4-Dec-91 Add single and list support for lang elem. ROUTINE ! X4.0-36 NMC 7-Jan-92 Fix bug in lse$show for lse$indentation and ! lse$auto_erase ! X4.0-37 DEC 15-Jan-92 Fix bugs in showing alias type tokens/placeholders ! X4.0-38 WC3 28-Jan-92 Change the order of the SHOW BUFFER output ! X4.0-39 WC3 18-Feb-92 Display readonly directories on ULTRIX ! X4.0-40 SHE 26-Feb-92 Restored displaying of default and source ! directories on Ultrix. ! X4.0-41 WC3 27-Feb-92 Added expand menu to show prompt ! X4.0-42 SHE 25-Apr-92 Added support for lse$save_related_buffers ! X4.0-43 SHE 10-Jun-92 Removed Repository setting from SHOW output. ! X4.3-1 RKB 01-Jul-94 Added lse$max_undo ! X4.3-2 RAM 05-Aug-94 Added book information to the language, placeholder, ! token, package, routine displays. ! X4.3-3 RAM 22-Feb-95 Comment out book information to the language, ! placeholder, token, package, routine displays. ! X4.6-1 JBL 10-Nov-97 Add support for TABS_HARD and UNDO ! ! !FORWARD ROUTINE ! ! lse$show ! lse$$dispatch_show_cct ! lse$$dispatch_show_wind ! lse$$show_default_directory ! lse$$show_height ! lse$$show_lse$balance_windows ! lse$$show_lse$bell ! lse$$show_lse$clipboard ! lse$$show_lse$cursor_bound ! lse$$show_lse$font_condensed ! lse$$show_lse$font_little ! lse$$show_lse$keypad ! lse$$show_lse$integrated ! lse$$show_keyname ! lse$$show_lse$key_list ! lse$$show_lse$max_windows ! lse$$show_lse$min_window_len ! lse$$show_lse$num_of_windows ! lse$$show_lse$pending_delete ! lse$$show_lse$repository ! lse$$show_lse$help_library ! lse$$show_lse$grammar_prefix_and_help ! lse$$show_lse$bot_scrl_margin ! lse$$show_lse$top_scrl_margin ! lse$$show_lse$tabs_visible ! lse$$show_lse$width ! lse$$show_lse$wrap ! lse$$show_lse$auto_reverse ! lse$$show_lse$case_sensitive ! lse$$show_lse$diacritical ! lse$$show_lse$pattern ! lse$$show_lse$cli_parser ! lse$$show_lse$parser_prompting ! lse$$show_lse$span_space ! lse$$show_lse$directory_read_only ! lse$$show_lse$directory_source ! lse$$show_lse$auto_erase ! lse$$show_lse$indentation ! lse$$show_buffer_language ! lse$$show_lse$left_margin ! lse$$show_lse$overviews ! lse$$show_lse$read_only ! lse$$show_lse$tab_increment ! lse$$show_lse$version ! lse$$show_lse$show_mark ! lse$$show_lse$show_mark_list ! lse$$show_lse$buffer ! lse$$show_lse$system ! lse$$show_lse$window ! lse$$show_lse$search ! lse$$show_buffer_name ! lse$$show_input_file ! lse$$show_output_file ! lse$$show_record_count ! lse$$show_right_margin ! lse$$show_max_rec_size ! lse$$show_window_count ! lse$$show_modified ! lse$$show_modifiable ! lse$$show_permanent ! lse$$show_system ! lse$$show_current_direction ! lse$$show_text_entry_mode ! lse$$show_erase_unmodifiable ! lse$$show_journaling ! lse$$show_journal_file ! lse$$show_journal_name ! lse$$show_key_map_list ! lse$$show_max_num_rec ! lse$$show_offset ! lse$$show_offset_column ! lse$$show_tpu_left_margin ! lse$$show_current_line ! lse$$show_safe_for_journal ! lse$$show_tab_stops ! lse$$show_unmodifiable_records ! lse$$open_if_necessary ! lse$$boolean_str ! lse$$show_lse$buffer_list ! lse$$get_buffer_list_line ! lse$$get_buffer_list_header ! lse$$get_name_from_buffer_list_line ! lse$is_show ! lse$is_buffer_list ! lse$$highlight_show ! lse$$show_lse$language_list ! lse$$show_lse$language ! lse$$show_lse$max_undo ! procedure lse$show_module_ident return "4.7-3"; endprocedure; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$SHOW provides a common window and buffer manipulation semantic for ! SHOW commands. ! ! LSE$SHOW takes as input any thing which can be passed to the SHOW built-in. ! It splits the current window, doing any balancing the user may have ! requested. Creates/goes to a buffer whose name is generated and uses ! TPU's SHOW built-in to show the information requested ! ! INPUTS ! ! show_item - A TPU keyword or variable that can be passed to the ! TPU built-in SHOW() ! ! OUTPUTS: ! ! The screen is updated and the appropriate buffer filled ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$show( show_item ) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL saved_show_buffer, saved_info_window, show_buffer_ptr, the_current_buffer, the_current_window; ON_ERROR [OTHERWISE]: IF GET_INFO( saved_show_buffer, 'type' ) <> UNSPECIFIED THEN SHOW_BUFFER := saved_show_buffer; ENDIF; IF GET_INFO( saved_info_window, 'type' ) <> UNSPECIFIED THEN info_window := saved_info_window; ENDIF; lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$show"); ENDON_ERROR; ! We're done if we dispatch to a windowing show ! IF lse$$dispatch_show_wind( show_item ) THEN RETURN TRUE; ENDIF; the_current_buffer := CURRENT_BUFFER; the_current_window := CURRENT_WINDOW; show_buffer_ptr := lse$$setup_show_window(show_item); ! Do any shows we know about ! IF NOT lse$$dispatch_show_cct( show_item, the_current_buffer, the_current_window ) THEN ! We didn't know about the show item, use TPU ! ! Assign the variables to make SHOW() put stuff where we want it. ! SAVED_SHOW_BUFFER := SHOW_BUFFER; SAVED_INFO_WINDOW := INFO_WINDOW; SHOW_BUFFER := SHOW_BUFFER_PTR; INFO_WINDOW := CURRENT_WINDOW; ! First Show call to get the number of line to do the window manipulations ! SHOW( show_item ); ! Clear the variables so the buffer and window are just another ! buffer and window ! SHOW_BUFFER := SAVED_SHOW_BUFFER; INFO_WINDOW := SAVED_INFO_WINDOW; ENDIF; lse$$finish_show_window; RETURN TRUE; ENDPROCEDURE; PROCEDURE lse$$setup_show_window( show_item) ! ! LSE$$SETUP_SHOW_WINDOW sets up the buffer/window for the show_item. ! It returns a pointer to the show buffer. ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL saved_orig_buf, saved_orig_wind, show_buffer_name, show_buffer_ptr, wind; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$setup_show_window "); ENDON_ERROR; saved_orig_buf := current_buffer; saved_orig_wind:= current_window; ! Generate a buffer name ! case GET_INFO( show_item, 'type' ) [ KEYWORD ] : show_buffer_name := STR( show_item ); [ BUFFER ] : show_buffer_name := GET_INFO( show_item, 'name' ); [ STRING ] : show_buffer_name := show_item; [ WINDOW ] : show_buffer_name := GET_INFO( GET_INFO( show_item, 'buffer' ), 'name' ) + '.WINDOW'; [ MARKER ] : show_buffer_name := "MARK_" + STR( lse$$lse_mark_name ); [ LSE$ALIAS_TYPE ] : show_buffer_name := "ALIAS_" + GET_INFO( show_item, 'lse$name' ); [ LSE$ADJUSTMENT_TYPE] : show_buffer_name := "ADJUSTMENT_" + GET_INFO( show_item, 'lse$name' ); [ LSE$LANGUAGE_TYPE] : show_buffer_name := "LANGUAGE_" + get_info ( show_item, 'lse$name'); [ LSE$PLACEHOLDER_TYPE ] : show_buffer_name := "PLACEHOLDER_" + get_info( show_item, 'lse$name'); [ LSE$TOKEN_TYPE ] : show_buffer_name := "TOKEN_" + get_info( show_item, 'lse$name'); [ LSE$PACKAGE_TYPE ]: show_buffer_name := "PACKAGE_" + get_info ( show_item, 'lse$name'); [ LSE$ROUTINE_TYPE] : show_buffer_name := "ROUTINE_" + GET_INFO( show_item, 'lse$name' ); [ otherwise ] : show_buffer_name := STR( show_item ); endcase; show_buffer_name := lse$$k_show_buffer_prefix + show_buffer_name; ! Find it ! show_buffer_ptr := GET_INFO( BUFFER, 'find_buffer', show_buffer_name ); ! If there isn't a buffer yet, create one ! IF show_buffer_ptr = 0 THEN show_buffer_ptr := eve$init_buffer( show_buffer_name, '[End of Show]' ); ELSE lse$shlst_reset( show_buffer_ptr ); ENDIF; ! If show buffer does not have a current window, create a new window if not ! exceeding maximum window limit. If show buffer has a current window, ! position to it. ! IF GET_INFO( show_buffer_ptr, 'map_count' ) = 0 THEN ! Pick a new window for the show buffer. ! If no new window is created, a current window is mapped to the show ! buffer. In this case, the buffer being unmapped is being saved. This ! saved buffer can be remapped to a window whenever a show buffer window ! is deleted. ! IF NOT lse$$auto_pick_a_window(lse$$k_show_buffer_prefix) THEN ! Reusing a window ! IF lse$is_show(current_buffer) THEN ! It is a show window ! The previous show has the right final state. ! ! The end of this procedure updates the globals with the ! buffer and window at entry. We change the locals here ! so the state is preserved. ! saved_orig_buf := lse$$x_show_wind_orig_buf; saved_orig_wind := lse$$x_show_wind_orig_wind; ELSE ! It isn't a show window, save the buffer ! lse$$x_show_wind_repl_buf := current_buffer; ENDIF; ELSE ! Created a new window ! lse$$x_show_wind_repl_buf := tpu$k_unspecified; lse$$x_show_wind_fallback := current_buffer; ENDIF; ELSE wind := GET_INFO( WINDOW, 'first' ); LOOP IF GET_INFO( wind, 'buffer' ) = show_buffer_ptr THEN POSITION( wind ); EXITIF TRUE; ENDIF; wind := GET_INFO( WINDOW, 'next' ); EXITIF wind = 0; ENDLOOP; ENDIF; POSITION( show_buffer_ptr ); MAP( CURRENT_WINDOW, CURRENT_BUFFER ); SET( MODIFIABLE, CURRENT_BUFFER, ON ); ERASE( CURRENT_BUFFER ); lse$$update_status_lines; lse$$x_show_wind_orig_buf := saved_orig_buf; lse$$x_show_wind_orig_wind:= saved_orig_wind; RETURN show_buffer_ptr; ENDPROCEDURE; PROCEDURE lse$$finish_show_window ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! ! Make it unmodifiable ! SET( MODIFIABLE, CURRENT_BUFFER, OFF ); ! Set up status line for all show and buffer list buffer. Position to top ! of the show buffer if current buffer is not the buffer list buffer ! eve$set_fixed_status_line (current_buffer, compile ("return lse$$set_show_buffer_status")); if not lse$is_show_list(current_buffer) then lse$top; endif; lse$$update_status_lines; RETURN TRUE; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! Dispatch to the appropriate show routine ! ! INPUTS ! ! the_item - A TPU keyword ! ! the_buffer - The buffer to be "shown" ! ! the_window - The window to be "shown" ! ! OUTPUTS: ! ! The screen is updated and the appropriate buffer filled ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$dispatch_show_cct( the_item, the_buffer, the_window ) ON_ERROR [TPU$_NOTDEFINABLE]: [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$dispatch_show_cct"); ENDON_ERROR; CASE get_info( the_item, 'type' ) [BUFFER]: return lse$$show_lse$buffer (the_item); [LSE$ALIAS_TYPE]: return lse$$show_lse$alias (the_item); [LSE$ADJUSTMENT_TYPE]: return lse$$show_lse$adjustment (the_item); [MARKER]: return lse$$show_lse$show_mark (the_item); [KEYWORD]: ! Test for keyname. Keyword will fall thru to CASE statement ! (via ON ERROR TPU$_NOTDEFINABLE) if it is not a keyname IF GET_INFO (KEY_NAME( the_item ), 'type') = KEYWORD THEN return lse$$show_keyname(the_item); ENDIF; [LSE$LANGUAGE_TYPE]: return lse$$show_lse$language (the_item); [LSE$PACKAGE_TYPE]: return lse$$show_lse$package (the_item); [LSE$PLACEHOLDER_TYPE]: return lse$$show_lse$placeholder(the_item); [LSE$ROUTINE_TYPE]: return lse$$show_lse$routine (the_item); [LSE$TOKEN_TYPE]: return lse$$show_lse$token(the_item); [OTHERWISE]: return false; ENDCASE; CASE the_item !doc_begin ! ! ONE LINE DEFINITION: ! Display LSE's integration: None, ACAS, Cohesion ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$INTEGRATED ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$integrated]: lse$$show_lse$integrated; !doc_begin ! ! ONE LINE DEFINITION: ! Display the automatic balance widows state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$BALANCE_WINDOWS ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$balance_windows]: lse$$show_lse$balance_windows; !doc_begin ! ! ONE LINE DEFINITION: ! Display the top scroll margin ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$TOP_SCROLL_MARGIN ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$top_scroll_margin]: lse$$show_lse$top_scrl_margin; !doc_begin ! ! ONE LINE DEFINITION: ! Display the bell state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$BELL ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$bell]: lse$$show_lse$bell; !doc_begin ! ! ONE LINE DEFINITION: ! Display the clipboard enabled state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$CLIPBOARD ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$clipboard]: lse$$show_lse$clipboard; !doc_begin ! ! ONE LINE DEFINITION: ! Display the cursor bound state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$CURSOR_BOUND ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$cursor_bound]: lse$$show_lse$cursor_bound; !doc_begin ! ! ONE LINE DEFINITION: ! Display the primary selection model ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$FOCUS_BASED_SELECT) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$focus_based_select]: lse$$show_lse$focus_based_selection_model; !doc_begin ! ! ONE LINE DEFINITION: ! Display the condensed font state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$FONT_CONDENSED ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$font_condensed]: lse$$show_lse$font_attr; !doc_begin ! ! ONE LINE DEFINITION: ! Display the little font state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$FONT_LITTLE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$font_little]: lse$$show_lse$font_attr; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current keypad ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$KEYPAD ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$keypad]: lse$$show_lse$keypad; !doc_begin ! ! ONE LINE DEFINITION: ! Displays all the keys and their definitions ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$KEYLIST ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$key_list]: lse$$show_lse$key_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays all the defined languages ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$LANGUAGE_LIST ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$language_list]: lse$$show_lse$language_list( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the maximum number of automatically created windows ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$MAX_WINDOWS ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$max_windows]: lse$$show_lse$max_windows; !doc_begin ! ! ONE LINE DEFINITION: ! Display the minimum automatically created window length ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$MIN_WINDOW_LEN ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$min_window_len]: lse$$show_lse$min_window_len; !doc_begin ! ! ONE LINE DEFINITION: ! Display the number of windows ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$NUM_OF_WINDOWS ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$num_of_windows]: lse$$show_lse$num_of_windows; !doc_begin ! ! ONE LINE DEFINITION: ! Display whether we are using the CLI based parser ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$CLI_PARSER ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$cli_parser]: lse$$show_lse$cli_parser; !doc_begin ! ! ONE LINE DEFINITION: ! Display the pending delete state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$PENDING_DELETE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$pending_delete]: lse$$show_lse$pending_delete; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current prompt settings ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$PROMPT ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$prompt]: lse$$show_lse$prompt; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current repository ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$REPOSITORY ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$repository]: lse$$show_lse$repository; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current help library ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$HELP_LIBRARY ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$help_library]: lse$$show_lse$help_library; !doc_begin ! ! ONE LINE DEFINITION: ! Display the bottom scroll margin ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$BOTTOM_SCROLL_MARGIN ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$bottom_scroll_margin]: lse$$show_lse$bot_scrl_margin; !doc_begin ! ! ONE LINE DEFINITION: ! Display the visible tabs state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$TABS_VISIBLE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$tabs_visible]: lse$$show_lse$tabs_visible; !doc_begin ! ! ONE LINE DEFINITION: ! Display whether or not related buffers are saved on COMPILE. ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$SAVE_RELATED_BUFFERS ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$save_related_buffers]: lse$$show_lse$save_related_buffers; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current screen width ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$WIDTH ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$width]: lse$$show_lse$width; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current buffer's wrap state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$WRAP ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$wrap]: lse$$show_lse$wrap( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the global window attributes ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$WINDOW ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$window]: lse$$show_lse$window; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current buffer attributes ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$BUFFER ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$buffer]: lse$$show_lse$buffer( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the current search attributes ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$SEARCH ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$search]: lse$$show_lse$search; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current system attributes ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$SYSTEM ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$system]: lse$$show_lse$system; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current search auto reverse state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$AUTO_REVERSE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$auto_reverse]: lse$$show_lse$auto_reverse; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current search case sensitivity state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$CASE_SENSITIVE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$case_sensitive]: lse$$show_lse$case_sensitive; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current search diacritical sensitivity ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$DIACRITICAL ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$diacritical]: lse$$show_lse$diacritical; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current search pattern ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$PATTERN ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$pattern]: lse$$show_lse$pattern; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current search span space state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$SPAN_SPACE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$span_space]: lse$$show_lse$span_space; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current read only directory(s) ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$DIRECTORY_READ_ONLY ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$directory_read_only]: lse$$show_lse$directory_read_only; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current source directory ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$DIRECTORY_SOURCE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$directory_source]: lse$$show_lse$directory_source; !doc_begin ! ! ONE LINE DEFINITION: ! Display the current system attributes ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$AUTO_ERASE ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$auto_erase]: lse$$show_lse$auto_erase( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the current buffer's indentation ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$INDENTATION ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$indentation]: lse$$show_lse$indentation ( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the current buffer's left margin ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$LEFT_MARGIN ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$left_margin]: lse$$show_lse$left_margin( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the current buffer's read only state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$READ_ONLY ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$read_only]: lse$$show_lse$read_only( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the current buffer's tab increment ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$TAB_INCREMENT ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$tab_increment]: lse$$show_lse$tab_increment( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the version of LSE ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$VERSION ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$editor_version]: lse$$show_lse$version; !doc_begin ! ! ONE LINE DEFINITION: ! Displays the list of user marks currently defined. ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$SHOW_MARK_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$show_mark_list]: lse$$show_lse$show_mark_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of all buffers currently active ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$BUFFER_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$buffer_list]: lse$$show_lse$buffer_list(the_buffer); !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of alias associated with the current language ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$ALIAS_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$alias_list]: lse$$show_lse$alias_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of adjustment associated with the current language ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$ADJUSTMENT_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$adjustment_list]: lse$$show_lse$adjustment_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of all defined packages ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$PACKAGE_LIST ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$package_list]: lse$$show_lse$package_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of routines associated with the current package ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$PACK_ROUTINE_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$pack_routine_list]: lse$$show_lse$pack_routine_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of routines associated with the current language ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$LANG_ROUTINE_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$lang_routine_list]: lse$$show_lse$lang_routine_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of placeholders associated with the current language ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$PLACEHOLDER_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$placeholder_list]: lse$$show_lse$placeholder_list; !doc_begin ! ! ONE LINE DEFINITION: ! Displays a list of tokens associated with the current language ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$TOKEN_LIST) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$token_list]: lse$$show_lse$token_list; !doc_begin ! ! ONE LINE DEFINITION: ! Display the menu mnemonics state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$MENU_MNEMONICS) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$menu_mnemonics]: lse$$show_lse$menu_mnemonics; !doc_begin ! ! ONE LINE DEFINITION: ! Display the max number of commands that can be undone for this buffer ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$MAX_UNDO ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$max_undo]: lse$$show_lse$max_undo( the_buffer ); !doc_begin ! ! ONE LINE DEFINITION: ! Display the hard tabs state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$TABS_HARD ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$tabs_hard]: lse$$show_lse$tabs_hard; !doc_begin ! ! ONE LINE DEFINITION: ! Display the UNDO enabled state ! ! DESCRIPTION: ! «TBS» ! ! SYNTAX: ! LSE$SHOW( LSE$UNDO ) ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! [lse$undo]: lse$$show_lse$undo; [OTHERWISE] : RETURN false; ENDCASE; RETURN TRUE; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! Dispatch to the appropriate show routine ! ! INPUTS ! ! the_item - A TPU keyword ! ! OUTPUTS: ! ! The windowing show is called ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$dispatch_show_wind( the_item ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$dispatch_show_wind"); ENDON_ERROR; if lse$use_dialog_box then CASE the_item [lse$window]: lse$$widget_window_attributes; [lse$search]: lse$$widget_search_preferences; [lse$system]: lse$$widget_global_attributes; [OTHERWISE]: RETURN false ENDCASE; RETURN TRUE; ENDIF; RETURN FALSE; ENDPROCEDURE; ! The following routines are the worker routines for LSE's extensions to ! TPU's SHOW builtin. ! ! They are called with the current buffer being the buffer to put the ! show output into. ! ! ! LSE$$SHOW_DEFAULT_DIRECTORY ! ! This procedure displays the current default directory in the message window. ! PROCEDURE lse$$show_default_directory ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_default_directory"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_dirdeflbl ) + GET_INFO( SYSTEM, 'default_directory' ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_height ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_height"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_scrhtlbl ) + STR( GET_INFO( SCREEN, 'visible_length' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$balance_windows ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$balance_windows"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_balwindlbl ) + lse$$boolean_str( GET_INFO( lse$window, 'lse$balance_windows' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$bell ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$bell"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_belllbl ) ); IF GET_INFO( SYSTEM, 'bell' ) = 0 THEN COPY_TEXT( lse$get_message_text( lse$_off ) ); ELSE COPY_TEXT( STR( GET_INFO( SYSTEM, 'bell' ) ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$clipboard ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$clipboard"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_clpbrdlbl ) + lse$$boolean_str( GET_INFO( lse$system, 'lse$clipboard' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$cursor_bound ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$cursor_bound"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bndcurlbl ) ); IF GET_INFO( lse$system, 'lse$cursor_bound' ) THEN COPY_TEXT( lse$list_extract( lse$_cursordelimit, lse$_cursorlist, lse$$k_cursor_bound ) ); ELSE COPY_TEXT( lse$list_extract( lse$_cursordelimit, lse$_cursorlist, lse$$k_cursor_free ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$focus_based_selection_model ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$focus_based_selection_model"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_primsellbl ) ); IF GET_INFO( lse$system, 'lse$focus_based_select' ) THEN COPY_TEXT( lse$list_extract( lse$_selmodeldelimit, lse$_selmodellist, lse$$k_sel_model_focus ) ); ELSE COPY_TEXT( lse$list_extract( lse$_selmodeldelimit, lse$_selmodellist, lse$$k_sel_model_selection ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$menu_mnemonics ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$menu_mnemonics"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_menumnemlbl ) + lse$$boolean_str( GET_INFO( lse$system, 'lse$menu_mnemonics' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$font_attr ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$font_attr"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_fntattrlbl ) ); IF GET_INFO( lse$window, 'lse$font_condensed' ) THEN COPY_TEXT( lse$list_extract( lse$_fontdelimit, lse$_fontlist, lse$$k_font_condensed ) ); ELSE COPY_TEXT( lse$list_extract( lse$_fontdelimit, lse$_fontlist, lse$$k_font_normal ) ); ENDIF; COPY_TEXT( lse$get_message_text( lse$_fontdelimit ) ); IF GET_INFO( lse$window, 'lse$font_little' ) THEN COPY_TEXT( lse$list_extract( lse$_fontdelimit, lse$_fontlist, lse$$k_font_little ) ); ELSE COPY_TEXT( lse$list_extract( lse$_fontdelimit, lse$_fontlist, lse$$k_font_big ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$integrated LOCAL activity_name, integration_level; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$integrated"); ENDON_ERROR; lse$$open_if_necessary; integration_level := GET_INFO( lse$system, 'lse$integrated'); activity_name := GET_INFO( lse$system, 'lse$activity_name'); CASE integration_level [0]: COPY_TEXT( lse$get_message_text( lse$_integlbl ) + lse$get_message_text( lse$_none )); [1]: COPY_TEXT( lse$get_message_text( lse$_integlbl ) + lse$get_message_text( lse$_acas )); SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_actnamelbl ) + activity_name ); [3]: COPY_TEXT( lse$get_message_text( lse$_integlbl ) + lse$get_message_text( lse$_cohesion )); SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_actnamelbl ) + activity_name ); ENDCASE; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$keypad ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$keypad"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_keypadlbl )+ STR( GET_INFO( lse$system, 'lse$keypad' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_keyname(tpu_keyword) local tpu_keyword_string, legend, topic, remark, cmd, comm, the_key_map_list, char_pointer; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_keyname"); ENDON_ERROR; lse$$open_if_necessary; the_key_map_list := eve$current_key_map_list; tpu_keyword_string := eve$key_name (tpu_keyword); comm:= lookup_key(tpu_keyword, comment); lse$$decode_key_comment(comm, topic, legend, remark, cmd); ! ! If the user wants to the SHIFT_KEY (aka GOLD key), then we use a different ! format for that display. ! Test for GOLD changed because doesn't always work (SHIFT_KEY builtin is ! known to have some problems). ! ! N.B. The value '*** Sets STATE=GOLD ***' is set in KEY.B32. ! if (cmd = '*** Sets STATE=GOLD ***') !if (get_info (the_key_map_list, "SHIFT_KEY") = tpu_keyword) then copy_text( lse$get_message_text( lse$_keynamelbl ) + tpu_keyword_string + lse$get_message_text( lse$_keygldstalbl ) ); split_line; copy_text( lse$get_message_text( lse$_keytopiclbl ) + lse$get_message_text( lse$_keygldlbl ) ); split_line; copy_text( lse$get_message_text( lse$_keyleglbl ) + lse$get_message_text( lse$_keygldlbl ) ); split_line; else ! ! Not the SHIFT_KEY ! if (lookup_key(tpu_keyword,program)) = 0 then ! ! Undefined key ! eve$message( lse$_keynotdef, 0, tpu_keyword_string); return false else ! ! Defined key ! ! Remove , SHIFT from the tpu_keyword_string in order to fix ! a bug (LSE_XBUGS 1209) dealing with erroneous SHIFT in ! show key. char_pointer := index(tpu_keyword_string, ', SHIFT'); if char_pointer <> 0 then tpu_keyword_string := substr(tpu_keyword_string, 1, (char_pointer - 1)); endif; copy_text( lse$get_message_text(lse$_keynamelbl) + tpu_keyword_string ); split_line; copy_text( lse$get_message_text(lse$_keycmdlbl) + cmd ); split_line; copy_text( lse$get_message_text( lse$_keytopiclbl ) + topic); split_line; copy_text( lse$get_message_text( lse$_keyleglbl ) + legend); split_line; copy_text( lse$get_message_text(lse$_keyrmklbl) + remark); split_line; endif; endif; ! return true exclusively ! split_line; return true; ENDPROCEDURE; PROCEDURE lse$$show_lse$key_list local legend, position_mark, topic, the_key, the_key_name, the_key_map_list, cmd, comm, non_gold, remark, char_pointer; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$key_list"); ENDON_ERROR; lse$$open_if_necessary; lse$shlst_register( lse$key_list, GET_INFO( current_buffer, 'name' ) ); the_key_map_list := eve$current_key_map_list; copy_text( lse$get_message_text( lse$_keyhdrlbl ) ); split_line; split_line; non_gold := mark(NONE); the_key := get_info (DEFINED_KEY, "first", the_key_map_list ); loop exitif the_key = 0; the_key_name := eve$key_name(the_key); edit(the_key_name, upper,OFF); ! Remove , SHIFT from the the_key_name in order to fix ! a bug (LSE_XBUGS 1209) dealing with erroneous SHIFT in ! show key list. char_pointer := index(the_key_name, ', SHIFT'); if char_pointer <> 0 then the_key_name := substr(the_key_name, 1, (char_pointer - 1)); endif; position (non_gold); if (lookup_key(the_key,program)) <> 0 then comm:= lookup_key(the_key, comment); lse$$decode_key_comment(comm, topic, legend, remark, cmd); the_key_name := lse$$truncated_name_string( the_key_name, lse$$k_key_list_name_len ); copy_text(the_key_name); copy_text(fao("!#* ", lse$$k_key_list_name_len - length(the_key_name))); copy_text(cmd); if position_mark = 0 then position( line_begin ); position_mark := mark( free_cursor ); position( line_end ); endif; split_line; endif; non_gold := mark(none); the_key := get_info (DEFINED_KEY, "next", the_key_map_list); endloop; position( position_mark ); ENDPROCEDURE; PROCEDURE lse$$show_lse$max_windows ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$max_windows"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_maxwindlbl ) + STR( GET_INFO( lse$window, 'lse$max_windows' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$min_window_len ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$min_window_len"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_minwindlbl ) + STR( GET_INFO( lse$window, 'lse$min_window_len' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$num_of_windows ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$num_of_windows"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_numwindlbl ) + STR( GET_INFO( lse$window, 'lse$num_of_windows' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$pending_delete ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$pending_delete"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_penddellbl ) + lse$$boolean_str( GET_INFO( lse$system, 'lse$pending_delete' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$repository ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$repository"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_curreplbl ) + GET_INFO( lse$system, 'lse$repository' ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$help_library ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$help_library"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_hlpliblbl ) + GET_INFO( lse$system, 'lse$help_library' ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$grammar_prefix_and_help LOCAL i, library_name, library, result; ON_ERROR [TPU$_PARSEFAIL]: ! If this error occurred, there is a syntax error ! in a filespec (most probably DEFAULT DIRECTORY). ! Set library name to empty string and continue. ! library_name := ''; [OTHERWISE]: lse$$unexpected_error(ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$grammar_prefix_and_help"); ENDON_ERROR; lse$$open_if_necessary; ! There is always at least one prefix enabled. ! "last" element of array is the "top-of-stack". i := get_info (lse$$x_prefix_stack, "last"); result := lse$$x_prefix_stack {i}; loop ! If there is a help library associated with this ! prefix, translate any logicals in the name ! and look it up. If the file does not exist, ! return the un-translated name. ! !library_name := file_search (''); ! init file_search !library_name := eve$get_help_item (eve$k_help_library, result); !library := file_search (library_name); !if library = '' !then ! library := library_name; !endif; ! Don't translate the logicals here. Just display the name. ! library := eve$get_help_item (eve$k_help_library, result); lse$copy_line(lse$get_message_text (lse$_grmpfxlbl) + result); lse$copy_line(lse$get_message_text (lse$_hlpliblbl) + library); i := get_info (lse$$x_prefix_stack, "previous"); exitif i = tpu$k_unspecified; result := lse$$x_prefix_stack {i}; endloop; ENDPROCEDURE; PROCEDURE lse$$show_lse$bot_scrl_margin ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$bot_scrl_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_botscrlbl ) + STR( GET_INFO( lse$window, 'lse$bottom_scroll_margin' ) ) + '%' ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$top_scrl_margin ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$top_scrl_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_topscrlbl ) + STR( GET_INFO( lse$window, 'lse$top_scroll_margin' ) ) + '%' ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$tabs_visible ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$tabs_visible"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_vistablbl ) + lse$$boolean_str( GET_INFO( lse$window, 'lse$tabs_visible' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$save_related_buffers ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$save_related_buffers"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_relbuflbl ) + lse$$boolean_str( GET_INFO( lse$system, 'lse$save_related_buffers' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$width ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$width"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_scrwidlbl ) + STR( GET_INFO( lse$window, 'lse$width' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$wrap( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$wrap"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufwrplbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'lse$wrap' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$auto_reverse ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$auto_reverse"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_SEAATOLBL ) + lse$$boolean_str( get_info( lse$search, 'lse$auto_reverse' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$case_sensitive ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$case_sensitive"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_seacaslbl ) + lse$$boolean_str( get_info( lse$search, 'lse$case_sensitive' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$diacritical ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$diacritical"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_seadialbl ) + lse$$boolean_str( get_info( lse$search, 'lse$diacritical' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$pattern ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$pattern"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_seapatlbl ) ); CASE GET_INFO( lse$search, 'lse$pattern' ) [lse$os_vms] : COPY_TEXT( lse$get_message_text( lse$_vms ) ); [lse$os_ultrix]: COPY_TEXT( lse$get_message_text( lse$_ultrix ) ); [lse$os_tpu]: COPY_TEXT( lse$get_message_text( lse$_tpu ) ); [otherwise] : MESSAGE( lse$_internerr, 0, 'lse$$show_lse$pattern' ); ENDCASE; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$cli_parser ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$cli_parser"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_cmdlnglbl ) ); IF GET_INFO( lse$system, 'lse$cli_parser' ) THEN COPY_TEXT( lse$list_extract( lse$_cmdlngdelimit, lse$_cmdlnglist, lse$$k_cmdlng_vmslse ) ); ELSE COPY_TEXT( lse$list_extract( lse$_cmdlngdelimit, lse$_cmdlnglist, lse$$k_cmdlng_portable ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$span_space ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$span_space"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_seaspslbl ) + lse$$boolean_str( get_info( lse$search, 'lse$span_space' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$directory_read_only LOCAL last_rod, lbl, current_rod; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$directory_read_only"); ENDON_ERROR; last_rod := get_info( lse$system, 'last', lse$directory_read_only ); current_rod := get_info( lse$system, 'first', lse$directory_read_only ); IF current_rod = 0 THEN last_rod := ''; current_rod := ''; ENDIF; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_dirredlbl ) + current_rod ); SPLIT_LINE; loop exitif current_rod = last_rod; current_rod := get_info( lse$system, 'next', lse$directory_read_only ); COPY_TEXT( lse$get_message_text( lse$_dirspalbl ) + current_rod ); SPLIT_LINE; endloop; ENDPROCEDURE; PROCEDURE lse$$show_lse$directory_source ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$directory_source"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_dirsrclbl ) + GET_INFO( SYSTEM, 'lse$directory_source' ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$auto_erase( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$auto_erase"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufatolbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'lse$auto_erase' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$indentation( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$indentation"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufindlbl ) + STR( GET_INFO( the_buffer, 'lse$indentation' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_buffer_language( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_buffer_language"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_buflnglbl ) ); IF GET_INFO( the_buffer, 'lse$language' ) = 0 THEN COPY_TEXT( lse$get_message_text( lse$_unklang ) ); ELSE COPY_TEXT( GET_INFO( the_buffer, 'lse$language' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$left_margin( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$left_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_buflmglbl ) + STR( GET_INFO( the_buffer, 'lse$left_margin' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$overviews( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$overviews"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufovrlbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'lse$overviews' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$read_only( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$read_only"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_closelbl ) ); IF GET_INFO( the_buffer, 'lse$read_only' ) THEN COPY_TEXT( lse$list_extract( lse$_closedelimit, lse$_closelist, lse$$k_close_read_only ) ); ELSE COPY_TEXT( lse$list_extract( lse$_closedelimit, lse$_closelist, lse$$k_close_save ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$tab_increment( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$tab_increment"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_buftablbl ) + STR( GET_INFO( the_buffer, 'lse$tab_increment' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$version LOCAL version; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$version"); ENDON_ERROR; lse$$open_if_necessary; ! Suppress edit version if 0. version := GET_INFO( lse$system, 'lse$version' ); ! if INDEX(version, "-0") <> 0 then version := version - "-0"; endif; COPY_TEXT( lse$get_message_text( lse$_versionlbl ) + version); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$show_mark (the_item) LOCAL null_text, buffer_ptr, user_mark_buffer, first_line, second_line, third_line; lse$$open_if_necessary; ! + ! Derive the buffer name associated with the user marker. ! - buffer_ptr := get_info (the_item, 'buffer'); user_mark_buffer := get_info (buffer_ptr, 'name'); ! + ! Write user marker name & corresponding buffer name to the show buffer. ! - copy_text( lse$get_message_text( LSE$_MARKERNAME ) + str( lse$$lse_mark_name) ); split_line; copy_text( lse$get_message_text( LSE$_BUFFERNAME ) + str(user_mark_buffer) ); split_line; ! + ! Given the marker name, we can position to it even though marker may not ! be in the same buffer. Then read 3 lines of text below, starting from ! a position where user mark is located. ! - lse$$push_position; ! For the current position in the show buffer position( get_info( the_item, 'buffer' ) ); lse$$push_position; ! For the marker's buffer current position position (the_item); if mark (none) <> end_of (CURRENT_BUFFER) then position (line_begin); first_line := CURRENT_LINE; move_vertical ( + 1); if mark (none) <> end_of (CURRENT_BUFFER) then position ( line_begin ); second_line := CURRENT_LINE; move_vertical ( + 1); if mark (none) <> end_of (CURRENT_BUFFER) then position ( line_begin ); third_line := CURRENT_LINE; endif; endif; endif; ! Return back to the editing point. ! position (the_item); lse$$pop_position; ! For the marker's buffer position lse$$pop_position; ! For the position in the show buffer split_line; if get_info(first_line, 'type') = STRING then null_text := ' '; if get_info(second_line, 'type') = STRING then copy_text( null_text + ' : ' + first_line ); split_line; copy_text( lse$get_message_text ( LSE$_ASSOTEXT ) + second_line ); split_line; if get_info(third_line, 'type') = STRING then copy_text( null_text + ' : ' + third_line ); endif; else copy_text( lse$get_message_text ( LSE$_ASSOTEXT ) + first_line ); split_line; endif; else copy_text( lse$get_message_text ( LSE$_ASSOTEXT ) + lse$get_message_text (LSE$_EOF) ); endif; split_line; ! Return true exclusively. (needed) ! split_line; return true; ENDPROCEDURE; PROCEDURE lse$$show_lse$show_mark_list LOCAL cancel_flag, first_time_flag, temp_mark, user_mark, temp_index, null_text, mark_text, mark_list, user_mark_buffer, buffer_ptr, expand_name_result; on_error [TPU$_CONTROLC ] : return (""); [TPU$_NONAMES ] : expand_name_result := 0; [TPU$_MULTIPLENAMES] : expand_name_result := 2; [OTHERWISE]: endon_error; lse$shlst_register( lse$show_mark_list, GET_INFO( current_buffer, 'name' ) ); ! + ! Initialization. - All LSE user markers have the prefix LSE$$MARK_. ! Check whether user markers exist or not. ! - cancel_flag := true; first_time_flag := true; expand_name_result := 1; ! Expand the marker varibale names. mark_list := expand_name (lse$$k_mark_prefix, variables); ! + ! If no user marker defined then put a message in the show buffer & return. ! - if mark_list = "" then copy_text( message_text( LSE$_NOUSERMARK ) ); split_line; return; endif; change_case (mark_list, upper); !+ ! Go through the list of user markers and display them one by one. !- loop temp_index := index (mark_list, " "); if (temp_index = 0) then temp_mark := mark_list; user_mark := substr (temp_mark, length(lse$$k_mark_prefix) + 1, length(temp_mark) ); else temp_mark := substr (mark_list, 1, temp_index - 1 ); user_mark := substr (temp_mark, length(lse$$k_mark_prefix) + 1, temp_index - 1); endif; if ( temp_mark <> TPU$K_UNSPECIFIED ) AND ( temp_mark <> '' ) then execute ("lse$$x_user_mark := " + temp_mark); endif; ! Check whether there is at least one valid marker. if get_info( lse$$x_user_mark, 'type' ) = MARKER then cancel_flag := false; buffer_ptr := get_info (lse$$x_user_mark, 'buffer'); user_mark_buffer := get_info (buffer_ptr, 'name'); null_text := ' '; ! Marker names are limited to 21 characters. ! user_mark := lse$$truncated_name_string( user_mark, lse$k_mark_output_length ); mark_text := substr(null_text, 1, length(null_text)-length(user_mark) ) + user_mark + ' '; !+ ! If it is first time and if there is at least one valid marker, ! then put the header labels for marker name & buffer names to list. !- if first_time_flag AND (cancel_flag = false) then copy_text( lse$get_message_text( LSE$_MARKERNAME ) + ' ' + lse$get_message_text( LSE$_BUFFERPROMPT ) ); split_line; first_time_flag := false; endif; ! Write the user mark and corresponding buffer name. split_line; copy_text(mark_text + ' ' + user_mark_buffer); endif; mark_list := substr (mark_list, temp_index + 1, length(mark_list)); exitif (temp_index = 0); endloop; !+ ! If there was not even a single valid mark and if there was at least one ! valid marker variable name, then they all indicate cancelled markers. !- if cancel_flag AND ( expand_name_result <> 0 ) then copy_text( message_text( LSE$_ALLMARKCAN ) ); split_line; return; endif; ! Return true exclusively. POSITION( 3 ); return true; ENDPROCEDURE; PROCEDURE lse$$show_lse$alias (the_item) LOCAL alias_name, alias_exp_text; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$alias"); ENDON_ERROR; lse$$open_if_necessary; ! Get the name and expanded text attributes for alias ! alias_name := get_info( the_item, 'lse$name' ); alias_exp_text := get_info( the_item, 'lse$expand_text' ); ! Write the alias attributes to the show buffer. Note that the language ! associated with the alias is temporarily set to be the current language before ! doing the show. ! lse$copy_line( lse$get_message_text( lse$_aliasnamlbl ) + alias_name ); lse$copy_line( lse$get_message_text( lse$_aliasexptxtlbl ) + alias_exp_text ); ! Return true exclusively. ! split_line; return true; ENDPROCEDURE; PROCEDURE lse$$show_lse$adjustment (the_adjustment) LOCAL inherit_set; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$adjustment"); ENDON_ERROR; lse$$open_if_necessary; lse$$show_adjustment_name( the_adjustment ); lse$$show_adjustment_pattern( the_adjustment ); lse$$show_adjustment_compress( the_adjustment ); lse$$show_adjustment_count_lines( the_adjustment ); lse$$show_adjustment_prefix( the_adjustment ); lse$$show_adjustment_inherit( the_adjustment ); lse$$show_adjustment_overview( the_adjustment ); lse$$show_adjustment_unit( the_adjustment ); lse$$show_adjustment_curr_line( the_adjustment ); lse$$show_adjustment_subseq_line( the_adjustment ); ! Return true exclusively. ! return true; ENDPROCEDURE; procedure lse$$show_adjustment_name(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_name"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjnamlbl ) + get_info( the_adjustment, 'lse$name' )); endprocedure; ! lse$$show_adjustment_name procedure lse$$show_adjustment_pattern(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_pattern"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjpatlbl ) + get_info( the_adjustment, 'lse$pattern' )); endprocedure; ! lse$$show_adjustment_pattern procedure lse$$show_adjustment_compress(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_compress"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjcmplbl ) + str( get_info( the_adjustment, 'lse$compress' ))); endprocedure; ! lse$$show_adjustment_compress procedure lse$$show_adjustment_count_lines(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_count_lines"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjcntlbl ) + str( get_info( the_adjustment, 'lse$count_lines' ))); endprocedure; ! lse$$show_adjustment_count_lines procedure lse$$show_adjustment_prefix(the_adjustment) LOCAL prefix_set; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_prefix"); ENDON_ERROR; lse$$open_if_necessary; prefix_set := get_info( the_adjustment, 'lse$prefix'); lse$copy_line( lse$get_message_text( lse$_adjpfxlbl ) + str( prefix_set )); if prefix_set = on then copy_text( lse$get_message_text(lse$_adjpfxindlbl) ); case get_info(the_adjustment, 'lse$prefix_indent') [lse$current] : lse$copy_line("CURRENT"); [lse$following] : lse$copy_line("FOLLOWING"); endcase; copy_text( lse$get_message_text(lse$_adjpfxadjlbl) ); case get_info(the_adjustment, 'lse$prefix_adjust') [lse$current] : lse$copy_line("CURRENT"); [lse$following] : lse$copy_line("FOLLOWING"); endcase; endif; endprocedure; ! lse$$show_adjustment_prefix procedure lse$$show_adjustment_inherit(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_inherit"); ENDON_ERROR; lse$$open_if_necessary; copy_text( lse$get_message_text(lse$_adjihtvallbl) ); case get_info(the_adjustment, 'lse$inherit') [lse$maximum] : lse$copy_line("MAXIMUM"); [lse$minimum] : lse$copy_line("MINIMUM"); [lse$next] : lse$copy_line("NEXT"); [lse$previous] : lse$copy_line("PREVIOUS"); [none] : lse$copy_line("NONE"); endcase; endprocedure; ! lse$$show_adjustment_inherit procedure lse$$show_adjustment_overview(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_overview"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjovwlbl ) + str( get_info( the_adjustment, 'lse$overviews' ))); endprocedure; ! lse$$show_adjustment_overview procedure lse$$show_adjustment_unit(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_unit"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjuntlbl ) + str( get_info( the_adjustment, 'lse$unit' ))); endprocedure; ! lse$$show_adjustment_unit procedure lse$$show_adjustment_curr_line(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_curr_line"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjcurlinlbl ) + str( get_info( the_adjustment, 'lse$current_line' ))); endprocedure; ! lse$$show_adjustment_curr_line procedure lse$$show_adjustment_subseq_line(the_adjustment) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_adjustment_subseq_line"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_adjssqlinlbl ) + str( get_info( the_adjustment, 'lse$subsequent_line' ))); endprocedure; ! lse$$show_adjustment_subseq_line PROCEDURE lse$$show_lse$package (the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$package"); ENDON_ERROR; lse$$open_if_necessary; lse$$show_package_name( the_package ); split_line; lse$$show_package_help_file( the_package ); lse$$show_package_help_topic( the_package ); !-Hyperhelp ! lse$$show_package_book( the_package ); ! lse$$show_package_bookreference( the_package ); !-Hyperhelp split_line; lse$$show_package_assoc_lang( the_package ); lse$$show_package_rout_expand( the_package ); lse$$show_package_param_expand( the_package ); ! Return true exclusively. ! return true; ENDPROCEDURE; procedure lse$$show_package_name(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_name"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packnamlbl ) + get_info( the_package, 'lse$name' ) ); endprocedure; ! lse$$show_package_name procedure lse$$show_package_help_file(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_help_file"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packhlpfillbl ) + get_info( the_package, 'lse$help_library' )); endprocedure; ! lse$$show_package_help_file procedure lse$$show_package_help_topic(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_help_topic"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packhlptoplbl ) + get_info( the_package, 'lse$help_prefix' )); endprocedure; ! lse$$show_package_help_topic procedure lse$$show_package_assoc_lang(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_assoc_lang"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packasslanglbl ) + lse$$get_pack_lang_names(the_package) ); endprocedure; ! lse$$show_package_assoc_lang procedure lse$$show_package_rout_expand(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_rout_expand"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packroutproclbl ) + get_info( the_package, 'lse$routine_exp_prefix' )); endprocedure; ! lse$$show_package_rout_expand procedure lse$$show_package_param_expand(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_param_expand"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packprmproclbl ) + get_info( the_package, 'lse$parameter_exp_prefix' )); endprocedure; ! lse$$show_package_param_expand PROCEDURE lse$$show_lse$routine (the_item) LOCAL curr_param_str; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$routine"); ENDON_ERROR; lse$$open_if_necessary; ! Get the name and attributes for routine ! ! Write the routine attributes to the show buffer. Note that the package ! associated with the routine is temporarily set to be the current package before ! doing the show. ! lse$copy_line( lse$get_message_text( lse$_routnamlbl ) + get_info( the_item, 'lse$name' ) ); !-Hyperhelp !lse$copy_line( lse$get_message_text( lse$_routbooklbl ) + ! get_info( the_item, 'lse$book' ) ); !lse$copy_line( lse$get_message_text( lse$_routbkreflbl ) + ! get_info( the_item, 'lse$bookreference' ) ); !-Hyperhelp lse$copy_line( lse$get_message_text( lse$_routdesclbl ) + get_info( the_item, 'lse$description' ) ); lse$copy_line( lse$get_message_text( lse$_routhlptoplbl ) + get_info( the_item, 'lse$help_topic' ) ); lse$copy_line( lse$get_message_text( lse$_routasspacklbl ) + str(get_info(get_info( the_item, 'lse$package_type' ), 'lse$name' ))); ! List all the parameters for this routine ! copy_text( lse$get_message_text( lse$_routparamlbl ) ); curr_param_str := get_info( the_item, 'first', lse$parameter ); if curr_param_str <> 0 then lse$copy_line(str(get_info(curr_param_str, 'lse$param_string')) + '/' + str(get_info(curr_param_str, 'lse$required')) + '/' + str(get_info(curr_param_str, 'lse$mechanism')) ); curr_param_str := get_info( the_item, 'next', lse$parameter ); endif; loop exitif curr_param_str = 0; lse$copy_line( lse$get_message_text( lse$_routparam1lbl ) + str(get_info(curr_param_str, 'lse$param_string')) + '/' + str(get_info(curr_param_str, 'lse$required')) + '/' + str(get_info(curr_param_str, 'lse$mechanism')) ); curr_param_str := get_info( the_item, 'next', lse$parameter ); endloop; ! Return true exclusively. ! split_line; return true; ENDPROCEDURE; PROCEDURE lse$$show_lse$buffer( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$buffer"); ENDON_ERROR; lse$$open_if_necessary; lse$$show_buffer_name( the_buffer ); SPLIT_LINE; lse$$show_input_file( the_buffer ); lse$$show_output_file( the_buffer ); lse$$show_journal_file( the_buffer ); lse$$show_journal_name( the_buffer ); lse$$show_safe_for_journal( the_buffer ); lse$$show_journaling( the_buffer ); SPLIT_LINE; lse$$show_buffer_language( the_buffer ); lse$$show_key_map_list( the_buffer ); SPLIT_LINE; lse$$show_modified( the_buffer ); lse$$show_lse$read_only( the_buffer ); lse$$show_modifiable( the_buffer ); lse$$show_unmodifiable_records( the_buffer ); lse$$show_erase_unmodifiable( the_buffer ); SPLIT_LINE; lse$$show_text_entry_mode( the_buffer ); lse$$show_current_direction( the_buffer ); lse$$show_lse$indentation( the_buffer ); lse$$show_lse$auto_erase( the_buffer ); lse$$show_lse$overviews( the_buffer ); lse$$show_lse$wrap( the_buffer ); SPLIT_LINE; lse$$show_max_rec_size( the_buffer ); lse$$show_record_count( the_buffer ); lse$$show_current_line( the_buffer ); lse$$show_lse$left_margin( the_buffer ); lse$$show_tpu_left_margin( the_buffer ); lse$$show_right_margin( the_buffer ); lse$$show_offset( the_buffer ); lse$$show_offset_column( the_buffer ); lse$$show_lse$tab_increment( the_buffer ); lse$$show_tab_stops( the_buffer ); lse$$show_window_count( the_buffer ); SPLIT_LINE; ! Always return true return TRUE; ENDPROCEDURE; PROCEDURE lse$$show_lse$system ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$system"); ENDON_ERROR; lse$$show_default_directory; lse$$show_lse$directory_source; lse$$show_lse$directory_read_only; split_line; lse$$show_lse$bell; lse$$show_lse$cursor_bound; lse$$show_lse$cli_parser; lse$$show_lse$focus_based_selection_model; lse$$show_lse$keypad; ! lse$$show_lse$repository; lse$$show_lse$integrated; lse$$show_lse$clipboard; lse$$show_lse$pending_delete; lse$$show_lse$tabs_visible; lse$$show_lse$tabs_hard; lse$$show_lse$undo; lse$$show_lse$save_related_buffers; split_line; lse$$show_lse$grammar_prefix_and_help; ENDPROCEDURE; PROCEDURE lse$$show_lse$window ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$window"); ENDON_ERROR; lse$$show_lse$balance_windows; lse$$show_lse$font_attr; lse$$show_lse$max_windows; lse$$show_lse$min_window_len; lse$$show_lse$num_of_windows; lse$$show_lse$top_scrl_margin; lse$$show_lse$bot_scrl_margin; lse$$show_lse$width; lse$$show_height; ENDPROCEDURE; PROCEDURE lse$$show_lse$search ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$search"); ENDON_ERROR; lse$$show_lse$auto_reverse; lse$$show_lse$case_sensitive; lse$$show_lse$diacritical; lse$$show_lse$pattern; lse$$show_lse$span_space; ENDPROCEDURE; ! ! LSE$$SHOW_BUFFER_NAME ! ! This procedure displays the input file associated with the buffer specified ! PROCEDURE lse$$show_buffer_name( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_buffer_name"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufbfnlbl ) + GET_INFO( the_buffer, 'name' ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_INPUT_FILE ! ! This procedure displays the input file associated with the buffer specified ! PROCEDURE lse$$show_input_file( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_input_file"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufifnlbl ) ); IF GET_INFO( the_buffer, 'file_name' ) <> "" THEN COPY_TEXT( GET_INFO( the_buffer, 'file_name' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_OUTPUT_FILE ! ! This procedure displays the output file associated with the buffer specified ! PROCEDURE lse$$show_output_file( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_output_file"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufofnlbl ) ); IF GET_INFO( the_buffer, 'output_file' ) <> 0 THEN COPY_TEXT( GET_INFO( the_buffer, 'output_file' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_RECORD_COUNT ! ! This procedure displays the number of records in the buffer specified ! PROCEDURE lse$$show_record_count( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_record_count"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufreclbl ) + STR( GET_INFO( the_buffer, 'record_count' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_RIGHT_MARGIN ! ! This procedure displays the right margin setting in the buffer specified ! PROCEDURE lse$$show_right_margin( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_right_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufrmglbl ) + STR( GET_INFO( the_buffer, 'right_margin' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_MAX_REC_SIZE ! ! This procedure displays the right margin setting in the buffer specified ! PROCEDURE lse$$show_max_rec_size( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_max_rec_size"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufmrslbl ) + STR( GET_INFO( the_buffer, 'record_size' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_WINDOW_COUNT ! ! This procedure displays the number of windows associated with the buffer ! specified ! PROCEDURE lse$$show_window_count( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_window_count"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufwdclbl ) + STR( GET_INFO( the_buffer, 'map_count' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_MODIFIED ! ! This procedure displays the modified status of the buffer specified ! PROCEDURE lse$$show_modified( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_modified"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufmoddlbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'modified' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_MODIFIABLE ! ! This procedure displays the modifiable status of the buffer specified ! PROCEDURE lse$$show_modifiable( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_modifiable"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufmodflbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'modifiable' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_PERMANENT ! ! This procedure displays the permanent status of the buffer specified ! PROCEDURE lse$$show_permanent( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_permanent"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufprmlbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'permanent' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_SYSTEM ! ! This procedure displays whether the buffer specified is a system buffer ! PROCEDURE lse$$show_system( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_system"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufsyslbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'system' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_CURRENT_DIRECTION ! ! This procedure displays the current direction of the buffer specified ! PROCEDURE lse$$show_current_direction( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_current_direction"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_buffwdlbl ) + STR( GET_INFO( the_buffer, 'direction' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_TEXT_ENTRY_MODE ! ! This procedure displays the current direction of the buffer specified ! PROCEDURE lse$$show_text_entry_mode( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_text_entry_mode"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufinslbl ) + STR( GET_INFO( the_buffer, 'mode' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_ERASE_UNMODIFIABLE ! ! This procedure displays whether unmodifiable records can be erased from ! the buffer specified ! PROCEDURE lse$$show_erase_unmodifiable( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_erase_unmodifiable"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufeurlbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'erase_unmodifiable' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_JOURNALING ! ! This procedure displays whether the buffer specified is being journaled ! PROCEDURE lse$$show_journaling( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_journaling"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufjnllbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'journaling' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_JOURNAL_FILE ! ! This procedure displays the journal file for the buffer specified ! PROCEDURE lse$$show_journal_file( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_journal_file"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufjnlflbl ) ); IF GET_INFO( the_buffer, 'journal_file' ) <> 0 THEN COPY_TEXT( GET_INFO( the_buffer, 'journal_file' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_JOURNAL_NAME ! ! This procedure displays the journal file name converted from the buffer ! specified ! PROCEDURE lse$$show_journal_name( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_journal_name"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufjnlnlbl ) ); IF GET_INFO( the_buffer, 'journal_name' ) <> '' THEN COPY_TEXT( GET_INFO( the_buffer, 'journal_name' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_KEY_MAP_LIST ! ! This procedure displays the key map list bound to the buffer specified ! PROCEDURE lse$$show_key_map_list( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_key_map_list"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufkmllbl ) ); IF GET_INFO( the_buffer, 'key_map_list' ) <> '' THEN COPY_TEXT( GET_INFO( the_buffer, 'key_map_list' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_MAX_NUM_REC ! ! This procedure displays the maximum number of records the specified buffer ! can contains ! PROCEDURE lse$$show_max_num_rec( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_max_num_rec"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufmnrlbl ) + STR( GET_INFO( the_buffer, 'max_lines' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_OFFSET ! ! This procedure displays the left margin offset of the buffer specified ! PROCEDURE lse$$show_offset( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_offset"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_buflmolbl ) + STR( GET_INFO( the_buffer, 'offset' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_OFFSET_COLUMN ! ! This procedure displays the unshifted window offset column of the buffer ! specified ! PROCEDURE lse$$show_offset_column( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_offset_column"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufoffclbl ) + STR( GET_INFO( the_buffer, 'offset_column' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_TPU_LEFT_MARGIN ! ! This procedure displays the TPU left margin of the buffer specified ! PROCEDURE lse$$show_tpu_left_margin( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_tpu_left_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_tpulmglbl ) + STR( GET_INFO( the_buffer, 'left_margin' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_CURRENT_LINE ! ! This procedure displays the current line of the editing point of the buffer ! specified ! PROCEDURE lse$$show_current_line( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_current_line"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufcurllbl ) + STR( GET_INFO( the_buffer, 'record_number' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_SAFE_FOR_JOURNAL ! ! This procedure displays whether the specified buffer is safe for journaling ! PROCEDURE lse$$show_safe_for_journal( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_safe_for_journal"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufsfjlbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'safe_for_journaling' )) ); SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_TAB_STOPS ! ! This procedure displays the tab stops for the buffer specified ! PROCEDURE lse$$show_tab_stops( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_tab_stops"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_buftabslbl ) ); IF GET_INFO(GET_INFO( the_buffer, 'tab_stops' ), "TYPE") = INTEGER THEN COPY_TEXT(STR( GET_INFO( the_buffer, 'tab_stops' ) ) ); ELSE COPY_TEXT(GET_INFO( the_buffer, 'tab_stops' ) ); ENDIF; SPLIT_LINE; ENDPROCEDURE; ! ! LSE$$SHOW_UNMODIFIABLE_RECORDS ! ! This procedure displays whether the specified buffer contains unmodifiable ! records. ! PROCEDURE lse$$show_unmodifiable_records( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_unmodifiable_records"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_bufcurlbl ) + lse$$boolean_str( GET_INFO( the_buffer, 'unmodifiable_records' ))); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$placeholder (the_item) local temp_string, plac; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$placeholder"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_placnamelbl) + get_info( the_item, 'lse$name')); ! ! if it is an alias type placeholder, use the info from the placeholder ! it points to. ! if get_info(the_item, 'lse$type') = lse$alias then plac := get_info(get_info(the_item, 'lse$language_type'), 'lse$find_placeholder', get_info(the_item, 'lse$placeholder')); ! make sure the placeholder referenced really exists if plac = 0 then lse$copy_line(fao(lse$get_message_text(lse$_placundplac), get_info( the_item, 'lse$name'), get_info(the_item, 'lse$placeholder'))); return true; endif; ! make sure it doesn't reference another alias type placeholder ! if get_info(plac, 'lse$type') = lse$alias then lse$copy_line(fao(lse$get_message_text(lse$_aliasref), get_info( the_item, 'lse$name'))); return true; endif; else plac := the_item; endif; ! print the remaining placeholder info ! lse$copy_line( lse$get_message_text( lse$_placdesclbl) + get_info(plac, 'lse$description')); lse$copy_line( lse$get_message_text( lse$_placlanglbl) + get_info(get_info(plac, 'lse$language_type'), 'lse$name')); case get_info( plac, 'lse$type') [lse$terminal] : temp_string := 'terminal'; [lse$menu] : temp_string := 'menu'; [lse$nonterminal] : temp_string := 'non-terminal'; [otherwise] : temp_string := str(get_info( plac, 'lse$type')); endcase; lse$copy_line( lse$get_message_text( lse$_plactypelbl ) + temp_string); case get_info( plac, 'lse$duplication') [lse$context_dependent] : temp_string := 'context-dependent'; [lse$horizontal] : temp_string := 'on the same line (horizontal)'; [lse$vertical] : temp_string := 'on the next line (vertical)'; endcase; lse$copy_line( lse$get_message_text( lse$_placseplbl ) + '"' + get_info(plac, 'lse$separator_text') + '"'); lse$copy_line( lse$get_message_text( lse$_placdupllbl ) + temp_string); if (get_info(plac, 'lse$type') = lse$terminal) then if get_info(plac, 'lse$auto_substitute') then lse$copy_line( lse$get_message_text( lse$_placsubtlbl ) + "yes"); else lse$copy_line( lse$get_message_text( lse$_placsubtlbl ) + "no"); endif; else lse$copy_line( lse$get_message_text( lse$_placsubtlbl ) + "no"); endif; if get_info(plac, 'lse$pseudocode_allowed') then lse$copy_line( lse$get_message_text( lse$_placpseudolbl) + "yes"); else lse$copy_line( lse$get_message_text( lse$_placpseudolbl) + "no"); endif; lse$copy_line( lse$get_message_text( lse$_plachelplbl ) + get_info(plac, 'lse$help_topic')); lse$copy_line( lse$get_message_text( lse$_placleadlbl ) + get_info(plac, 'lse$leading_text')); lse$copy_line( lse$get_message_text( lse$_plactraillbl ) + get_info(plac, 'lse$trailing_text')); !-Hyperhelp !lse$copy_line( lse$get_message_text( lse$_placbooklbl ) + ! get_info(plac, 'lse$book')); !lse$copy_line( lse$get_message_text( lse$_placbkreflbl ) + ! get_info(plac, 'lse$bookreference')); !-Hyperhelp return true; endprocedure; ! lse$$show_lse$placeholder PROCEDURE lse$$show_lse$token (the_item) local token, local_item; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$token"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text (lse$_tokennamelbl) + get_info( the_item, 'lse$name')); ! ! if it is an alias type token, then get the info for the placeholder it ! points to ! if get_info( the_item, 'lse$type' ) = lse$alias then token := get_info ( get_info(the_item, 'lse$language_type'), 'lse$find_placeholder', get_info(the_item, 'lse$placeholder') ); ! make sure it references a valid placeholder ! if token = 0 then lse$copy_line(fao(lse$get_message_text(lse$_tempundplac), get_info( the_item, 'lse$name'), get_info(the_item, 'lse$placeholder'))); return true; endif; ! make sure it doesn't reference another alias type placeholder ! if get_info(token, 'type') = lse$alias then lse$copy_line(fao(lse$get_message_text(lse$_aliasref), get_info( the_item, 'lse$name'))); return true; endif; else token := the_item; endif; ! ! print out the remaining info ! lse$copy_line( lse$get_message_text (lse$_tokendesclbl) + get_info( token, 'lse$description')); lse$copy_line( lse$get_message_text (lse$_tokenhelplbl) + get_info( token, 'lse$help_topic')); lse$copy_line( lse$get_message_text (lse$_tokenlanglbl) + get_info( get_info( token, 'lse$language_type'), 'lse$name' )); !-Hyperhelp !lse$copy_line( lse$get_message_text (lse$_tokenbooklbl) + ! get_info( token, 'lse$book')); !lse$copy_line( lse$get_message_text (lse$_tokenbkreflbl) + ! get_info( token, 'lse$bookreference')); !-Hyperhelp return true; endprocedure; ! lse$$show_lse$token ! Procedure which decided if a show worker routine should output a split line ! or not at the top of a buffer ! PROCEDURE lse$$open_if_necessary ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$open_if_necessary"); ENDON_ERROR; IF GET_INFO( MARK( NONE ), 'record_number' ) = 1 THEN SPLIT_LINE; ENDIF; ENDPROCEDURE; ! Procedure to return ON/OFF for boolean values ! PROCEDURE lse$$boolean_str( boolean ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$boolean_str"); ENDON_ERROR; IF boolean THEN RETURN lse$get_message_text( LSE$_ON ); ELSE RETURN lse$get_message_text( LSE$_OFF ); ENDIF; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$SHOW_LSE$BUFFER_LIST displays all the user and system buffers. ! ! INPUTS ! ! the_buffer - Buffer where the cursor position was on before showing the ! buffer list. ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$show_lse$buffer_list(the_buffer) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL saved_init_pos, saved_buffer_pos, loop_buffer; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$buffer_list"); ENDON_ERROR; lse$shlst_register( lse$buffer_list, GET_INFO( current_buffer, 'name' ) ); lse$$open_if_necessary; position( beginning_of(current_buffer) ); saved_init_pos := MARK(NONE); ! Go through list of all buffers. ! loop_buffer := get_info (BUFFERS, "last") ; loop exitif loop_buffer = 0; ! All system buffers are listed after the user buffers. ! if get_info(loop_buffer, "system") then position( end_of(current_buffer) ); copy_text( lse$$get_buffer_list_line(loop_buffer) ); else position( beginning_of(current_buffer) ); split_line; copy_text( lse$$get_buffer_list_line(loop_buffer) ); endif; ! Saved the position on the buffer list line pointing to the last ! buffer cursor was on ! if get_info(loop_buffer, "name") = get_info(the_buffer, "name") then position (LINE_BEGIN); move_horizontal(lse$$k_buffer_list_start_col - 1); saved_buffer_pos := MARK(NONE); endif; loop_buffer := get_info (BUFFERS, "previous"); endloop; ! Add a space line between the user and system buffers ! position(saved_init_pos); split_line; ! Set up header for buffer list buffer ! position (beginning_of (current_buffer)); split_line; move_vertical(-1); copy_text( lse$$get_buffer_list_header ); ! Position to the buffer list line saved ! position (saved_buffer_pos); ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_BUFFER_LIST_LINE gets all the show attributes for the buffer ! specified, formats them according to fields in show buffer list header and ! returns it as a line. ! ! INPUTS ! ! the_buffer - Buffer whose attributes are to be obtained to form a formatted ! show buffer list line ! ! OUTPUTS: ! ! A line in a show buffer list. A null string is returned if buffer entered ! cannot be found ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$get_buffer_list_line(the_buffer) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL buffer_list_line, the_buffer_name, the_record_count, write_on_exit, is_modified, compile_state, review_state, is_system; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_buffer_list_line"); ENDON_ERROR; ! Initialize all attribute values to be shown to zero ! buffer_list_line := ""; compile_state := ""; review_state := ""; is_system := ""; the_buffer_name := get_info(the_buffer, "name"); ! If the buffer name is too long, we truncate it. ! the_buffer_name := lse$$truncated_name_string( the_buffer_name, lse$$k_buffer_list_name_length ); ! Get number of records for buffer ! the_record_count := get_info (the_buffer, "record_count"); ! Get the modifiable attribute for buffer ! if NOT get_info (the_buffer, "no_write") then write_on_exit := lse$get_message_text( lse$_bufwridef ); else write_on_exit := lse$get_message_text( lse$_bufreadef ); endif; ! Get attribute whether buffer has been modified ! if get_info (the_buffer, "modified") then is_modified := lse$get_message_text( lse$_bufmoddef ); else is_modified := lse$get_message_text( lse$_bufumoddef ); endif; ! Get the compile state of the buffer ! if get_info (the_buffer, "compile_state") then compile_state := lse$get_message_text( lse$_bufcmpdef ); else compile_state := lse$get_message_text( lse$_bufncmpdef ); endif; ! Get the review state of the buffer ! if get_info (the_buffer, "review_state") then review_state := lse$get_message_text( lse$_bufrvwdef ); else review_state := lse$get_message_text( lse$_bufnrvwdef ); endif; ! Get the system attribute of the buffer ! if get_info (the_buffer, "system") then is_system := lse$get_message_text( lse$_bufsysdef ); else is_system := lse$get_message_text( lse$_bufnsysdef ); endif; ! Set up and return buffer list line ! return FAO( " " + lse$$k_buffer_list_header_format, the_buffer_name, the_record_count, write_on_exit, is_modified, compile_state, review_state, is_system); ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_BUFFER_LIST_HEADER returns the current header line used for the ! $SHOW_$BUFFER_LIST buffer. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! A string for the current header line ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$get_buffer_list_header ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_buffer_list_header"); ENDON_ERROR; return lse$$k_buffer_list_header; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$SHOW_LSE$ALIAS_LIST displays all the alias associated with the current ! language. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$show_lse$alias_list ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL alias_name, alias_exp_text, loop_alias, position_mark; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$alias_list"); ENDON_ERROR; lse$shlst_register( lse$alias_list, GET_INFO( current_buffer, 'name' ) ); lse$$open_if_necessary; ! Make sure we have a current language ! if get_info(lse$get_curr_lang_element(LSE$LANGUAGE), 'type') <> LSE$LANGUAGE_TYPE then split_line; lse$copy_line( lse$get_message_text( lse$_langnoval ) ); return; endif; ! Get the first alias in the current language ! loop_alias := get_info (lse$get_curr_lang_element(LSE$LANGUAGE), "first", lse$alias); ! If there's no alias in the current language. Put a message in the show ! buffer and return. ! if loop_alias = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_aliasnoval) ); return; endif; ! Set up header for alias list buffer ! lse$copy_line( lse$get_message_text(lse$_aliasheader) ); split_line; ! Go through list of all aliases in the current language and put their ! attributes in the show buffer ! loop exitif loop_alias = 0; alias_name := get_info(loop_alias, 'lse$name'); alias_exp_text := get_info(loop_alias, 'lse$expand_text'); lse$copy_line(FAO( " " + lse$$k_alias_list_header_format, lse$$truncated_name_string( alias_name, lse$$k_alias_name_size), alias_exp_text ) ); if position_mark = 0 then move_vertical( -1 ); position_mark := mark( free_cursor ); move_vertical( 1 ); endif; loop_alias := get_info (lse$get_curr_lang_element(LSE$LANGUAGE), "next" , lse$alias); endloop; position( position_mark ); ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$SHOW_LSE$ADJUSTMENT_LIST displays all the adjustment associated with the current ! language. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$show_lse$adjustment_list ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL loop_adjust; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$adjustment_list"); ENDON_ERROR; lse$shlst_register(lse$adjustment_list, GET_INFO( current_buffer, 'name' )); lse$$open_if_necessary; ! Make sure we have a current language ! if get_info(lse$get_curr_lang_element(LSE$LANGUAGE), 'type') <> LSE$LANGUAGE_TYPE then split_line; lse$copy_line( lse$get_message_text( lse$_langnoval ) ); return; endif; ! Get the first adjustment in the current language ! loop_adjust := get_info (lse$get_curr_lang_element(LSE$LANGUAGE), "first", lse$adjustment); ! If there's no adjustment in the current language. Put a message in the ! show buffer and return. ! if loop_adjust = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_adjnoval) ); return; endif; ! Set up header for adjustment list buffer ! lse$copy_line( lse$get_message_text(lse$_adjustheader) ); split_line; ! Go through list of all adjustments in the current language and put their ! attributes in the show buffer ! loop exitif loop_adjust = 0; lse$copy_line( lse$$get_adjust_list_line(loop_adjust) ); loop_adjust := get_info (lse$get_curr_lang_element(LSE$LANGUAGE), "next", lse$adjustment); endloop; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_ADJUST_LIST_LINE gets all the show attributes for the adjustment ! specified, formats them according to fields in show adjustment list header and ! returns it as a line. ! ! INPUTS ! ! the_adjustment - Adjustment whose attributes are to be obtained to form a ! formatted show adjustment list line ! ! OUTPUTS: ! ! A line in a show adjustment list. A null string is returned if adjustment entered ! cannot be found ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$get_adjust_list_line(the_adjustment) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL adjust_name, curr_line_indent, subseq_line_indent; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_adjust_list_line"); ENDON_ERROR; ! If the adjustment name is too long, we truncate it. ! adjust_name := lse$$truncated_name_string( get_info(the_adjustment, "lse$name"), lse$$k_adjust_name_size ); ! Get current line indentation ! curr_line_indent := get_info (the_adjustment, "lse$current_line"); ! Get subsequent line indentation ! subseq_line_indent := get_info (the_adjustment, "lse$subsequent_line"); ! Set up and return buffer list line ! return FAO( " " + lse$$k_adjust_list_header_format, adjust_name, curr_line_indent, subseq_line_indent ); ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$SHOW_LSE$LANG_ROUTINE_LIST displays all routines associated with the ! current language. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$show_lse$lang_routine_list ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL loop_routine; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$lang_routine_list"); ENDON_ERROR; lse$shlst_register(lse$lang_routine_list, GET_INFO( current_buffer, 'name' )); lse$$open_if_necessary; ! Make sure we have a current language ! if get_info(lse$get_curr_lang_element(LSE$LANGUAGE), 'type') <> LSE$LANGUAGE_TYPE then split_line; lse$copy_line( lse$get_message_text( lse$_langnoval ) ); return; endif; ! Get the first routine in the current language ! loop_routine := lse$$first_lang_routine; ! If there's no routine in the current language. Put a message in the ! show buffer and return. ! if loop_routine = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_routnoval) ); return; endif; ! Set up header for routine list buffer ! lse$copy_line( lse$get_message_text(lse$_routheader) ); split_line; ! Go through list of all routines in the current language and put their ! attributes in the show buffer ! loop exitif loop_routine = 0; lse$copy_line( lse$$get_routine_list_line(loop_routine) ); loop_routine := lse$$next_lang_routine; endloop; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$SHOW_LSE$PACK_ROUTINE_LIST displays all routines associated with the ! current package. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$show_lse$pack_routine_list ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL loop_routine; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$pack_routine_list"); ENDON_ERROR; lse$shlst_register(lse$pack_routine_list, GET_INFO( current_buffer, 'name' )); lse$$open_if_necessary; ! Make sure we have a current package ! if get_info(lse$get_curr_lang_element(LSE$PACKAGE), 'type') <> LSE$PACKAGE_TYPE then split_line; lse$copy_line( lse$get_message_text( lse$_packnoval ) ); return; endif; ! Get the first routine in the current package ! loop_routine := get_info (lse$get_curr_lang_element(LSE$PACKAGE), "first", lse$routine); ! If there's no routine in the current package. Put a message in the ! show buffer and return. ! if loop_routine = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_routnoval) ); return; endif; ! Set up header for routine list buffer ! lse$copy_line( lse$get_message_text(lse$_routheader) ); split_line; ! Go through list of all routines in the current package and put their ! attributes in the show buffer ! loop exitif loop_routine = 0; lse$copy_line( lse$$get_routine_list_line(loop_routine) ); loop_routine := get_info (lse$get_curr_lang_element(LSE$PACKAGE), "next", lse$routine); endloop; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_ROUTINE_LIST_LINE gets all the show attributes for the routine ! specified, formats them according to fields in show routine list header and ! returns it as a line. ! ! INPUTS ! ! the_routine - Routine whose attributes are to be obtained to form a ! formatted show routine list line ! ! OUTPUTS: ! ! A line in a show routine list buffer. A null string is returned if routine ! entered cannot be found ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$get_routine_list_line(the_routine) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL routine_name, rout_pack_name; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_routine_list_line"); ENDON_ERROR; ! If the routine name is too long, we truncate it. ! routine_name := lse$$truncated_name_string( get_info(the_routine, "lse$name"), lse$$k_routine_name_size ); ! Get package name the routine is associated with ! rout_pack_name := get_info(get_info (the_routine, "lse$package_type"), 'lse$name'); ! Set up and return buffer list line ! return FAO( " " + lse$$k_routine_list_header_format, routine_name, rout_pack_name ); ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$SHOW_LSE$PACKAGE_LIST displays all current defined language. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$show_lse$package_list ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL loop_pack; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$package_list"); ENDON_ERROR; lse$shlst_register(lse$package_list, GET_INFO( current_buffer, 'name' )); lse$$open_if_necessary; ! Get the first package in the system ! loop_pack := get_info (LSE$SYSTEM, "first", lse$package); ! If no packages defined, put a message in the show buffer and return. ! if loop_pack = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_packnoval) ); return; endif; ! Set up header for package list buffer ! lse$copy_line( lse$get_message_text(lse$_packheader) ); split_line; ! Go through list of all packages in the system and put their attributes in ! the show buffer ! loop exitif loop_pack= 0; lse$copy_line( str(lse$$get_pack_list_line(loop_pack)) ); loop_pack := get_info (LSE$SYSTEM, "next", lse$package); endloop; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_PACK_LIST_LINE gets the show attributes for the package ! specified, formats them according to fields in show package list header and ! returns it as a line. ! ! INPUTS ! ! the_package - Package whose attributes are to be obtained to form a ! formatted show package list line ! ! OUTPUTS: ! ! A line in a show package list. A null string is returned if package entered ! cannot be found ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$get_pack_list_line(the_package) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL lang_name_list, pack_name; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_pack_list_line"); ENDON_ERROR; ! If the package name is too long, we truncate it. ! pack_name := lse$$truncated_name_string( get_info(the_package, "lse$name"), lse$$k_pack_name_size ); ! Now get the list of languages associated with this package ! lang_name_list := lse$$get_pack_lang_names(the_package); ! Set up and return buffer list line ! return FAO( " " + lse$$k_pack_list_header_format, pack_name, lang_name_list ); ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_PACK_LANG_NAMES returns the list of language names that is ! associated with a package. ! ! INPUTS ! ! the_package - Package whose associated language names we are to get ! ! OUTPUTS: ! ! A string of language names separated by commas. A null string is returned ! if no associated language can be found ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$get_pack_lang_names(the_package) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL lang_name_list, loop_lang_name; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_pack_lang_names"); ENDON_ERROR; ! Now get the list of languages associated with this package ! loop_lang_name := get_info(the_package, 'first', lse$language); if loop_lang_name <> 0 then lang_name_list := loop_lang_name; loop_lang_name := get_info(the_package, 'next', lse$language); loop exitif loop_lang_name = 0; lang_name_list := lang_name_list + "," + loop_lang_name; loop_lang_name := get_info(the_package, 'next', lse$language); endloop; else lang_name_list := " "; endif; ! Return language names string ! return lang_name_list; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$GET_MARK_LIST_MARK_NAME parses a mark list line and ! returns the mark name ! ! INPUTS ! ! ref_mark - A mark to get a LSE mark for ! ! OUTPUTS: ! ! mark_output - The LSE mark for the mark ! ! RETURNS: ! ! Status keyword ! PROCEDURE lse$$get_mark_list_mark_name( ref_mark, mark_output ) LOCAL mark_line, mark_list, mark_name, mark_name_pat, mark_name_pat_len, count, hlt_range, status, temp_index, temp_len; ON_ERROR [TPU$_MULTIPLENAMES]: [OTHERWISE]: lse$$pop_position; lse$$pop_position; lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$get_mark_list_mark_name"); ENDON_ERROR; ! Get the single line ! mark_line := lse$shlst_line( ref_mark ); ! If the mark list line contains ellipsis, we search through the mark ! list to test for a possible wildcard match ! mark_name_pat := EDIT ( substr( mark_line, 1, lse$k_mark_output_length ), TRIM ); IF lse$$is_name_truncated( mark_name_pat ) THEN mark_name_pat := SUBSTR( mark_name_pat, 1, LENGTH(mark_name_pat) - lse$$k_ellipsis_len) + '*'; ENDIF; ! Walk over the marks and find one or more ! count := 0; mark_list := EXPAND_NAME( lse$$k_mark_prefix, variables ); LOOP temp_index := INDEX( mark_list, " " ); IF (temp_index = 0) THEN mark_name := mark_list; ELSE mark_name := SUBSTR( mark_list, 1, temp_index - 1 ); ENDIF; mark_name := SUBSTR( mark_name, LENGTH(lse$$k_mark_prefix) + 1, LENGTH( mark_name ) ); ! Count them ! IF lse$$strmatch_wild( mark_name, mark_name_pat ) THEN count := count + 1; mark_output := mark_name; EXITIF count > 1; ENDIF; ! Next ! mark_list := SUBSTR( mark_list, temp_index + 1, LENGTH(mark_list) ); EXITIF temp_index = 0; ENDLOOP; ! Success ! IF count = 1 THEN RETURN lse$_normal; ENDIF; ! Failure ! IF count = 0 THEN return lse$_buffnotexist; ENDIF; ! Ambigious, try to resolve it ! IF count > 1 THEN lse$$push_position; ! Position to the mark and save the position so the position ! in the buffer list buffer is unchanged ! POSITION( GET_INFO( ref_mark, 'buffer' )); lse$$push_position; ! Loop over the buffer to find the number of this ambigious buffer ! lse$top; count := 0; mark_name_pat := substr( mark_name_pat, 1, LENGTH(mark_name_pat) - 1 ); mark_name_pat_len := LENGTH( mark_name_pat ); LOOP ! Test for bottom of buffer ! EXITIF (GET_INFO( CURRENT_BUFFER, 'record_count' ) < GET_INFO( MARK( NONE ), 'record_number' )); ! Match? ! IF SUBSTR( lse$shlst_line( MARK( NONE) ), 1, mark_name_pat_len ) = mark_name_pat THEN ! Count the matches ! count := count + 1; ENDIF; ! Are we at the one we want ! hlt_range := lse$shlst_hlt_range( MARK( NONE ) ); EXITIF GET_INFO( ref_mark, 'within_range', hlt_range ); ! Next ! POSITION( END_OF( hlt_range ) ); LSE$MOVE_HORIZONTAL( 1 ); ENDLOOP; ! Walk over the marks and find the one we're on ! mark_list := EXPAND_NAME( lse$$k_mark_prefix, variables ); LOOP temp_index := INDEX( mark_list, " " ); IF (temp_index = 0) THEN mark_output := mark_list; ELSE mark_output := SUBSTR( mark_list, 1, temp_index - 1 ); ENDIF; if ( mark_output <> TPU$K_UNSPECIFIED ) AND ( mark_output <> '' ) then execute ("lse$$x_user_mark := " + mark_output); IF lse$$x_user_marK <> tpu$k_unspecified THEN mark_output := SUBSTR( mark_output, LENGTH(lse$$k_mark_prefix) + 1, LENGTH( mark_output ) ); IF SUBSTR( mark_output, 1, mark_name_pat_len ) = mark_name_pat THEN ! Done when we've found the same number of ! matches as above ! EXITIF count = 1; count := count - 1; ENDIF; ENDIF; ENDIF; ! Next ! mark_list := SUBSTR( mark_list, temp_index + 1, LENGTH(mark_list) ); EXITIF temp_index = 0; ENDLOOP; ! Pop twice, once for original position on entry, once for buffer ! list buffer position on entry ! lse$$pop_position; lse$$pop_position; ! Make sure it is a match ! IF SUBSTR( mark_output, 1, mark_name_pat_len ) = mark_name_pat THEN RETURN lse$_normal; ELSE RETURN status; ENDIF; ENDIF; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$IS_SHOW checks whether the specified buffer is either one of ! the show buffers, namely $SHOW_LSE$BUFFER and $SHOW_LSE$BUFFER_LIST ! ! INPUTS ! ! buffer_ptr - buffer in question, defaults to current_buffer ! ! OUTPUTS: ! ! TRUE - the current position is in one of the show buffers. ! FALSE - the current position is not in one of the show buffers. ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$is_show(;buffer_ptr) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL the_buffer_ptr; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$is_show"); ENDON_ERROR; if get_info(buffer_ptr, "type") <> BUFFER then the_buffer_ptr := current_buffer; else the_buffer_ptr := buffer_ptr; endif; if substr(get_info(the_buffer_ptr, "name"), 1, length(lse$$k_show_buffer_prefix)) = lse$$k_show_buffer_prefix then lse$is_show := TRUE; else lse$is_show := FALSE; endif; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$DELETE_CREATED_SHOW_WINDOW deletes the current window if it was created ! as a result of a SHOW XXX command. It replaces the original buffer in the ! current show window if the show window was created by unmapping an existing ! buffer to the current window. ! ! INPUTS ! ! none ! ! OUTPUTS: ! ! none ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$delete_created_show_window ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! LOCAL wind; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$delete_created_show_window"); ENDON_ERROR; if lse$is_show(current_buffer) then ! Current window to be deleted is associated with a show buffer. If ! there is a saved buffer as a result of a show window creation, map it ! back to the current window. Otherwise just delete the current show ! window. ! if get_info(lse$$x_show_wind_repl_buf, "type") = BUFFER then lse$delete_created_show_window := lse$buffer_util(lse$$x_show_wind_repl_buf); else if get_info(lse$window, "lse$num_of_windows") > 1 then return lse_delete_window; else if get_info(lse$$x_show_wind_fallback, "type") = BUFFER then return (lse_goto_buffer (lse$$x_show_wind_fallback)); else return lse_previous_buffer; endif; endif; endif; ! Walk over the window to see if the original window/buffer pair ! are still there, if so position to it ! wind := GET_INFO( WINDOW, 'first' ); LOOP IF wind = lse$$x_show_wind_orig_wind THEN IF GET_INFO( wind, 'buffer' ) = lse$$x_show_wind_orig_buf THEN POSITION( wind ); EXITIF TRUE; ENDIF; ENDIF; wind := GET_INFO( WINDOW, 'next' ); EXITIF wind = 0; ENDLOOP; else ! Current window to be deleted not associated with a show buffer. ! return TRUE; endif; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$TRUNCATED_NAME_STRING takes a name string and truncates it if it is ! greater than the maximum length specified. Ellipsis are added to the end of ! the name string. ! ! INPUTS ! ! name_string - string to be truncated ! ! max_length - maximum length of truncated string ! ! OUTPUTS: ! ! The truncated string is returned. ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$truncated_name_string(name_string, max_length) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$truncate_name_string"); ENDON_ERROR; if length(name_string) <= max_length then return name_string; else return substr(name_string, 1, max_length - lse$$k_ellipsis_len) + lse$$k_ellipsis; endif; ENDPROCEDURE; !++ ! FUNCTIONAL DESCRIPTION: ! ! LSE$$TRUNCATED_NAME_STRING takes a name string and truncates it if it is ! greater than the maximum length specified. Ellipsis are added to the end of ! the name string. ! ! INPUTS ! ! name_string - string to be truncated ! ! max_length - maximum length of truncated string ! ! OUTPUTS: ! ! The truncated string is returned. ! ! COMPLETION CODES: ! ! none ! PROCEDURE lse$$is_name_truncated(name_string) ! !doc_begin ! ! ONE LINE DEFINITION: ! «TBS» ! ! DESCRIPTION: ! «TBS» ! ! RELATED COMMANDS: ! «TBS» ! ! EXAMPLE: ! «TBS» ! ! CATEGORY: ! «TBS» ! !doc_end ! ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$is_name_truncated"); ENDON_ERROR; if SUBSTR( name_string, LENGTH(name_string) - lse$$k_ellipsis_len + 1, lse$$k_ellipsis_len ) = lse$$k_ellipsis then return TRUE; else return FALSE; endif; ENDPROCEDURE; procedure lse$$show_lse$language(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$language"); ENDON_ERROR; lse$$open_if_necessary; lse$$show_language_name( language ); SPLIT_LINE; lse$$show_language_file_types( language ); lse$$show_language_initial_string(language ); SPLIT_LINE; lse$$show_language_identifier_chars( language ); lse$$show_language_punctuation_chars( language ); lse$$show_language_tag_term( language ); lse$$show_language_comment_assoc( language ); lse$$show_language_left_margin( language ); lse$$show_language_right_margin( language ); lse$$show_language_tab( language ); lse$$show_language_expand_case( language ); lse$$show_language_wrap( language ); lse$$show_language_fortran( language ); SPLIT_LINE; lse$$show_language_place_delims( language ); SPLIT_LINE; lse$$show_language_diagnostics( language ); lse$$show_language_compile( language ); SPLIT_LINE; lse$$show_language_help_file( language ); lse$$show_language_topic( language ); !-Hyperhelp ! lse$$show_language_book ( language ); ! lse$$show_language_bookreference ( language ); !-Hyperhelp SPLIT_LINE; lse$$show_language_overview( language ); SPLIT_LINE; lse$$show_language_comments( language ); SPLIT_LINE; lse$$show_language_quote( language ); lse$$show_language_escapes( language ); SPLIT_LINE; return true; endprocedure; ! lse$$show_lse$language procedure lse$$show_language_name(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_name"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langnamelbl) ); IF get_info(language, 'lse$name') <> 0 then COPY_TEXT( get_info(language, 'lse$name') ); IF get_info(language, 'lse$version_string') <> 0 then copy_text(' ' + get_info(language, 'lse$version_string') ); endif; endif; split_line; endprocedure; ! lse$$show_language_name procedure lse$$show_language_file_types(language) local file_type_str; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_file_types"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langfilelbl) ); file_type_str := get_info(language, 'first', lse$file_types); if file_type_str <> 0 then COPY_TEXT( file_type_str ); endif; file_type_str := get_info(language, 'next', lse$file_types); loop EXITIF file_type_str = 0; COPY_TEXT( "," + file_type_str ); file_type_str := get_info(language, 'next', lse$file_types); endloop; split_line; endprocedure; ! lse$$show_language_file_types procedure lse$$show_language_initial_string(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_initial_string"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT( lse$_langinitlbl) ); IF get_info(language, 'lse$initial_string') <> 0 then COPY_TEXT( get_info(language, 'lse$initial_string') ); endif; split_line; endprocedure; ! lse$$show_language_initial_string procedure lse$$show_language_identifier_chars(language) local temp_val, work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_identifier_characters"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langidntlbl) ); work_string := get_info(language, 'lse$identifier_char'); if work_string <> 0 then temp_val := 1; loop exitif temp_val > length (work_string); COPY_TEXT( substr(work_string, temp_val, 26)); split_line; COPY_TEXT(" "); temp_val := temp_val + 26; endloop; endif; split_line; endprocedure; ! lse$$show_language_identifier_characters procedure lse$$show_language_punctuation_chars(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_punctuation_chars"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langpunclbl) ); IF get_info(language, 'lse$punctuation_char') <> 0 then COPY_TEXT( get_info(language, 'lse$punctuation_char') ); endif; split_line; endprocedure; ! lse$$show_language_punctuation_chars procedure lse$$show_language_tag_term(language) local loop_str; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_tag_term"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langtagtlbl) ); loop_str := get_info(language, "first", lse$tag_terminators); loop exitif loop_str = 0; COPY_TEXT( loop_str + " "); loop_str := get_info(language, 'next', lse$tag_terminators); endloop; split_line; endprocedure; ! lse$$show_language_tag_term procedure lse$$show_language_comment_assoc(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_comment_assoc"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langassolbl) ); case get_info(language, 'lse$comment_association') [lse$next] : COPY_TEXT("NEXT"); [lse$previous] : COPY_TEXT("PREVIOUS"); endcase; split_line; endprocedure; ! lse$$show_language_comment_assoc procedure lse$$show_language_left_margin(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_left_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langleftlbl) ); IF get_info(language, 'lse$left_margin') <> 0 then COPY_TEXT( str(get_info(language, 'lse$left_margin')) ); else COPY_TEXT( "context_dependent"); endif; split_line; endprocedure; ! lse$$show_language_left_margin procedure lse$$show_language_right_margin(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_right_margin"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langrghtlbl) ); COPY_TEXT( str(get_info(language, 'lse$right_margin')) ); split_line; endprocedure; ! lse$$show_language_left_margin procedure lse$$show_language_tab(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_tab"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langtablbl) + str(get_info(language, 'lse$tab_increment')) ); split_line; endprocedure; ! lse$$show_language_tab procedure lse$$show_language_expand_case(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_expand_case"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langcaselbl) ); case get_info(language, 'lse$expand_case') [lse$uppercase] : COPY_TEXT( "UPPER" ); [lse$lowercase] : COPY_TEXT( "LOWER" ); [lse$case_as_is] : COPY_TEXT( "AS_IS" ); [lse$context] : COPY_TEXT( "AS_IS"); endcase; split_line; endprocedure; ! lse$$show_language_expand_case procedure lse$$show_language_wrap(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_wrap"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langwraplbl) ); IF get_info(language, 'lse$wrap') then COPY_TEXT( "yes" ); else COPY_TEXT( "no" ); endif; split_line; endprocedure; ! lse$$show_language_wrap procedure lse$$show_language_place_delims(language) local delim, work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_place_delims"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( LSE$GET_MESSAGE_TEXT(lse$_langplaclbl) ); split_line; ! required delimiters copy_text( LSE$GET_MESSAGE_TEXT(lse$_langreqlbl) ); delim := get_info(language, 'lse$required_delimit'); IF delim <> 0 then work_string := get_info(delim, 'lse$leading_text') + " " + get_info(delim, 'lse$trailing_text'); ! pad the string out with spaces work_string := work_string + " "; COPY_TEXT( work_string ); endif; delim: = get_info(language, 'lse$required_list_delimit'); if delim <> 0 then work_string := get_info(delim, 'lse$leading_text') + " " + get_info(delim, 'lse$trailing_text'); COPY_TEXT( work_string ); endif; split_line; ! optional delimiters copy_text( LSE$GET_MESSAGE_TEXT(lse$_langoptlbl) ); delim: = get_info(language, 'lse$optional_delimit'); IF delim <> 0 then work_string := get_info(delim, 'lse$leading_text') + " " + get_info(delim, 'lse$trailing_text'); ! pad the string out with spaces work_string := work_string + " "; COPY_TEXT( work_string ); endif; delim := get_info(language, 'lse$optional_list_delimit'); if delim <> 0 then work_string := get_info(delim, 'lse$leading_text') + " " + get_info(delim, 'lse$trailing_text'); COPY_TEXT( work_string ); endif; split_line; ! pseudocode delimiters copy_text(LSE$GET_MESSAGE_TEXT(lse$_langpseudolbl)); delim := get_info(language, 'lse$pseudocode_delimit'); if delim <> 0 then work_string := get_info(delim, 'lse$leading_text') + " " + get_info(delim, 'lse$trailing_text'); COPY_TEXT( work_string ); endif; split_line; endprocedure; ! lse$$show_language_place_delims procedure lse$$show_language_diagnostics(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_diagnostics"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langdiaglbl) ); if get_info(language, 'lse$diagnostics') then copy_text( "diagnostics" ); else copy_text( "none" ); endif; split_line; endprocedure; ! lse$$show_language_diagnostics procedure lse$$show_language_compile(language) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_compile"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langcomplbl)); work_string := get_info(language, "lse$compile_command"); if work_string <> 0 then copy_text( work_string ); endif; split_line; endprocedure; ! lse$$show_language_compile procedure lse$$show_language_help_file(language) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_help_file"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langhelplbl) ); work_string := get_info(language, 'lse$help_library'); if work_string <> 0 then copy_text( work_string); endif; split_line; endprocedure; ! lse$$show_language_help_file procedure lse$$show_language_topic(language) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_topic"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langtopiclbl)); work_string := get_info(language, 'lse$help_prefix'); if work_string <> 0 then copy_text( work_string); endif; split_line; endprocedure; ! lse$$show_language_topic procedure lse$$show_language_overview(language) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_overview"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langoverlbl) ); split_line; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langminlinlbl)); copy_text( str(get_info(language, 'lse$min_overview_lines'))); split_line; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langmintablbl)); copy_text( str(get_info(language, 'lse$overview_min_tab_rng'))); split_line; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langmaxtablbl)); copy_text( str(get_info(language, 'lse$overview_max_tab_rng'))); split_line; endprocedure; ! lse$$show_language_overview procedure lse$$show_language_fortran( language ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_fortran"); ENDON_ERROR; if get_info(language, 'lse$fortran') then lse$$open_if_necessary; copy_text(LSE$GET_MESSAGE_TEXT(lse$_langftrnlbl)); if get_info(language, 'lse$ansi_fortran') then copy_text("character-per-column (ANSI_FORMAT)"); else copy_text("tab-character (NOANSI_FORMAT)"); endif; split_line; endif; endprocedure; ! lse$$show_language_fortran procedure lse$$show_language_quote( language ) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_quote"); ENDON_ERROR; lse$$open_if_necessary; copy_text(LSE$GET_MESSAGE_TEXT(lse$_langquotelbl)); work_string := get_info(language, 'lse$quoting_char'); if work_string <> 0 then copy_text(work_string); endif; split_line; endprocedure; ! lse$$show_language_quote procedure lse$$show_language_escapes( language ) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_escapes"); ENDON_ERROR; lse$$open_if_necessary; copy_text(LSE$GET_MESSAGE_TEXT(lse$_langesclbl)); work_string := get_info(language, 'lse$quoting_escape_char'); if work_string <> 0 then copy_text(work_string); endif; split_line; endprocedure; ! lse$$show_language_escapes procedure lse$$show_language_comments(language) local delim, begin_string, end_string, work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_comments"); ENDON_ERROR; lse$$open_if_necessary; copy_text(LSE$GET_MESSAGE_TEXT(lse$_langcommlbl)); ! get bracketted comments into a list, then print out split_line; begin_string := ""; end_string := ""; delim := get_info(language, 'first', lse$bracketed_comments); loop exitif delim = 0; begin_string := begin_string + get_info(delim, 'lse$leading_text') + " "; end_string := end_string + get_info(delim, 'lse$trailing_text') + " "; delim := get_info(language, 'next', lse$bracketed_comments); endloop; copy_text(LSE$GET_MESSAGE_TEXT(lse$_langbeglbl) + begin_string); split_line; copy_text(LSE$GET_MESSAGE_TEXT(lse$_langendlbl) + end_string); split_line; ! line comments copy_text(LSE$GET_MESSAGE_TEXT(lse$_langlinelbl)); work_string := get_info(language, 'first', lse$line_comments); loop exitif work_string = 0; copy_text(work_string + " "); work_string := get_info(language, 'next', lse$line_comments); endloop; split_line; ! trailing comments copy_text(LSE$GET_MESSAGE_TEXT(lse$_langtrllbl)); work_string := get_info(language, 'first', lse$trailing_comments); loop exitif work_string = 0; copy_text(work_string + " "); work_string := get_info(language, 'next', lse$trailing_comments); endloop; split_line; ! fixed comments copy_text(LSE$GET_MESSAGE_TEXT(lse$_langfixlbl)); delim := get_info(language, 'first', lse$fixed_comments); loop exitif delim = 0; copy_text(get_info(delim, 'lse$fixed_delimit') + "," + str(get_info(delim, 'lse$column')) + " "); delim := get_info(language, 'next', lse$fixed_comments); endloop; split_line; endprocedure; ! lse$$show_language_comments procedure lse$$show_lse$language_list( the_buffer ) local position_mark, loop_language, loop_file; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$language_list"); ENDON_ERROR; lse$shlst_register( lse$language_list, GET_INFO( current_buffer, 'name' ) ); lse$$open_if_necessary; copy_text(lse$get_message_text(lse$_langlstlbl)); split_line; split_line; loop_language := get_info(lse$system, "first", lse$language); loop exitif loop_language = 0; copy_text( lse$$truncated_name_string( get_info( loop_language, 'lse$name' ), lse$k_lang_list_len ) ); if (get_info(loop_language, 'lse$name') = get_info( the_buffer, 'lse$language' ) ) OR (position_mark = 0 ) then POSITION( LINE_BEGIN ); position_mark := MARK( FREE_CURSOR ); POSITION( LINE_END ); endif; copy_text(' ' * (lse$k_lang_list_len - length(get_info(loop_language, 'lse$name')))); loop_file := get_info(loop_language, 'first', lse$file_types); if loop_file <> 0 then copy_text(loop_file); endif; loop_file := get_info(loop_language, 'next', lse$file_types); loop exitif loop_file = 0; copy_text("," + loop_file); loop_file := get_info(loop_language, 'next', lse$file_types); endloop; loop_language := get_info(lse$system, "next", lse$language); split_line; endloop; position( position_mark ); endprocedure; ! lse$$show_lse$language_list procedure lse$$show_lse$prompt LOCAL term; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$prompt"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_prmtterm ) ); term := GET_INFO( lse$$x_prompt_terminator_keys, 'first' ); LOOP EXITIF term = tpu$k_unspecified; COPY_TEXT( eve$key_name( term ) ); term := GET_INFO( lse$$x_prompt_terminator_keys, 'next' ); EXITIF term = tpu$k_unspecified; COPY_TEXT( ', ' ); ENDLOOP; SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_prmtalterm ) ); term := GET_INFO( lse$$x_prompt_alterminator_keys, 'first' ); LOOP EXITIF term = tpu$k_unspecified; COPY_TEXT( eve$key_name( term ) ); term := GET_INFO( lse$$x_prompt_alterminator_keys, 'next' ); EXITIF term = tpu$k_unspecified; COPY_TEXT( ', ' ); ENDLOOP; SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_prmtabort ) ); term := GET_INFO( lse$$x_prompt_abort_keys, 'first' ); LOOP EXITIF term = tpu$k_unspecified; COPY_TEXT( eve$key_name( term ) ); term := GET_INFO( lse$$x_prompt_abort_keys, 'next' ); EXITIF term = tpu$k_unspecified; COPY_TEXT( ', ' ); ENDLOOP; SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_prmtdialog ) + lse$list_extract(lse$_pdialogdelimit, lse$_pdialoglist, lse$$x_use_dialog ) ); SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_prmtkeypad ) + lse$list_extract(lse$_pkeypaddelimit, lse$_pkeypadlist, lse$$x_use_keypad ) ); SPLIT_LINE; COPY_TEXT( lse$get_message_text( lse$_prmtexpandmenu ) + lse$list_extract(lse$_pkeypaddelimit, lse$_pkeypadlist, lse$$x_use_expandmenu ) ); endprocedure; ! lse$$show_lse$prompt procedure lse$$show_lse$placeholder_list local inherit_plac_name, language, loop_plac, desc_str, plac_name, position_mark; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$placeholder_list" ); ENDON_ERROR; lse$shlst_register( lse$placeholder_list, GET_INFO( current_buffer, 'name' ) ); lse$$open_if_necessary; ! Make sure we have a current language ! language := lse$get_curr_lang_element(LSE$LANGUAGE); if get_info(language, 'type') <> LSE$LANGUAGE_TYPE then split_line; lse$copy_line( lse$get_message_text( lse$_langnoval ) ); return; endif; ! Get the first placeholder in the current language ! loop_plac := get_info (language, "first", lse$placeholder); ! If there's no placeholder in the current language. Put a message in the show ! buffer and return. ! if loop_plac = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_placnoval) ); return; endif; ! Set up header for placeholder list buffer ! lse$copy_line( lse$get_message_text(lse$_placheader) ); split_line; ! Go through list of all aliases in the current language and put their ! attributes in the show buffer ! loop exitif loop_plac = 0; if NOT get_info(loop_plac, "lse$parameter") then plac_name := get_info(loop_plac, 'lse$name'); ! if the placeholder is of type alias, use the placeholder it ! points to for the values. If that placeholder is undefined, ! issue an error message and return. if get_info(loop_plac, 'lse$type') = lse$alias then inherit_plac_name := get_info(loop_plac,'lse$placeholder'); loop_plac := get_info(language, 'lse$find_placeholder', inherit_plac_name); if loop_plac = 0 then lse$copy_line(FAO(lse$$k_plac_list_header_format, lse$$truncated_name_string( '"' + plac_name + '"', lse$$k_plac_name_size), fao(lse$get_message_text(lse$_placundplac), plac_name, inherit_plac_name))); endif; endif; if loop_plac <> 0 then desc_str := get_info(loop_plac, 'lse$description'); lse$copy_line(FAO( lse$$k_plac_list_header_format, lse$$truncated_name_string( '"' + plac_name + '"', lse$$k_plac_name_size), desc_str ) ); if position_mark = 0 then move_vertical( -1 ); position_mark := mark( free_cursor ); move_vertical( 1 ); endif; endif; endif; loop_plac := get_info (language, "next", lse$placeholder); endloop; position( position_mark ); endprocedure; ! lse$$show_lse$placeholder_list procedure lse$$show_lse$token_list local inherit_plac_name, language, temp_token, loop_token, desc_str, token_name, position_mark; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$token_list" ); ENDON_ERROR; lse$shlst_register( lse$token_list, GET_INFO( current_buffer, 'name' ) ); lse$$open_if_necessary; ! Make sure we have a current language ! language := lse$get_curr_lang_element(LSE$LANGUAGE); if get_info(language, 'type') <> LSE$LANGUAGE_type then split_line; lse$copy_line( lse$get_message_text( lse$_langnoval ) ); return; endif; ! Get the first token in the current language ! loop_token := get_info (language, "first", lse$token); ! If there's no token in the current language. Put a message in the show ! buffer and return. ! if loop_token = 0 then split_line; lse$copy_line( lse$get_message_text(lse$_tokennoval) ); return; endif; ! Set up header for token list buffer ! lse$copy_line( lse$get_message_text(lse$_tokenheader) ); split_line; ! Go through list of all tokens in the current language and put their ! attributes in the show buffer ! loop exitif loop_token = 0; if NOT get_info(loop_token, "lse$routine") then token_name := get_info(loop_token, 'lse$name'); ! if token is of type alias, use the placeholder it refers to for the ! values if get_info(loop_token, 'lse$type') = lse$alias then inherit_plac_name := get_info(loop_token, 'lse$placeholder'); temp_token := get_info(language, 'lse$find_placeholder', inherit_plac_name); if temp_token = 0 then lse$copy_line(FAO(lse$$k_plac_list_header_format, lse$$truncated_name_string( '"' + token_name + '"', lse$$k_token_name_size), fao(lse$get_message_text(lse$_tempundplac), token_name, inherit_plac_name))); endif; loop_token := temp_token; endif; if loop_token <> 0 then desc_str := get_info(loop_token, 'lse$description'); lse$copy_line(FAO( lse$$k_token_list_header_format, lse$$truncated_name_string( '"' + token_name + '"', lse$$k_token_name_size), desc_str ) ); if position_mark = 0 then move_vertical( -1 ); position_mark := mark( free_cursor ); move_vertical( 1 ); endif; endif; endif; loop_token := get_info (language, "next", lse$token); endloop; position( position_mark ); endprocedure; ! lse$$show_lse$token_list PROCEDURE lse$$show_lse$max_undo( the_buffer ) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$max_undo"); ENDON_ERROR; lse$$open_if_necessary; buf_name := GET_INFO (the_buffer, "name"); COPY_TEXT( lse$get_message_text( lse$_bufmxudolbl ) + STR( lse$$show_max_undo ( buf_name ) ) ); SPLIT_LINE; ENDPROCEDURE; procedure lse$$show_language_book(language) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_book"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langbooklbl) ); work_string := get_info(language, 'lse$book'); if work_string <> 0 then copy_text( work_string); endif; split_line; endprocedure; ! lse$$show_language_book procedure lse$$show_language_bookreference(language) local work_string; ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_language_bookreference"); ENDON_ERROR; lse$$open_if_necessary; copy_text( LSE$GET_MESSAGE_TEXT(lse$_langbkreflbl)); work_string := get_info(language, 'lse$bookreference'); if work_string <> 0 then copy_text( work_string); endif; split_line; endprocedure; ! lse$$show_bookreference procedure lse$$show_package_book(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_book"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packbooklbl ) + get_info( the_package, 'lse$book' )); endprocedure; ! lse$$show_package_book procedure lse$$show_package_bookreference(the_package) ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_package_bookreference"); ENDON_ERROR; lse$$open_if_necessary; lse$copy_line( lse$get_message_text( lse$_packbkreflbl ) + get_info( the_package, 'lse$bookreference' )); endprocedure; ! lse$$show_package_bookreference PROCEDURE lse$$show_lse$tabs_hard ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$tabs_hard"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_hrdtablbl ) + lse$$boolean_str( GET_INFO( lse$window, 'lse$tabs_hard' ) ) ); SPLIT_LINE; ENDPROCEDURE; PROCEDURE lse$$show_lse$undo ON_ERROR [OTHERWISE]: lse$$unexpected_error( ERROR, ERROR_TEXT, ERROR_LINE, "lse$$show_lse$undo"); ENDON_ERROR; lse$$open_if_necessary; COPY_TEXT( lse$get_message_text( lse$_undoenlbl ) + lse$$boolean_str( GET_INFO( lse$window, 'lse$undo' ) ) ); SPLIT_LINE; ENDPROCEDURE; ! ! Global variable & constant declarations ! variable lse$$lse_mark_name, lse$$x_use_keypad, lse$$x_user_mark, lse$$x_show_wind_orig_buf, lse$$x_show_wind_orig_wind, lse$$x_show_wind_repl_buf, lse$$x_show_wind_fallback; constant lse$k_mark_output_length := 21, lse$$k_ellipsis := '...', lse$$k_ellipsis_len := 3, lse$k_lang_list_len := 14, lse$$k_key_list_name_len := 18, lse$$k_mark_prefix := "LSE$$MARK_", lse$$k_buffer_list_name_length := 42, lse$$k_show_buffer_prefix := "$SHOW_", lse$$k_buffer_list_start_col := 2, lse$$k_buffer_list_header := " Buffer Name Lines Wrt Mod Cmp Rvw Sys", lse$$k_buffer_list_header_format := "!42AS !6UL !3AS !3AS !3AS !3AS !3AS", lse$$k_alias_name_size := 20, lse$$k_alias_list_header_format := "!22AS !55AS", lse$$k_pack_name_size := 30, lse$$k_pack_list_header_format := "!30AS !45AS", lse$$k_adjust_name_size := 40, lse$$k_adjust_list_header_format := "!40AS !12SL !12SL", lse$$k_routine_name_size := 30, lse$$k_routine_list_header_format := "!30AS !45AS", lse$$k_plac_name_size := 19, lse$$k_plac_list_header_format := "!20AS !59AS", lse$$k_token_name_size := 19, lse$$k_token_list_header_format := "!20AS !59AS";