> Here is a module that implements it, but you should include it in every
[...]

Hmmm... this should handle the #each nesting properly (but still has
problems with last, break, etc, I think):


--- oe.rb~	2003-05-30 12:56:28.000000000 +0200
+++ oe.rb	2003-05-30 14:00:52.000000000 +0200
@@ -18,6 +18,7 @@
 			alias_method :#{old_each}, :each
 	
 			def each(*a,&b)
+				old_last=last?
 				element = nil
 				flag = false
 				#{old_each}(*a) { |e|
@@ -25,6 +26,9 @@
 						@__last_iteration__=false
 					}
 					b.call element if flag
+					Thread.current.instance_eval {
+						@__last_iteration__=old_last
+					}
 					flag=true
 					element=e
 				}
@@ -34,7 +38,7 @@
 					}
 					b.call element
 					Thread.current.instance_eval {
-						@__last_iteration__=false
+						@__last_iteration__=old_last
 					}
 				end
 			end