; procedure eve_change_case ! bugfix 20-Jul-1987 when in overstrike it deleted the character local this_position, change_case_range, this_mode; this_position := mark(none); if (eve$x_select_position <> 0) then if get_info(eve$x_select_position,"buffer") <> current_buffer then message("Change case must be used in the same buffer as Select."); else change_case_range := select_range; ! select & change case in same spot-> erase this character if change_case_range = 0 then if this_position = end_of(current_buffer) then message("Nothing to change case"); eve$x_selected_position := 0; return; else change_case_range := create_range(mark(none),mark(none),none); endif; endif; change_case (change_case_range,invert); position(this_position); eve$x_select_position := 0; change_case_range := 0; endif; else this_mode := get_info(current_buffer,eve$kt_mode); if (this_mode = OVERSTRIKE) then cc := current_character; else cc := erase_character(1); endif; change_case(cc,invert); copy_text(cc); endif; endprocedure