aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2015-02-15 22:17:53 +0100
committerPierre-Marie Pédrot2015-02-15 22:17:53 +0100
commit06f980bea466a21be2d1715679a5b6e54dcf7b67 (patch)
tree9179f55b0c90c33bc78c94f86d10c78933716e91
parentcb4ddb3c0421f828f627215aeb64b286c05c617a (diff)
Fixing bug #4037.
-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