sender 1.1.4 → 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.
- data/CHANGELOG.rdoc +9 -2
- data/Manifest.txt +0 -1
- data/Rakefile +1 -1
- data/ext/sender/RPSender_internal.c +12 -10
- data/ext/sender/rb_Global.c +9 -1
- data/lib/sender/sender.bundle +0 -0
- data/sender.gemspec +3 -3
- data/test/test_sender.rb +1 -1
- metadata +4 -6
- data/mkmf.log +0 -41
data/CHANGELOG.rdoc
CHANGED
@@ -6,12 +6,19 @@ Initial release
|
|
6
6
|
|
7
7
|
Minor detail changes
|
8
8
|
|
9
|
-
=== 1.1.0 2010-06-
|
9
|
+
=== 1.1.0 2010-06-23
|
10
10
|
|
11
11
|
Added :Kernel.backtrace.
|
12
12
|
Added :Kernel.backtrace_includes?.
|
13
13
|
Fixed external requirement of Ruby source directory. Gem should now install transparently and painlessly.
|
14
14
|
|
15
|
-
=== 1.1.1-4 2010-06-
|
15
|
+
=== 1.1.1-4 2010-06-23
|
16
16
|
|
17
17
|
Minor detail changes
|
18
|
+
|
19
|
+
=== 1.1.2 2010-06-24
|
20
|
+
|
21
|
+
Fixed __caller__.
|
22
|
+
Observed that no backtrace is available for :initialize. For now this can be circumvented by subclassing new (make sure you call super);
|
23
|
+
in the long term, I am investing what needs to be done for the special case.
|
24
|
+
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ Hoe.spec 'sender' do
|
|
11
11
|
self.spec_extras = { :extensions => ["ext/sender/extconf.rb"] }
|
12
12
|
self.extra_dev_deps << ['rake-compiler', '>= 0']
|
13
13
|
|
14
|
-
self.version="1.
|
14
|
+
self.version="1.2"
|
15
15
|
|
16
16
|
Rake::ExtensionTask.new( 'sender', spec ) do |ext|
|
17
17
|
ext.lib_dir = File.join('lib', 'sender')
|
@@ -6,30 +6,32 @@
|
|
6
6
|
* framePriorToCurrent *
|
7
7
|
************************/
|
8
8
|
|
9
|
-
rb_control_frame_t* RPRuby_internal_framePriorTo( rb_control_frame_t*
|
9
|
+
rb_control_frame_t* RPRuby_internal_framePriorTo( rb_control_frame_t* c_control_frame ) {
|
10
10
|
|
11
|
-
rb_thread_t* c_thread
|
12
|
-
rb_control_frame_t*
|
11
|
+
rb_thread_t* c_thread = GET_THREAD();
|
12
|
+
rb_control_frame_t* c_prior_control_frame = NULL;
|
13
13
|
// get the current frame pointer
|
14
|
-
if (
|
15
|
-
|
14
|
+
if ( c_control_frame == NULL ) {
|
15
|
+
c_control_frame = c_thread->cfp;
|
16
16
|
}
|
17
17
|
|
18
|
-
if ( (
|
18
|
+
if ( ( c_prior_control_frame = rb_vm_get_ruby_level_next_cfp( c_thread, c_control_frame ) ) != 0) {
|
19
19
|
|
20
|
-
|
20
|
+
// not sure why we have to call this a second time after it was called at the end of rb_vm_get_ruby_level_next_cfp,
|
21
|
+
// but for some reason it seems to be necessary
|
22
|
+
c_prior_control_frame = RUBY_VM_PREVIOUS_CONTROL_FRAME( c_prior_control_frame );
|
21
23
|
|
22
24
|
}
|
23
25
|
else {
|
24
|
-
|
26
|
+
c_prior_control_frame = NULL;
|
25
27
|
}
|
26
28
|
|
27
29
|
// if we have a nil object we've passed main, we're done
|
28
|
-
if (
|
30
|
+
if ( c_prior_control_frame->self == Qnil ) {
|
29
31
|
return NULL;
|
30
32
|
}
|
31
33
|
|
32
|
-
return
|
34
|
+
return c_prior_control_frame;
|
33
35
|
|
34
36
|
}
|
35
37
|
|
data/ext/sender/rb_Global.c
CHANGED
@@ -59,6 +59,14 @@ VALUE rb_RPRuby_Sender___sender__() {
|
|
59
59
|
*/
|
60
60
|
VALUE rb_RPRuby_Sender___caller__() {
|
61
61
|
|
62
|
-
|
62
|
+
// get the frame prior to current frame
|
63
|
+
rb_control_frame_t* c_sending_frame = RPRuby_internal_framePriorTo( NULL );
|
64
|
+
|
65
|
+
// make sure the current frame wasn't the first frame or return nil
|
66
|
+
if ( c_sending_frame == NULL ) {
|
67
|
+
return Qnil;
|
68
|
+
}
|
69
|
+
|
70
|
+
return ID2SYM( frame_func_id( c_sending_frame ) );
|
63
71
|
}
|
64
72
|
|
data/lib/sender/sender.bundle
CHANGED
Binary file
|
data/sender.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{sender}
|
5
|
-
s.version = "1.
|
5
|
+
s.version = "1.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Asher"]
|
9
|
-
s.date = %q{2010-06-
|
9
|
+
s.date = %q{2010-06-24}
|
10
10
|
s.description = %q{Adds :__sender__ and :__caller__ to the built-in :__callee__ and :__method__ methods in Ruby 1.9.1, as well
|
11
11
|
as providing object-oriented :backtrace supporting n-levels backward, and :backtrace_includes?,
|
12
12
|
which allows contents of the backtrace to be queried.}
|
13
13
|
s.email = ["asher@ridiculouspower.com"]
|
14
14
|
s.extensions = ["ext/sender/extconf.rb"]
|
15
15
|
s.extra_rdoc_files = ["Manifest.txt", "CHANGELOG.rdoc", "README.rdoc"]
|
16
|
-
s.files = [".autotest", "CHANGELOG.rdoc", "Makefile", "Manifest.txt", "README.rdoc", "Rakefile", "ext/sender/RPSender_internal.c", "ext/sender/RPSender_internal.h", "ext/sender/RubySourceSupport.c", "ext/sender/RubySourceSupport.h", "ext/sender/debug.h", "ext/sender/dln.h", "ext/sender/encdb.h", "ext/sender/eval_intern.h", "ext/sender/extconf.rb", "ext/sender/gc.h", "ext/sender/id.h", "ext/sender/iseq.h", "ext/sender/main.c", "ext/sender/node.h", "ext/sender/parse.h", "ext/sender/rb_Global.c", "ext/sender/rb_Global.h", "ext/sender/rb_Global_internal.h", "ext/sender/rb_Kernel.c", "ext/sender/rb_Kernel.h", "ext/sender/regenc.h", "ext/sender/regint.h", "ext/sender/regparse.h", "ext/sender/revision.h", "ext/sender/thread_pthread.h", "ext/sender/thread_win32.h", "ext/sender/transcode_data.h", "ext/sender/transdb.h", "ext/sender/version.h", "ext/sender/vm_core.h", "ext/sender/vm_exec.h", "ext/sender/vm_insnhelper.h", "ext/sender/vm_opts.h", "lib/sender.rb", "lib/sender/sender.bundle", "
|
16
|
+
s.files = [".autotest", "CHANGELOG.rdoc", "Makefile", "Manifest.txt", "README.rdoc", "Rakefile", "ext/sender/RPSender_internal.c", "ext/sender/RPSender_internal.h", "ext/sender/RubySourceSupport.c", "ext/sender/RubySourceSupport.h", "ext/sender/debug.h", "ext/sender/dln.h", "ext/sender/encdb.h", "ext/sender/eval_intern.h", "ext/sender/extconf.rb", "ext/sender/gc.h", "ext/sender/id.h", "ext/sender/iseq.h", "ext/sender/main.c", "ext/sender/node.h", "ext/sender/parse.h", "ext/sender/rb_Global.c", "ext/sender/rb_Global.h", "ext/sender/rb_Global_internal.h", "ext/sender/rb_Kernel.c", "ext/sender/rb_Kernel.h", "ext/sender/regenc.h", "ext/sender/regint.h", "ext/sender/regparse.h", "ext/sender/revision.h", "ext/sender/thread_pthread.h", "ext/sender/thread_win32.h", "ext/sender/transcode_data.h", "ext/sender/transdb.h", "ext/sender/version.h", "ext/sender/vm_core.h", "ext/sender/vm_exec.h", "ext/sender/vm_insnhelper.h", "ext/sender/vm_opts.h", "lib/sender.rb", "lib/sender/sender.bundle", "sender.gemspec", "test/test_sender.rb"]
|
17
17
|
s.homepage = %q{http://rubygems.org/gems/sender}
|
18
18
|
s.rdoc_options = ["--main", "README.rdoc"]
|
19
19
|
s.require_paths = ["lib"]
|
data/test/test_sender.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sender
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 1.1.4
|
8
|
+
- 2
|
9
|
+
version: "1.2"
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Asher
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-06-
|
17
|
+
date: 2010-06-24 00:00:00 -04:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -120,7 +119,6 @@ files:
|
|
120
119
|
- ext/sender/vm_opts.h
|
121
120
|
- lib/sender.rb
|
122
121
|
- lib/sender/sender.bundle
|
123
|
-
- mkmf.log
|
124
122
|
- sender.gemspec
|
125
123
|
- test/test_sender.rb
|
126
124
|
has_rdoc: true
|
data/mkmf.log
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
find_header: checking for eval_intern.h in /usr/src/ruby... -------------------- yes
|
2
|
-
|
3
|
-
"gcc -o conftest -I/usr/local/include/ruby-1.9.1/i386-darwin10.4.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -Iext/sender -I/usr/src/ruby/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O2 -g -Wall -Wno-parentheses -fno-common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/src/ruby/lib -L. -L/usr/local/lib -lruby-static -lpthread -ldl -lobjc "
|
4
|
-
checked program was:
|
5
|
-
/* begin */
|
6
|
-
1: #include "ruby.h"
|
7
|
-
2:
|
8
|
-
3: int main() {return 0;}
|
9
|
-
/* end */
|
10
|
-
|
11
|
-
"gcc -E -I/usr/local/include/ruby-1.9.1/i386-darwin10.4.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -Iext/sender -I/usr/src/ruby/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O2 -g -Wall -Wno-parentheses -fno-common -pipe -fno-common conftest.c -o conftest.i"
|
12
|
-
conftest.c:3:25: error: eval_intern.h: No such file or directory
|
13
|
-
checked program was:
|
14
|
-
/* begin */
|
15
|
-
1: #include "ruby.h"
|
16
|
-
2:
|
17
|
-
3: #include <eval_intern.h>
|
18
|
-
/* end */
|
19
|
-
|
20
|
-
"gcc -E -I/usr/local/include/ruby-1.9.1/i386-darwin10.4.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -Iext/sender -I/usr/src/ruby/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O2 -g -Wall -Wno-parentheses -fno-common -pipe -fno-common -I/usr/src/ruby conftest.c -o conftest.i"
|
21
|
-
checked program was:
|
22
|
-
/* begin */
|
23
|
-
1: #include "ruby.h"
|
24
|
-
2:
|
25
|
-
3: #include <eval_intern.h>
|
26
|
-
/* end */
|
27
|
-
|
28
|
-
--------------------
|
29
|
-
|
30
|
-
find_header: checking for vm_exec.h in /usr/src/ruby... -------------------- yes
|
31
|
-
|
32
|
-
"gcc -E -I/usr/local/include/ruby-1.9.1/i386-darwin10.4.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -Iext/sender -I/usr/src/ruby -I/usr/src/ruby/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O2 -g -Wall -Wno-parentheses -fno-common -pipe -fno-common conftest.c -o conftest.i"
|
33
|
-
checked program was:
|
34
|
-
/* begin */
|
35
|
-
1: #include "ruby.h"
|
36
|
-
2:
|
37
|
-
3: #include <vm_exec.h>
|
38
|
-
/* end */
|
39
|
-
|
40
|
-
--------------------
|
41
|
-
|