Revision history for Perl extension Inline-Ruby. 0.01 Sat Jan 12 00:14:11 PST 2002 @60 - RELEASE: Inline-Ruby-0.01 - Use $Config{path_sep} for splitting $ENV{PATH} in Makefile.PL - Exit with an error message if Ruby not found on the PATH. - Remove eval_ruby(). - Add a '\n' to Inline::Ruby::Exception::to_str. - Finished documentation. - Added supporting #ifdefs for 5.005_03 support 0.01 Wed Jan 9 09:46:30 PST 2002 @51 - Created a PerlProc class, which is like Ruby's Proc class: it wraps closures. Ruby Procs are not allowed to call 'yield', which means passing them blocks has no meaning. That makes them very useful for holding Perl closures. - Added two new config parameters: REGEX(P) and BIND_TYPE(S). You can tell Inline::Ruby what types you want it to bind to: classes, modules, and functions being the choices. You can also provide a regular expression, which classes, modules, and function names must match. - Added more tests to prove that those all work. - Added a samples/tk/ directory, and wrote a simple Ruby Tk app to demonstrate the PerlProc class in action. 0.01 Tue Jan 8 04:38:59 PST 2002 @50 - Created a PerlException class to give Ruby information about Perl errors that occur within Perl subs or callbacks. - Make sure that Inline::Ruby clears $@ if any call was successful. That's important -- if you can potentially set $@, you need to clear it if nothing's wrong. - Added a test case to cover the new PerlException class. - Added new Todo items. 0.01 Tue Jan 8 01:54:42 PST 2002 @49 - changed the iterator interface completely (but not yet the doc). - added rb_iter() method to return an object which stores an iterator hook. - methods can then be called upon the iterator object, and the iterator hook is passed to Ruby as a block. - Basically, these two calls illustrate the difference between a regular method call, and a method call with an iterator: $o->method(@args); $o->iter(\&my_iterator)->method(@args); - updated all the tests to use the new syntax. 0.01 Mon Jan 7 12:41:55 PST 2002 @48 - added a method config_var($var), which will tell Perl whether the C #define $var is defined or not. Used the change the way the tests behave slightly, based on what's going to happen in XS. - Added two new test files: a better iterator, and exception tests. 0.01 Mon Jan 7 08:21:32 PST 2002 @47 - my_error_trap() now throws a Perl exception object which stringifies into the Ruby exception (so you can use $@ =~ /foo/), but which also accepts other method calls. - can't trap Perl exceptions from Ruby yet. 0.01 Sun Jan 6 19:39:06 PST 2002 @46 - More code cleaning. The XS portion of the code is much smaller, by moving lots of code into macros and static functions. - Functions are now automatically bound to Perl. - rb_call_function() now accepts an iterator argument, just like rb_call_*_method(). - Added a call to rb_rescue(), which "rescues" the interpreter from any uncaught exceptions. Currently prints out a warning and returns undef. 0.01 Sat Jan 5 18:42:01 PST 2002 - Incorporated a Makefile.PL fix by to deal with libruby.so properly 0.01 Thu Jan 3 21:48:15 PST 2002 @45 - RELEASE: Inline-Ruby-0.01-pre2 - do_rbinit() made much closer to what ruby itself does. Needed for things like the Tk extension -- it tries to find the executable, and causes a segfault on a NULL pointer. - made tests 03 and 04 work. - lots of documentation added (still not finished). 0.01 Thu Jan 3 15:46:49 PST 2002 @44 - First working test: 01basic.t - No documentation - Massive code cleanup in XS and C 0.01 Mon Dec 24 12:25:38 PST 2001 @38 - Removed the 'package' parameter. It doesn't even work in Inline::Python that well. In Ruby we have a "flat" namespace anyway, so you just have to specify full names of functions. 0.01 Mon Dec 24 01:58:24 PST 2001 @37 - Inline::Ruby mostly working - rb2pl() and pl2rb() data marshalling working - rb_bind_function(), rb_bind_class() working - next step is to automate the process using rb_study_package 0.01 Sat Dec 22 02:12:21 PST 2001 @34 - Change all 'python' references to 'ruby' before doing a pre-release of Inline-Ruby-0.01 0.01 Sun Dec 9 21:34:19 PST 2001 @7 - Checking unreleased Inline-Ruby distro into P4 0.01 Tue Jul 10 09:35:20 PDT 2001 - adding in stubs and code based on Inline::Python. The .pm file will probably be almost identical. The XS code will be the real difference. 0.01 Tue Jul 10 09:17:27 2001 - original version; created by h2xs 1.20 with options -PAXn Inline-Ruby