diff options
| author | Pierre-Marie Pédrot | 2015-02-15 22:17:53 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2015-02-15 22:17:53 +0100 |
| commit | 06f980bea466a21be2d1715679a5b6e54dcf7b67 (patch) | |
| tree | 9179f55b0c90c33bc78c94f86d10c78933716e91 | |
| parent | cb4ddb3c0421f828f627215aeb64b286c05c617a (diff) | |
Fixing bug #4037.
| -rw-r--r-- | ide/coqOps.ml | 9 |
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 |
