>>>>> "D" == David Alan Black <dblack / candle.superlink.net> writes:

D> A followup question... how useful/used is Exception#exception?  Maybe
D> I've just been staring at it too long :-) but I'm wondering what it
D> does that couldn't be done already.  I notice it isn't used at all in
D> the distribution (plus whatever site_ruby stuff I've got):

 You have not made the good grep :-)

pigeon% grep \"exception *.c
error.c:    rb_define_singleton_method(rb_eException, "exception", rb_class_new_instance, -1);
error.c:    rb_define_method(rb_eException, "exception", exc_exception, -1);
eval.c: exception = rb_intern("exception");
eval.c:     rb_raise(rb_eTypeError, "exception class/object expected");
eval.c:     rb_raise(rb_eTypeError, "exception object expected");
pigeon% 

pigeon% less eval.c
[...]
        exception = rb_intern("exception");
        if (!rb_respond_to(argv[0], exception)) {
            rb_raise(rb_eTypeError, "exception class/object expected");
        }
        mesg = rb_funcall(argv[0], exception, n, argv[1]);
        break;
[...]
pigeon%


Guy Decoux