source: extensions/gsdl-video/trunk/installed/cmdline/lib/ruby/1.8/irb/ext/tracer.rb@ 18425

Last change on this file since 18425 was 18425, checked in by davidb, 15 years ago

Video extension to Greenstone

File size: 1.2 KB
Line 
1#
2# irb/lib/tracer.rb -
3# $Release Version: 0.9.5$
4# $Revision: 11708 $
5# $Date: 2007-02-13 08:01:19 +0900 (Tue, 13 Feb 2007) $
6# by Keiju ISHITSUKA([email protected])
7#
8# --
9#
10#
11#
12require "tracer"
13
14module IRB
15
16 # initialize tracing function
17 def IRB.initialize_tracer
18 Tracer.verbose = false
19 Tracer.add_filter {
20 |event, file, line, id, binding, *rests|
21 /^#{Regexp.quote(@CONF[:IRB_LIB_PATH])}/ !~ file and
22 File::basename(file) != "irb.rb"
23 }
24 end
25
26 class Context
27 attr_reader :use_tracer
28 alias use_tracer? use_tracer
29
30 def use_tracer=(opt)
31 if opt
32 Tracer.set_get_line_procs(@irb_path) {
33 |line_no, *rests|
34 @io.line(line_no)
35 }
36 elsif !opt && @use_tracer
37 Tracer.off
38 end
39 @use_tracer=opt
40 end
41 end
42
43 class WorkSpace
44 alias __evaluate__ evaluate
45 def evaluate(context, statements, file = nil, line = nil)
46 if context.use_tracer? && file != nil && line != nil
47 Tracer.on
48 begin
49 __evaluate__(context, statements, file, line)
50 ensure
51 Tracer.off
52 end
53 else
54 __evaluate__(context, statements, file || __FILE__, line || __LINE__)
55 end
56 end
57 end
58
59 IRB.initialize_tracer
60end
61
Note: See TracBrowser for help on using the repository browser.