aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ide/coqOps.ml9
1 files changed, 8 insertions, 1 deletions
diff --git a/ide/coqOps.ml b/ide/coqOps.ml
index 689d4908f7..8ba1c8ecd2 100644
--- a/ide/coqOps.ml
+++ b/ide/coqOps.ml
@@ -218,8 +218,15 @@ object(self)
let on_click id =
let find _ _ s = Int.equal s.index id in
let sentence = Doc.find document find in
- let mark = sentence.stop in
+ let mark = sentence.start in
let iter = script#buffer#get_iter_at_mark mark in
+ (** Sentence starts tend to be at the end of a line, so we rather choose
+ the first non-line-ending position. *)
+ let rec sentence_start iter =
+ if iter#ends_line then sentence_start iter#forward_line
+ else iter
+ in
+ let iter = sentence_start iter in
script#buffer#place_cursor iter;
ignore (script#scroll_to_iter ~use_align:true ~yalign:0. iter)
in