rbx-trepanning 0.0.4-universal-rubinius-1.2 → 0.0.6-universal-rubinius-1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/ChangeLog +682 -0
  2. data/NEWS +19 -0
  3. data/README.textile +8 -9
  4. data/Rakefile +8 -8
  5. data/app/complete.rb +52 -0
  6. data/app/complete.rbc +1288 -0
  7. data/app/irb.rb +1 -2
  8. data/app/irb.rbc +55 -72
  9. data/app/llvm.rbc +780 -878
  10. data/app/method.rb +1 -1
  11. data/app/method.rbc +31 -35
  12. data/app/method_name.rbc +2467 -0
  13. data/app/options.rb +7 -24
  14. data/app/options.rbc +238 -132
  15. data/app/rbx-llvm.rbc +2478 -0
  16. data/app/util.rb +3 -3
  17. data/app/util.rbc +23 -27
  18. data/bin/trepanx +4 -3
  19. data/bin/trepanx.compiled.rbc +42 -32
  20. data/data/irbrc +41 -0
  21. data/data/irbrc.compiled.rbc +640 -0
  22. data/interface/base_intf.rb +9 -5
  23. data/interface/base_intf.rbc +200 -146
  24. data/interface/comcodes.rb +10 -8
  25. data/interface/comcodes.rbc +68 -26
  26. data/interface/script.rbc +21 -9
  27. data/interface/user.rb +74 -8
  28. data/interface/user.rbc +1702 -156
  29. data/io/input.rb +37 -14
  30. data/io/input.rbc +869 -320
  31. data/io/tcpclient.rb +7 -1
  32. data/io/tcpclient.rbc +205 -113
  33. data/io/tcpfns.rb +5 -3
  34. data/io/tcpfns.rbc +82 -40
  35. data/io/tcpserver.rb +13 -10
  36. data/io/tcpserver.rbc +236 -183
  37. data/lib/trepanning.rb +62 -21
  38. data/lib/trepanning.rbc +1304 -874
  39. data/lib/{trepanning.rb.orig → trepanning2.rb} +12 -4
  40. data/processor/breakpoint.rb +4 -1
  41. data/processor/command/base/cmd.rb +48 -3
  42. data/processor/command/base/subcmd.rb +2 -1
  43. data/processor/command/base/submgr.rb +23 -20
  44. data/processor/command/base/subsubmgr.rb +13 -2
  45. data/processor/command/complete.rb +7 -17
  46. data/processor/command/continue.rb +19 -11
  47. data/processor/command/disassemble.rb +39 -12
  48. data/processor/command/eval.rb +23 -5
  49. data/processor/command/help.rb +60 -6
  50. data/processor/command/info_subcmd/{file.rb → files.rb} +76 -18
  51. data/processor/command/info_subcmd/line.rb +86 -0
  52. data/processor/command/info_subcmd/program.rb +2 -11
  53. data/processor/command/info_subcmd/ruby.rb +62 -0
  54. data/processor/command/info_subcmd/variables.rb +7 -0
  55. data/processor/command/irb.rb +39 -7
  56. data/processor/command/macro.rb +76 -0
  57. data/processor/command/set_subcmd/confirm.rb +24 -0
  58. data/processor/command/set_subcmd/max.rb +4 -5
  59. data/processor/command/show.rb +11 -0
  60. data/processor/command/show_subcmd/auto.rb +1 -0
  61. data/processor/command/show_subcmd/basename.rb +1 -2
  62. data/processor/command/show_subcmd/confirm.rb +18 -0
  63. data/processor/command/show_subcmd/max.rb +0 -2
  64. data/processor/command/source.rb +0 -1
  65. data/processor/default.rb +2 -0
  66. data/processor/disassemble.rb +1 -0
  67. data/processor/load_cmds.rb +104 -20
  68. data/processor/location.rb +11 -12
  69. data/processor/main.rb +10 -6
  70. data/processor/mock.rb +6 -2
  71. data/processor/stepping.rb +1 -4
  72. data/processor/subcmd.rb +3 -2
  73. data/processor/validate.rb +3 -3
  74. data/sample/list-terminal-colors.rbc +158 -4
  75. data/sample/rocky-trepanx-colors.rb +15 -7
  76. data/sample/rocky-trepanx-colors.rbc +530 -0
  77. data/test/data/quit2.cmd +6 -0
  78. data/test/data/quit2.right +3 -0
  79. data/test/data/step-bug.cmd +11 -0
  80. data/test/data/step-bug.right +3 -0
  81. data/test/example/step-bug.rb +14 -0
  82. data/test/integration/helper.rb +1 -1
  83. data/test/integration/skip-test-step-bug.rb +17 -0
  84. data/test/integration/test-quit.rb +11 -0
  85. data/test/unit/test-app-util.rb +0 -1
  86. data/test/unit/test-base-cmd.rb +47 -0
  87. data/test/unit/test-base-subcmd.rb +2 -2
  88. data/test/unit/test-base-submgr.rb +24 -0
  89. data/test/unit/test-cmd-help.rb +4 -0
  90. data/test/unit/test-completion.rb +38 -0
  91. data/test/unit/test-intf-user.rb +2 -2
  92. data/test/unit/test-io-tcpclient.rb +3 -2
  93. data/test/unit/test-proc-eval.rb +1 -1
  94. data/test/unit/test-proc-load_cmds.rb +9 -0
  95. data/test/unit/test-subcmd-help.rb +1 -5
  96. metadata +182 -167
  97. data/app/options.rb.orig +0 -154
  98. data/bin/trepan.orig +0 -0
  99. data/bin/trepan.rej +0 -11
  100. data/lib/trepanning.rb.rej +0 -11
  101. data/sample/rocky-dot-trepanrc.orig +0 -0
  102. data/sample/rocky-dot-trepanrc.rej +0 -11
data/io/input.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright (C) 2010 Rocky Bernstein <rockyb@rubyforge.net>
2
+ # Copyright (C) 2010, 2011 Rocky Bernstein <rockyb@rubyforge.net>
3
3
 
4
4
  # Debugger user/command-oriented input possibly attached to IO-style
5
5
  # input or GNU Readline.
@@ -14,10 +14,14 @@ class Trepan
14
14
  # input or GNU Readline.
15
15
  class UserInput < Trepan::InputBase
16
16
 
17
+ @@readline_finalized = false
18
+
17
19
  def initialize(inp, opts={})
18
- @opts = DEFAULT_OPTS.merge(opts)
19
- @input = inp || STDIN
20
- @eof = false
20
+ @opts = DEFAULT_OPTS.merge(opts)
21
+ @input = inp || STDIN
22
+ @eof = false
23
+ @line_edit = @opts[:line_edit]
24
+ @use_readline = opts[:readline]
21
25
  end
22
26
 
23
27
  def closed?; @input.closed? end
@@ -28,18 +32,21 @@ class Trepan
28
32
  end
29
33
 
30
34
  # Read a line of input. EOFError will be raised on EOF.
31
- #
32
- # Note that we don't support prompting first. Instead, arrange
33
- # to call Trepan::Output.write() first with the prompt.
34
- def readline
35
- # FIXME we don't do command completion.
35
+ def readline(prompt='')
36
36
  raise EOFError if eof?
37
37
  begin
38
- line = @opts[:line_edit] ? Readline.readline : @input.gets
39
- @eof = !line
40
- rescue
38
+ if @line_edit && @use_readline
39
+ line = Readline.readline(prompt, true)
40
+ else
41
+ line = @input.gets
42
+ end
43
+ rescue EOFError
44
+ rescue => e
45
+ puts $!.backtrace
46
+ puts "Exception caught #{e.inspect}"
41
47
  @eof = true
42
48
  end
49
+ @eof = !line
43
50
  raise EOFError if eof?
44
51
  return line
45
52
  end
@@ -53,17 +60,33 @@ class Trepan
53
60
  def open(inp=nil, opts={})
54
61
  inp ||= STDIN
55
62
  inp = File.new(inp, 'r') if inp.is_a?(String)
56
- opts[:line_edit] = false unless
63
+ opts[:line_edit] = @line_edit =
57
64
  inp.respond_to?(:isatty) && inp.isatty && Trepan::GNU_readline?
58
65
  self.new(inp, opts)
59
66
  end
67
+
68
+ def finalize
69
+ if defined?(RbReadline) && !@@readline_finalized
70
+ RbReadline.rl_cleanup_after_signal()
71
+ RbReadline.rl_deprep_terminal()
72
+ @@readline_finalized = true
73
+ end
74
+ end
60
75
  end
61
76
  end
62
77
  end
63
78
 
64
79
  def Trepan::GNU_readline?
65
80
  begin
66
- require 'readline'
81
+ return @use_readline unless @use_readline.nil?
82
+ @use_readline ||= require 'rb-readline.rb'
83
+ if @use_readline
84
+ # Returns current line buffer
85
+ def Readline.line_buffer
86
+ RbReadline.rl_line_buffer
87
+ end
88
+ at_exit { Trepan::UserInput::finalize }
89
+ end
67
90
  return true
68
91
  rescue LoadError
69
92
  return false