Now that I'm maintaining Ruby/FLTK, I'm seeing lots of "rb_f_lambda()
is deprecated" warnings from the tests and samples.  I want to
eliminate them so I'm trying to figure out if I can simply replace it
by rb_block_proc() everywhere.  Therefore I'd like to know a few
things:

* Do rb_f_lambda() and rb_block_proc() do exactly the same thing?
  They call proc_alloc() with slightly different parameters but I
  can't work out if this makes any difference.  (Not for nothing is
  "eval.c" called "Ruby Hell"!)

* If I replace rb_f_lambda() by rb_block_proc() will the code break
  when built under Ruby 1.6.x ?

* If I have to #ifdef a macro to support both 1.6.x and 1.8.x , what's
  a clean way to do it?  Does extconf.rb support this, or do I have to
  roll my own?

I've been Googling and searching ruby-talk but haven't found any hints
beyond "rb_f_lambda() is deprecated in Ruby 1.8.x".

Thanks in advance for any help, 

Jeremy Henty