!============================================================================== ! DEFINE GLOBAL VARIABLES !============================================================================== PROCEDURE tpu$local_init fred$x_version := ""; ! Define for later reference eve$x_max_buffer_name_length := 38; ! New max length... eve$x_mark := eve$kt_null; ! Last string given to MARK command fred$x_empty := eve$kt_null; fred$x_case_counter := 1; ! set change case default pointer fred$x_current_case := 'Lower '; ! set change_case default fred$x_wp_mode := " "; ! Disable Word Processing mode fred$x_deleted_char := eve$kt_null; fred$x_deleted_line := eve$kt_null; fred$x_deleted_word := eve$kt_null; fred$x_word_delim1 := " "; fred$x_word_delim2 := " /<>[]{},.:*&!;+-=^()""\|?_$'"; fred$x_word := fred$x_word_delim1; fred$x_forward_word := ! don't move off current character position ( ANCHOR & ! if on eol,then match that ( (LINE_END) | !leading spaces,on a word delimiter (SPAN(' ') ) ) !((span(' ')) & (any(fred$x_word) | fred$x_empty) ) ) | !no leading spaces,on a word delimiter,move one past it (ANY (fred$x_word)) | !no leading spaces,on a real word,go one beyond it (SCAN (fred$x_word)) | !no leading spaces,on a last real word of line, match rest of line REMAIN ) & ! after matching, skip over trailing spaces if any ! except if match occurred at the eol. In this case,don't skip over blanks (LINE_BEGIN | SPAN(' ') | fred$x_empty); fred$x_edit_mode := fred$test_vt_mode; ! Get mode of editing if fred$x_edit_mode = "200" then fred$vt200_keys; MESSAGE ("Editing in the VT200 keypad mode..."); else fred$vt100_keys; MESSAGE ("Editing in the VT100 keypad mode..."); endif; eve$set_status_line (CURRENT_WINDOW); SET (bell,broadcast,on); ! Turn on bell for BROADCAST messages fred$get_version; MESSAGE (" FRED Keypad Editor " + fred$x_version); ENDPROCEDURE;