rsruby 0.5 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.