rbx-trepanning 0.1.0-universal-rubinius-1.2 → 0.2.1-universal-rubinius-1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/.gitignore +3 -0
- data/.travis.yml +4 -0
- data/ChangeLog +162 -0
- data/Gemfile +16 -0
- data/NEWS +15 -8
- data/README.md +72 -0
- data/Rakefile +16 -13
- data/app/client.rb +15 -4
- data/app/cmd_parse.kpeg +38 -40
- data/app/cmd_parse.rb +25 -20
- data/app/cmd_parser.rb +1030 -1036
- data/app/complete.rb +12 -12
- data/app/default.rb +6 -5
- data/app/display.rb +2 -2
- data/app/frame.rb +17 -4
- data/app/method.rb +11 -10
- data/app/options.rb +21 -22
- data/app/util.rb +17 -10
- data/interface/user.rb +2 -2
- data/io/input.rb +13 -3
- data/lib/trepanning.rb +22 -23
- data/processor.rb +32 -32
- data/processor/command.rb +32 -13
- data/processor/command/backtrace.rb +2 -16
- data/processor/command/base/submgr.rb +22 -14
- data/processor/command/base/subsubcmd.rb +11 -13
- data/processor/command/base/subsubmgr.rb +38 -19
- data/processor/command/disassemble.rb +11 -11
- data/processor/command/help.rb +24 -24
- data/processor/command/shell.rb +17 -17
- data/processor/default.rb +5 -2
- data/processor/frame.rb +37 -0
- data/processor/help.rb +9 -11
- data/processor/load_cmds.rb +53 -40
- data/processor/location.rb +2 -2
- data/processor/mock.rb +8 -9
- data/processor/subcmd.rb +12 -12
- data/rbx-trepanning.gemspec +4 -3
- data/sample/rocky-trepanx-colors.rb +1 -1
- data/test/example/factorial.rb +10 -0
- data/test/functional/fn_helper.rb +8 -7
- data/test/functional/test-break.rb +39 -5
- data/test/functional/test-recursive-bt.rb +105 -0
- data/test/integration/helper.rb +14 -14
- data/test/integration/test-quit.rb +8 -2
- data/test/unit/cmd-helper.rb +2 -2
- data/test/unit/test-base-subcmd.rb +14 -3
- data/test/unit/test-completion.rb +7 -3
- data/test/unit/test-io-tcpserver.rb +10 -5
- data/test/unit/test-proc-validate.rb +4 -4
- metadata +208 -113
- data/README.textile +0 -34
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ODNmMTE5OWU1NmZjYTg1ZjgwZTBlMmJmZGYxODU4YjNmODMyNTlkNA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZTZjNTU2MjE3YjE2MWQ2ODU0N2U2ODcxYTI1ZGM1MDFhYTg1ODFmNQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Mzc4YjRlZDYwN2NiYzUxYmNiMWZmYmFkYWZhMzVlMzFhOTQ0NDMwNzQ2ZTRj
|
10
|
+
MjAwNmMxYzJiOWVmODBlM2Y2MmRlYTA5MWRhNzQxYzRjZmQ3NzM2ZTRiZDgy
|
11
|
+
Y2IyZDYyZjcxOTk2NTViODIyMDcxODY0OTNmMTY5NDUzZjE2MjI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
Y2Y3OTJjYjgxM2I5ODBmMzU2NzIyMDdiNmQyMWEzMWIyNDE3YjY0M2NkMjRl
|
14
|
+
NDJiZjhlM2YzNGNjNmI4OTliNWVkYWJkZDdjZWM3Yzg1NTlhMDY0MDZhNWQz
|
15
|
+
ZjczM2ExN2NmYmRjZjk1NTgwNjg0MjEwNjUxMWViNDc3YWRiZTE=
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/ChangeLog
CHANGED
@@ -1,3 +1,165 @@
|
|
1
|
+
2013-07-18 rocky <rockyb@rubyforge.org>
|
2
|
+
|
3
|
+
* NEWS, app/options.rb: Get ready for release 0.2.1
|
4
|
+
|
5
|
+
2013-07-18 rocky <rockyb@rubyforge.org>
|
6
|
+
|
7
|
+
* README.md, README.textile: Update REAME
|
8
|
+
|
9
|
+
2013-07-18 rocky <rockyb@rubyforge.org>
|
10
|
+
|
11
|
+
* test/integration/test-quit.rb, test/unit/test-io-tcpserver.rb:
|
12
|
+
Make tests work in the presense of different environmental
|
13
|
+
conditions.
|
14
|
+
|
15
|
+
2013-07-18 rocky <rockyb@rubyforge.org>
|
16
|
+
|
17
|
+
* test/functional/fn_helper.rb,
|
18
|
+
test/functional/test-recursive-bt.rb, test/integration/test-quit.rb:
|
19
|
+
... And the last of the failing 1.9 tests are working! (This batch
|
20
|
+
was just about tests, not the debugger code)
|
21
|
+
|
22
|
+
2013-07-18 rocky <rockyb@rubyforge.org>
|
23
|
+
|
24
|
+
* app/cmd_parse.rb: Ruby 1.8/1.9 compatability. This one is
|
25
|
+
important and buried deep in there: resolving method/class objects.
|
26
|
+
|
27
|
+
2013-07-17 rocky <rockyb@rubyforge.org>
|
28
|
+
|
29
|
+
* processor/command/base/subsubcmd.rb, processor/help.rb: More
|
30
|
+
1.8/1.9 compatibility
|
31
|
+
|
32
|
+
2013-07-17 rocky <rockyb@rubyforge.org>
|
33
|
+
|
34
|
+
* : commit 7ae1a2e45c687ab388064cc7af4ea497aefc7d06 Author: rocky
|
35
|
+
<rockyb@rubyforge.org> Date: Wed Jul 17 16:44:18 2013 -0400
|
36
|
+
|
37
|
+
2013-07-17 rocky <rockyb@rubyforge.org>
|
38
|
+
|
39
|
+
* Gemfile, app/cmd_parser.rb: Update parser with kpeg version 0.10.0
|
40
|
+
|
41
|
+
2013-07-17 rocky <rockyb@rubyforge.org>
|
42
|
+
|
43
|
+
* app/util.rb, processor/command.rb,
|
44
|
+
processor/command/base/subsubmgr.rb, test/unit/test-base-subcmd.rb:
|
45
|
+
More 1.9/1.8 compatability
|
46
|
+
|
47
|
+
2013-07-16 rocky <rockyb@rubyforge.org>
|
48
|
+
|
49
|
+
* Rakefile, app/complete.rb, processor/command/base/submgr.rb,
|
50
|
+
processor/command/help.rb, processor/load_cmds.rb,
|
51
|
+
processor/mock.rb, processor/subcmd.rb: Deal with one more ruby 1.8
|
52
|
+
vs 1.9 incompatiblity
|
53
|
+
|
54
|
+
2013-07-16 rocky <rockyb@rubyforge.org>
|
55
|
+
|
56
|
+
* Gemfile, processor/load_cmds.rb, rbx-trepanning.gemspec: Start
|
57
|
+
using redcard to make this work on both rubinius 1.8 and 1.9
|
58
|
+
|
59
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
60
|
+
|
61
|
+
* app/cmd_parse.kpeg, app/cmd_parse.rb, lib/trepanning.rb,
|
62
|
+
processor.rb, processor/load_cmds.rb: Towards getting this to work
|
63
|
+
on the 1.9.3 dialect
|
64
|
+
|
65
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
66
|
+
|
67
|
+
* Rakefile, processor/mock.rb: Rakefile is now 1.9 compliant
|
68
|
+
|
69
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
70
|
+
|
71
|
+
* test/unit/test-proc-validate.rb: More aggressive setting of
|
72
|
+
:start_frame in mock debugger
|
73
|
+
|
74
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
75
|
+
|
76
|
+
* test/unit/cmd-helper.rb: More aggressive setting of :start_frame
|
77
|
+
in mock debugger
|
78
|
+
|
79
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
80
|
+
|
81
|
+
* processor/command/shell.rb: Remove stray spaces between "msg" and
|
82
|
+
before "("
|
83
|
+
|
84
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
85
|
+
|
86
|
+
* processor/command/disassemble.rb: Remove stray space betwein "msg"
|
87
|
+
and before "("
|
88
|
+
|
89
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
90
|
+
|
91
|
+
* app/default.rb, test/unit/cmd-helper.rb: Add default value for
|
92
|
+
"start_frame" setting
|
93
|
+
|
94
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
95
|
+
|
96
|
+
* Gemfile: Forgot columnize
|
97
|
+
|
98
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
99
|
+
|
100
|
+
* Gemfile: Travis wants rdoc in Gemfile
|
101
|
+
|
102
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
103
|
+
|
104
|
+
* Gemfile: Travis wants rake in Gemfile
|
105
|
+
|
106
|
+
2013-07-15 rocky <rockyb@rubyforge.org>
|
107
|
+
|
108
|
+
* .gitignore, Gemfile, rbx-trepanning.gemspec: Add a Bundler
|
109
|
+
Gemfile.
|
110
|
+
|
111
|
+
2013-07-14 rocky <rockyb@rubyforge.org>
|
112
|
+
|
113
|
+
* app/options.rb: Bump required gem versions
|
114
|
+
|
115
|
+
2013-07-14 rocky <rockyb@rubyforge.org>
|
116
|
+
|
117
|
+
* .travis.yml: Try travis
|
118
|
+
|
119
|
+
2013-07-14 rocky <rockyb@rubyforge.org>
|
120
|
+
|
121
|
+
* ChangeLog, app/options.rb: Get ready for release 0.2.0
|
122
|
+
|
123
|
+
2013-07-14 rocky <rockyb@rubyforge.org>
|
124
|
+
|
125
|
+
* app/method.rb, lib/trepanning.rb, processor/load_cmds.rb,
|
126
|
+
test/functional/test-break.rb, test/integration/helper.rb,
|
127
|
+
test/unit/test-completion.rb: Changes to get this to work on
|
128
|
+
rubinius 2.0.0.rc1 (1.8.7 93c75658...) app/method.rb:
|
129
|
+
top_scope.parent can be nil lib/trepanning.rb: Locations have
|
130
|
+
changed to get -Xcode start correct processor/load_cmds.rb: $0 can
|
131
|
+
be nil when -Xtrace is used
|
132
|
+
|
133
|
+
2013-03-10 rocky <rockyb@rubyforge.org>
|
134
|
+
|
135
|
+
* processor/default.rb: A more clever displaywidth default setting
|
136
|
+
|
137
|
+
2013-02-08 rocky <rockyb@rubyforge.org>
|
138
|
+
|
139
|
+
* .gitignore: Administrivia
|
140
|
+
|
141
|
+
2013-02-08 rocky <rockyb@rubyforge.org>
|
142
|
+
|
143
|
+
* app/display.rb, app/frame.rb, app/method.rb,
|
144
|
+
processor/location.rb: static_scope -> constant_scope.
|
145
|
+
compiled_method->compiled_code. Thanks brixen!
|
146
|
+
|
147
|
+
2012-11-26 R. Bernstein <rockyb@rubyforge.org>
|
148
|
+
|
149
|
+
* sample/rocky-trepanx-colors.rb: Update
|
150
|
+
sample/rocky-trepanx-colors.rb
|
151
|
+
|
152
|
+
2012-06-27 rvm <rocky@gnu.org>
|
153
|
+
|
154
|
+
* app/client.rb, interface/user.rb, io/input.rb,
|
155
|
+
sample/rocky-trepanx-colors.rb: Remote execution corrections found
|
156
|
+
in rb-trepanning' .
|
157
|
+
|
158
|
+
2011-10-29 rocky <rockyb@rubyforge.org>
|
159
|
+
|
160
|
+
* : commit a7fb8932e29a9afa95a355c0eef1f1d06783d8b1 Author: rocky
|
161
|
+
<rockyb@rubyforge.org> Date: Sat Oct 29 12:33:05 2011 -0400
|
162
|
+
|
1
163
|
2011-10-27 rvm <rocky@gnu.org>
|
2
164
|
|
3
165
|
* NEWS, app/rbx-llvm.rb, rbx-trepanning.gemspec,
|
data/Gemfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
gem 'rake'
|
3
|
+
gem 'redcard'
|
4
|
+
gem 'rdoc'
|
5
|
+
gem 'columnize'
|
6
|
+
gem 'rbx-require-relative', :require => 'require_relative'
|
7
|
+
gem 'rbx-linecache', :require => 'linecache'
|
8
|
+
gem 'coderay', '>=1.0'
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem 'diff-lcs'
|
12
|
+
end
|
13
|
+
|
14
|
+
group :development do
|
15
|
+
gem 'kpeg'
|
16
|
+
end
|
data/NEWS
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
+
July 18, 2013 (0.2.1)
|
2
|
+
- Changes to make it work on 1.9 language dialect for 2.0rc1
|
3
|
+
|
4
|
+
July 14, 2013
|
5
|
+
- Changes to make it work on 1.8 language dialect for 2.0rc1
|
6
|
+
|
7
|
+
|
1
8
|
Oct 27, 2011 (0.1.0)
|
2
|
-
- Add debugger commands:
|
9
|
+
- Add debugger commands:
|
3
10
|
* info variables (is in ruby-debug)
|
4
11
|
* info locals as alternative to "info variables locals" (is in gdb)
|
5
12
|
|
@@ -38,7 +45,7 @@ June 12, 2011 (0.0.9) Fleetwood release
|
|
38
45
|
- Add options from ruby-debug:
|
39
46
|
* --cd
|
40
47
|
* --include
|
41
|
-
* --require
|
48
|
+
* --require
|
42
49
|
* --debug
|
43
50
|
- fix bugs, and improve help
|
44
51
|
|
@@ -50,10 +57,10 @@ March 15, 2011 (0.0.8)
|
|
50
57
|
* VM offsets are now specified via @ rather than o or O
|
51
58
|
* Filenames can be quoted and blanks and characters inside escaped
|
52
59
|
- Document command syntax by adding it as a new category with sub help
|
53
|
-
- More controlled parsing of method names
|
60
|
+
- More controlled parsing of method names
|
54
61
|
- improvements to "info files"
|
55
62
|
show if we have a compiled method object for the file
|
56
|
-
- eval? now strips more:
|
63
|
+
- eval? now strips more:
|
57
64
|
* leading "return" or "case", or "unless"
|
58
65
|
* trailing "then"
|
59
66
|
- Save and restore some debugger state across a restart
|
@@ -74,17 +81,17 @@ Feb 15, 2011 (0.0.6)
|
|
74
81
|
|
75
82
|
Feb 15, 2011 (0.0.5)
|
76
83
|
- "disassemble" command: allow disassembly of specified line numbers
|
77
|
-
- GNU Readline:
|
78
|
-
* Start GNU readline tab (command) completion.
|
84
|
+
- GNU Readline:
|
85
|
+
* Start GNU readline tab (command) completion.
|
79
86
|
* Save and restore command history
|
80
87
|
* add --readline and --no-readline options to trepanx
|
81
88
|
- Macros can return more than one command now
|
82
|
-
- help
|
89
|
+
- help
|
83
90
|
* "help macros" shows all macro names
|
84
91
|
* "help aliases" shows all alias names
|
85
92
|
* "help *" lists macros and aliases now
|
86
93
|
- start "info line"
|
87
|
-
- "info file" has/shows File::stat()'s mtime and ctime
|
94
|
+
- "info file" has/shows File::stat()'s mtime and ctime
|
88
95
|
- be able to pass --verbose to ruby to rake
|
89
96
|
|
90
97
|
|
data/README.md
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
[](https://travis-ci.org/rocky/rbx-trepanning)
|
2
|
+
|
3
|
+
## Summary trepanx
|
4
|
+
|
5
|
+
The trepanning debugger gdb-like debugger. As such, it is both a high-level and low-level debugger. It is a also a rewrite of *ruby-debug*.
|
6
|
+
|
7
|
+
## Installing
|
8
|
+
|
9
|
+
```console
|
10
|
+
gem install rbx-trepanning
|
11
|
+
```
|
12
|
+
|
13
|
+
If you want to run from git:
|
14
|
+
|
15
|
+
```console
|
16
|
+
$ git clone https://github.com/rocky/rbx-trepanning.git
|
17
|
+
$ cd rbx-trepanning
|
18
|
+
$ bundle install # load dependent packages
|
19
|
+
$ rake test # test it
|
20
|
+
$ rake install # install it
|
21
|
+
```
|
22
|
+
|
23
|
+
should get you going.
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
## Running
|
28
|
+
|
29
|
+
To run initially:
|
30
|
+
|
31
|
+
```console
|
32
|
+
$ trepanx my-ruby-program.rb
|
33
|
+
```
|
34
|
+
|
35
|
+
Or to call from inside your code:
|
36
|
+
|
37
|
+
```console
|
38
|
+
require 'trepanning'
|
39
|
+
debugger # Don't stop here...
|
40
|
+
work # but stop here.
|
41
|
+
```
|
42
|
+
|
43
|
+
If you want an immediate stop:
|
44
|
+
|
45
|
+
```console
|
46
|
+
debugger(:immediate=>true)
|
47
|
+
```
|
48
|
+
|
49
|
+
Finally, if you put in your _.trepanx_
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
Rubinius::Loader.debugger = proc {
|
53
|
+
require 'trepanning';
|
54
|
+
Trepan.start(:skip_loader => :Xdebug)
|
55
|
+
}
|
56
|
+
```
|
57
|
+
|
58
|
+
Then you can use the _-Xdebug_ option the Ruby, e.g.
|
59
|
+
|
60
|
+
```
|
61
|
+
rbx -Xdebug my-ruby-program.rb
|
62
|
+
```
|
63
|
+
|
64
|
+
## See Also
|
65
|
+
|
66
|
+
* There is extensive on-line help. Run `help` inside the debugger.
|
67
|
+
* There is a [google group mailing list](http://groups.google.com/group/ruby-debugger for Ruby debuggers.)
|
68
|
+
* The [Wiki](https://github.com/rocky/rbx-trepanning/wiki).
|
69
|
+
|
70
|
+
## Author
|
71
|
+
|
72
|
+
Rocky Bernstein
|
data/Rakefile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
# -*- Ruby -*-
|
3
|
-
# Are we Rubinius? The right versions of it?
|
4
|
-
raise RuntimeError,
|
3
|
+
# Are we Rubinius? The right versions of it?
|
4
|
+
raise RuntimeError,
|
5
5
|
'This package is for Rubinius 1.2.[34] or 2.0.x only!' unless
|
6
|
-
Object.constants.include?('Rubinius') &&
|
7
|
-
Rubinius.constants.include?('VM') &&
|
6
|
+
Object.constants.include?('Rubinius') &&
|
7
|
+
Rubinius.constants.include?('VM') &&
|
8
8
|
Rubinius::VERSION =~ /1\.2\.[34]/ || Rubinius::VERSION =~ /2\.0/
|
9
9
|
|
10
10
|
require 'rubygems'
|
@@ -36,8 +36,9 @@ task :gem=>:gemspec do
|
|
36
36
|
two_filename = gemspec.dup.file_name.gsub(/1\.2/, '2.0')
|
37
37
|
FileUtils.cp("rbx-trepanning.gemspec", "rbx-trepanning-2.0.gemspec")
|
38
38
|
gemspec_filename2 = "rbx-trepanning-2.0.gemspec"
|
39
|
-
|
40
|
-
|
39
|
+
File.open(gemspec_filename2, 'w') do |f|
|
40
|
+
lines.each {|line| f.write(line)}
|
41
|
+
end
|
41
42
|
sh "gem build #{gemspec_filename2}"
|
42
43
|
FileUtils.mv("#{two_filename}", "pkg/")
|
43
44
|
end
|
@@ -64,14 +65,15 @@ task :check => :test
|
|
64
65
|
|
65
66
|
require 'rbconfig'
|
66
67
|
def RbConfig.ruby
|
67
|
-
File.join(RbConfig::CONFIG['bindir'],
|
68
|
-
RbConfig::CONFIG['RUBY_INSTALL_NAME'] +
|
68
|
+
File.join(RbConfig::CONFIG['bindir'],
|
69
|
+
RbConfig::CONFIG['RUBY_INSTALL_NAME'] +
|
69
70
|
RbConfig::CONFIG['EXEEXT'])
|
70
71
|
end unless defined? RbConfig.ruby
|
71
72
|
|
72
73
|
def run_standalone_ruby_files(list, opts={})
|
73
74
|
puts '*' * 40
|
74
75
|
list.each do |ruby_file|
|
76
|
+
puts ruby_file
|
75
77
|
system(RbConfig.ruby, ruby_file)
|
76
78
|
p $?.exitstatus
|
77
79
|
break if $?.exitstatus != 0 && !opts[:continue]
|
@@ -123,7 +125,7 @@ task :test do
|
|
123
125
|
e
|
124
126
|
end
|
125
127
|
end.compact
|
126
|
-
|
128
|
+
|
127
129
|
exceptions.each {|e| puts e;puts e.backtrace }
|
128
130
|
raise 'Test failures' unless exceptions.empty?
|
129
131
|
end
|
@@ -164,6 +166,7 @@ end
|
|
164
166
|
|
165
167
|
desc 'Run each processor Ruby file in standalone mode.'
|
166
168
|
task :'check:unit' do
|
169
|
+
# run_standalone_ruby_files(FileList['test/unit/**/test-*.rb'], :continue=>true)
|
167
170
|
run_standalone_ruby_files(FileList['test/unit/**/test-*.rb'])
|
168
171
|
end
|
169
172
|
|
@@ -181,8 +184,8 @@ desc 'Generate command parser.'
|
|
181
184
|
task :'cmd_parse' do
|
182
185
|
require 'tmpdir'
|
183
186
|
temp_file = File.join(Dir.tmpdir, "cmd_parser_#{$$}.rb")
|
184
|
-
sh("kpeg --name CmdParse --verbose --stand-alone " +
|
185
|
-
"#{File.join(ROOT_DIR, %w(app cmd_parse.kpeg))} " +
|
187
|
+
sh("kpeg --name CmdParse --verbose --stand-alone " +
|
188
|
+
"#{File.join(ROOT_DIR, %w(app cmd_parse.kpeg))} " +
|
186
189
|
"--output #{temp_file}")
|
187
190
|
end
|
188
191
|
|
@@ -214,7 +217,7 @@ Rake::RDocTask.new("rdoc") do |rdoc|
|
|
214
217
|
|
215
218
|
rdoc.rdoc_files.include(%w(lib/trepanning.rb processor/*.rb
|
216
219
|
processor/command/*.rb
|
217
|
-
app/*.rb intf/*.rb io/*.rb
|
220
|
+
app/*.rb intf/*.rb io/*.rb
|
218
221
|
))
|
219
222
|
end
|
220
223
|
|
@@ -240,5 +243,5 @@ task :rm_tilde_backups do
|
|
240
243
|
end
|
241
244
|
|
242
245
|
desc 'Remove built files'
|
243
|
-
task :clean => [:clobber_package, :clobber_rdoc, :rm_patch_residue,
|
246
|
+
task :clean => [:clobber_package, :clobber_rdoc, :rm_patch_residue,
|
244
247
|
:rm_tilde_backups]
|
data/app/client.rb
CHANGED
@@ -1,18 +1,25 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
# Copyright (C) 2011 Rocky Bernstein <rockyb@rubyforge.net>
|
2
|
+
# Copyright (C) 2011, 2012 Rocky Bernstein <rockyb@rubyforge.net>
|
3
3
|
require 'rubygems'; require 'require_relative'
|
4
4
|
require_relative 'default' # default debugger settings
|
5
|
+
require_relative '../lib/trepanning' # main Trepan object & initialization
|
5
6
|
require_relative '../interface/comcodes' # communication codes
|
6
7
|
|
7
8
|
module Trepanning
|
8
9
|
include Trepanning::RemoteCommunication
|
9
10
|
def start_client(options)
|
11
|
+
puts "Client option given"
|
12
|
+
user_opts = {}
|
13
|
+
%w(readline).each do |opt|
|
14
|
+
user_opts[opt.to_sym] = options[opt.to_sym]
|
15
|
+
end
|
10
16
|
dbgr = Trepan.new(:client => true,
|
11
17
|
:cmdfiles => [],
|
12
18
|
:initial_dir => options[:chdir],
|
13
19
|
:nx => true,
|
14
20
|
:host => options[:host],
|
15
|
-
:port => options[:port]
|
21
|
+
:port => options[:port],
|
22
|
+
:user_opts => user_opts
|
16
23
|
)
|
17
24
|
intf = dbgr.intf[-1]
|
18
25
|
while true
|
@@ -25,6 +32,11 @@ module Trepanning
|
|
25
32
|
# p [control_code, line]
|
26
33
|
case control_code
|
27
34
|
when PRINT
|
35
|
+
|
36
|
+
# FIXME: don't know why server sometimes adds a gratuituous space.
|
37
|
+
# the space is added somewhere inside TCPSocket.print
|
38
|
+
line = line[0..-2] if line.end_with?("\n ")
|
39
|
+
|
28
40
|
print line
|
29
41
|
when CONFIRM_TRUE
|
30
42
|
response = intf.confirm(line, true)
|
@@ -33,8 +45,7 @@ module Trepanning
|
|
33
45
|
response = intf.confirm(line, true)
|
34
46
|
intf.write_remote(CONFIRM_REPLY, response ? 'Y' : 'N')
|
35
47
|
when PROMPT
|
36
|
-
#
|
37
|
-
# debugger
|
48
|
+
# Printing of prompt has been handled already by PRINT.
|
38
49
|
begin
|
39
50
|
command = intf.read_command(line)
|
40
51
|
rescue EOFError
|