develooper Front page | perl.perl5.porters | Postings from October 1999

Re: deprecating SIGDIE

Thread Previous | Thread Next
Nick Ing-Simmons
October 2, 1999 04:18
Re: deprecating SIGDIE
Message ID:
Gurusamy Sarathy <> writes:
>With the availability of coderefs in @INC, you should be able
>to do this:
>   push @INC, \&funky_tk_loader;

Don't change the subject ;-)

require happens to be one of the things Tk looks for specific codes 
(inside its AUTOLOAD). The above may well work for that case, but it is
only one place where Tk expects things to fail and so uses eval {}.
(Another example being a grab which may not work if another app. has it.)

I don't really care if __DIE__ gets fixed. I can handle what is there today.
But adding a new scheme which has the current __DIE__ behaviour is worst 
of both worlds.

So my suggestion is to leave __DIE__ alone. 
If we are to have something with the behaviour Tom says Larry wanted then 
give _that_ the new name. __UNDERTAKER__ might suit.

IMHO the "catch dies noone else does" handler would be better implemented 
as an outermost eval {} (setjmp thingy) rather than as code in perl_die()
which is the _innermost_ place - and thus needs extra work to decide if
it will be caught. 

The innermost __DIE__ handler _is_ useful for using caller() to get 
back trace from where we died to the eval which will catch us.

Nick Ing-Simmons

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About