rsruby 0.5 → 0.5.1

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.
@@ -1,3 +1,7 @@
1
+ = 0.5.1 2008-11-11
2
+
3
+ * removed #include of Rdevices.h so installation is possible with R 2.8.0 packages
4
+
1
5
  = 0.5 2008-04-18
2
6
 
3
7
  * Added easy figure method RSRuby.img()
@@ -8,4 +12,5 @@
8
12
 
9
13
  * Several bugs in the conversion system are fixed
10
14
  * The test suite was expanded and tidied
11
- * Using Hoe for package management
15
+ * Using Hoe for package management
16
+
@@ -4,10 +4,10 @@ $LOAD_PATH.unshift("./lib")
4
4
  $LOAD_PATH.unshift("./ext")
5
5
 
6
6
  gem_name = RUBY_PLATFORM !~ /mswin32$/ ? "rsruby" : "rsrubywin"
7
- hoe = Hoe.new(gem_name,'0.5') do |p|
7
+ hoe = Hoe.new(gem_name,'0.5.1') do |p|
8
8
 
9
- p.author = "Alex Gutteridge"
10
- p.email = "ag357@cam.ac.uk"
9
+ p.author = "Alex Gutteridge, Ben J Woodcroft"
10
+ p.email = "ag357@cam.ac.uk, b.woodcroft@pgrad.unimelb.edu.au"
11
11
  p.url = "http://web.kuicr.kyoto-u.ac.jp/~alexg/rsruby/"
12
12
 
13
13
  p.description = p.paragraphs_of("README.txt",1..3)[0]
@@ -32,11 +32,13 @@
32
32
  #include <rsruby.h>
33
33
  #include <R_eval.h>
34
34
 
35
+ int interrupted = 0;
36
+
35
37
  /* Abort the current R computation due to a SIGINT */
36
38
  void interrupt_R(int signum)
37
39
  {
38
- //interrupted = 1;
39
- //error("Interrupted");
40
+ interrupted = 1;
41
+ error("Interrupted");
40
42
  }
41
43
 
42
44
 
@@ -47,17 +49,21 @@ SEXP do_eval_expr(SEXP e) {
47
49
  VALUE rb_eRException;
48
50
  int error = 0;
49
51
 
52
+ signal(SIGINT, interrupt_R);
53
+ interrupted = 0;
54
+
50
55
  res = R_tryEval(e, R_GlobalEnv, &error);
51
56
 
52
57
  if (error) {
53
- //if (interrupted) {
54
- // rb_raise(rb_eInterrupt);
55
- //}
56
- //else
57
- rb_eRException = rb_const_get(rb_cObject,
58
- rb_intern("RException"));
59
- rb_raise(rb_eRException, get_last_error_msg());
60
- return NULL;
58
+ if (interrupted) {
59
+ rb_raise(rb_eInterrupt,"RSRuby interrupted");
60
+ }
61
+ else {
62
+ rb_eRException = rb_const_get(rb_cObject,
63
+ rb_intern("RException"));
64
+ rb_raise(rb_eRException, get_last_error_msg());
65
+ return NULL;
66
+ }
61
67
  }
62
68
 
63
69
  return res;
@@ -152,9 +152,9 @@ void init_R(int argc, char **argv){
152
152
 
153
153
  /* This method is for testing catching of segfaults */
154
154
  VALUE crash(){
155
- int* ptr = (int*)0;
156
- *ptr = 1;
157
- return Qtrue;
155
+ int* ptr = (int*)0;
156
+ *ptr = 1;
157
+ return Qtrue;
158
158
  }
159
159
 
160
160
 
@@ -171,7 +171,7 @@ void Init_rsruby_c(){
171
171
  rb_define_method(cRRuby, "get_fun", get_fun, 1);
172
172
  rb_define_method(cRRuby, "shutdown", rs_shutdown, 0);
173
173
 
174
- rb_define_method(cRRuby, "crash", crash, 0);
174
+ rb_define_method(cRRuby, "crash", crash, 0);
175
175
 
176
176
  //Add the lcall method to RObj
177
177
  cRObj = rb_const_get(rb_cObject,rb_intern("RObj"));
@@ -38,7 +38,6 @@
38
38
  #include "Rdefines.h"
39
39
  #include "Rinternals.h"
40
40
  #include "Rdefines.h"
41
- #include "Rdevices.h"
42
41
 
43
42
  #include "signal.h"
44
43
 
@@ -53,7 +53,7 @@ require 'complex'
53
53
 
54
54
  class RSRuby
55
55
 
56
- VERSION = '0.5'
56
+ VERSION = '0.5.1'
57
57
 
58
58
  include Singleton
59
59
 
metadata CHANGED
@@ -1,20 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsruby
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.5"
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
- - Alex Gutteridge
7
+ - Alex Gutteridge, Ben J Woodcroft
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-18 00:00:00 +01:00
12
+ date: 2008-11-26 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
16
16
  description: RSRuby is a bridge library for Ruby giving Ruby developers access to the full R statistical programming environment. RSRuby embeds a full R interpreter inside the running Ruby script, allowing R methods to be called and data passed between the Ruby script and the R interpreter. Most data conversion is handled automatically, but user-definable conversion routines can also be written to handle any R or Ruby class.
17
- email: ag357@cam.ac.uk
17
+ email: ag357@cam.ac.uk, b.woodcroft@pgrad.unimelb.edu.au
18
18
  executables: []
19
19
 
20
20
  extensions:
@@ -23,9 +23,9 @@ extra_rdoc_files:
23
23
  - README.txt
24
24
  - History.txt
25
25
  - License.txt
26
- - examples/arrayfields.rb
27
26
  - examples/bioc.rb
28
27
  - examples/dataframe.rb
28
+ - examples/arrayfields.rb
29
29
  - examples/erobj.rb
30
30
  files:
31
31
  - History.txt
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  requirements: []
96
96
 
97
97
  rubyforge_project: rsruby
98
- rubygems_version: 1.1.0
98
+ rubygems_version: 1.3.1
99
99
  signing_key:
100
100
  specification_version: 2
101
101
  summary: RSRuby is a bridge library for Ruby giving Ruby developers access to the full R statistical programming environment. RSRuby embeds a full R interpreter inside the running Ruby script, allowing R methods to be called and data passed between the Ruby script and the R interpreter. Most data conversion is handled automatically, but user-definable conversion routines can also be written to handle any R or Ruby class.