! ! Transpose the two characters immediately preceding the cursor ! PROCEDURE decus$swap_characters LOCAL xchar, old_mode; MESSAGE (""); if CURRENT_OFFSET > 1 then MOVE_HORIZONTAL (-1); xchar := CURRENT_CHARACTER; MOVE_HORIZONTAL (-1); xchar := xchar + CURRENT_CHARACTER; old_mode := GET_INFO (CURRENT_BUFFER, "mode"); SET (OVERSTRIKE, CURRENT_BUFFER); COPY_TEXT (xchar); SET (old_mode, CURRENT_BUFFER); MESSAGE ("Two characters preceeding cursor swapped..."); else MESSAGE ("At beginning of the line..."); endif; ENDPROCEDURE