This procedure allows either to edit and re-execute the last expression entered in interactive mode (entering (!) ) or a selected expression referenced by its number (entering e.g. (! 2) ).
The editor in the variable the-current-editor is invoked to edit the expression.
Example (invoking an external editor at ):
 (define a 1) a  (set! a (+ a 1)) a  a 2  (! 2) ok  a 3