I've accepted now that my "generalized break" was a bad idea. In an eval context, I'll probably just define a "quit" method that will throw :quit and that will be fine. I'm thinking (again) about the idiom "if $0 == __FILE__" and trying to come up with viable alternatives. It seems to me that we don't really need an "executable" thing like exit/break/return/quit in this context. It could just be a "marker" as someone suggested. My two favorites so far are __TEST__ and __MAIN__. As far as I can see, there should be no conflict or interaction with the __END__ marker. Comments? Hal