summaryrefslogtreecommitdiff
path: root/debugger/show_source.ml
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2010-01-20 16:26:46 +0000
committerDamien Doligez <damien.doligez-inria.fr>2010-01-20 16:26:46 +0000
commitbdc0fadee2dc9669818955486b4c3497016edda5 (patch)
tree48047d836d903e84f7e0ae6d74613c2247c4fc81 /debugger/show_source.ml
parent8cd4fc63907a541d05f31a740632948d453f69f9 (diff)
downloadocaml-bdc0fadee2dc9669818955486b4c3497016edda5.tar.gz
merge changes from release/3.11.1 to release/3.11.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'debugger/show_source.ml')
-rw-r--r--debugger/show_source.ml16
1 files changed, 9 insertions, 7 deletions
diff --git a/debugger/show_source.ml b/debugger/show_source.ml
index 3b7a133fe6..2826c9e686 100644
--- a/debugger/show_source.ml
+++ b/debugger/show_source.ml
@@ -45,13 +45,16 @@ let show_point ev selected =
let before = (ev.ev_kind = Event_before) in
if !emacs && selected then
begin try
+ let buffer = get_buffer (Events.get_pos ev) mdle in
let source = source_of_module ev.ev_loc.Location.loc_start mdle in
printf "\026\026M%s:%i:%i" source
- ev.ev_loc.Location.loc_start.Lexing.pos_cnum
- ev.ev_loc.Location.loc_end.Lexing.pos_cnum;
+ (snd (start_and_cnum buffer ev.ev_loc.Location.loc_start))
+ (snd (start_and_cnum buffer ev.ev_loc.Location.loc_end));
printf "%s\n" (if before then ":before" else ":after")
with
- Not_found -> (* get_buffer *)
+ Out_of_range -> (* point_of_coord *)
+ prerr_endline "Position out of range."
+ | Not_found -> (* Events.get_pos || get_buffer *)
prerr_endline ("No source file for " ^ mdle ^ ".");
show_no_point ()
end
@@ -59,11 +62,10 @@ let show_point ev selected =
begin try
let pos = Events.get_pos ev in
let buffer = get_buffer pos mdle in
- let point = pos.Lexing.pos_cnum in
- let (start, line_number) = line_of_pos buffer point in
- ignore(print_line buffer line_number start point before)
+ let start, point = start_and_cnum buffer pos in
+ ignore(print_line buffer pos.Lexing.pos_lnum start point before)
with
- Out_of_range -> (* line_of_pos *)
+ Out_of_range -> (* point_of_coord *)
prerr_endline "Position out of range."
| Not_found -> (* Events.get_pos || get_buffer *)
prerr_endline ("No source file for " ^ mdle ^ ".")