procedure translate_controls (char_range) local replace_text ; if translate_array = TPU$K_UNSPECIFIED then translate_array := create_array (256,0); translate_array {0} := ''; translate_array {1} := ''; translate_array {2} := ''; translate_array {3} := ''; translate_array {4} := ''; translate_array {5} := ''; translate_array {6} := ''; translate_array {7} := ''; translate_array {8} := ''; translate_array {9} := ''; translate_array {10} := ''; translate_array {11} := ''; translate_array {12} := ''; translate_array {13} := ''; translate_array {14} := ''; translate_array {15} := ''; translate_array {16} := ''; translate_array {17} := ''; translate_array {18} := ''; translate_array {19} := ''; translate_array {20} := ''; translate_array {21} := ''; translate_array {22} := ''; translate_array {23} := ''; translate_array {24} := ''; translate_array {25} := ''; translate_array {26} := ''; translate_array {27} := ''; translate_array {28} := ''; translate_array {29} := ''; translate_array {30} := ''; translate_array {31} := ''; translate_array {127} := ''; translate_array {128} := ''; translate_array {129} := ''; translate_array {130} := ''; translate_array {131} := ''; translate_array {132} := ''; translate_array {133} := ''; translate_array {134} := ''; translate_array {135} := ''; translate_array {136} := ''; translate_array {137} := ''; translate_array {138} := ''; translate_array {139} := ''; translate_array {140} := ''; translate_array {141} := ''; translate_array {142} := ''; translate_array {143} := ''; translate_array {144} := ''; translate_array {145} := ''; translate_array {146} := ''; translate_array {147} := ''; translate_array {148} := ''; translate_array {149} := ''; translate_array {150} := ''; translate_array {151} := ''; translate_array {152} := ''; translate_array {153} := ''; translate_array {154} := ''; translate_array {155} := ''; translate_array {156} := ''; translate_array {157} := ''; translate_array {158} := ''; translate_array {159} := ''; translate_array {160} := ''; translate_array {164} := ''; translate_array {166} := ''; translate_array {172} := ''; translate_array {173} := ''; translate_array {174} := ''; translate_array {175} := ''; translate_array {180} := ''; translate_array {184} := ''; translate_array {190} := ''; translate_array {208} := ''; translate_array {222} := ''; translate_array {240} := ''; translate_array {254} := ''; translate_array {255} := ''; endif; if length (char_range) <> 1 then return 0 ; endif; replace_text := translate_array {ascii (str (char_range))}; if replace_text = TPU$K_UNSPECIFIED then return 0; endif; erase (char_range); copy_text (replace_text); return 1; endprocedure; !------------------------------------------------------------------------------ procedure eve_clear_nonprint constant ctrl_char_str := ASCII (0) + ASCII(1) + ASCII(2) + ASCII(3) + ASCII (4) + ASCII(5) + ASCII(6) + ASCII(7) + ASCII (8) + ASCII(9) + ASCII(10) + ASCII(11) + ASCII (12) + ASCII(13) + ASCII(14) + ASCII(15) + ASCII (16) + ASCII(17) + ASCII(18) + ASCII(19) + ASCII (20) + ASCII(21) + ASCII(22) + ASCII(23) + ASCII (24) + ASCII(25) + ASCII(26) + ASCII(27) + ASCII (28) + ASCII(29) + ASCII(30) + ASCII(31) + ASCII (127) + ASCII(128) + ASCII(129) + ASCII(130) + ASCII (131) + ASCII(132) + ASCII(133) + ASCII(134) + ASCII (135) + ASCII(136) + ASCII(137) + ASCII(138) + ASCII (139) + ASCII(140) + ASCII(141) + ASCII(142) + ASCII (143) + ASCII(144) + ASCII(145) + ASCII(146) + ASCII (147) + ASCII(148) + ASCII(149) + ASCII(150) + ASCII (151) + ASCII(152) + ASCII(153) + ASCII(154) + ASCII (155) + ASCII(156) + ASCII(157) + ASCII(158) + ASCII (159) + ASCII(160) + ASCII(164) + ASCII(166) + ASCII (172) + ASCII(173) + ASCII(174) + ASCII(175) + ASCII (180) + ASCII(184) + ASCII(190) + ASCII(208) + ASCII (222) + ASCII(240) + ASCII(254) + ASCII(255); local ctrl_char_pattern, source_buffer, ctrl_char_range; source_buffer := current_buffer; eve_buffer ("translate_buffer"); erase (current_buffer); copy_text (source_buffer); ctrl_char_pattern := ANY (ctrl_char_str); eve_top; LOOP ctrl_char_range := search_quietly (ctrl_char_pattern, forward); exitif ctrl_char_range = 0; position (ctrl_char_range); if not translate_controls (ctrl_char_range) then move_horizontal (1); endif; endloop; endprocedure; !------------------------------------------------------------------------------