aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ide/nanoPG.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/ide/nanoPG.ml b/ide/nanoPG.ml
index d4b32b9ce..c6ac56992 100644
--- a/ide/nanoPG.ml
+++ b/ide/nanoPG.ml
@@ -127,15 +127,15 @@ let run key gui action status =
b#place_cursor ~where:(b#get_iter_at_mark `SEL_BOUND);
status
| Motion f ->
- let b = (ct gui).script#source_buffer in
+ let b, script = (ct gui).script#source_buffer, (ct gui).script in
let sel_mode = status.sel || List.mem `SHIFT (GdkEvent.Key.state key) in
let i =
if sel_mode then b#get_iter_at_mark `SEL_BOUND
else b#get_iter_at_mark `INSERT in
let where, status = f status i in
let sel_mode = status.sel || List.mem `SHIFT (GdkEvent.Key.state key) in
- if sel_mode then b#move_mark `SEL_BOUND ~where
- else b#place_cursor ~where;
+ if sel_mode then (b#move_mark `SEL_BOUND ~where; script#scroll_mark_onscreen `SEL_BOUND)
+ else (b#place_cursor ~where; script#scroll_mark_onscreen `INSERT);
status
let emacs = empty