| n (* when n < 0 *) -> current_mark_pos#backward_chars (abs n)
in
buffer#move_mark mark ~where:new_mark_pos;
| n (* when n < 0 *) -> current_mark_pos#backward_chars (abs n)
in
buffer#move_mark mark ~where:new_mark_pos;
buffer#move_mark `INSERT old_insert;
let mark_position = buffer#get_iter_at_mark mark in
if source_view#move_mark_onscreen mark then
buffer#move_mark `INSERT old_insert;
let mark_position = buffer#get_iter_at_mark mark in
if source_view#move_mark_onscreen mark then