From 06f980bea466a21be2d1715679a5b6e54dcf7b67 Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Sun, 15 Feb 2015 22:17:53 +0100 Subject: Fixing bug #4037. --- ide/coqOps.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3