On Fri, Apr 30, 2004 at 12:14:37PM -0700, Stas Bekman wrote: > There is no need to have an extra call if you can access ERRSV directly. > Please correct me if I'm wrong (but all manpages talk about ERRSV and never > get_sv("@"), so it must be correct :) Well, perl5005delta.pod has the following: The API function C<perl_get_sv("@",FALSE)> should be used instead of directly accessing perl globals as C<GvSV(errgv)>. The API call is backward compatible with existing perls and provides source compatibility with threading is enabled. and ERRSV is defined as #define ERRSV GvSV(PL_errgv) while perlcall and perlembed both directly refer to ERRSV. Anyone else care to enlighten us? > > --- util.c.orig 2004-04-30 12:11:16.711048647 -0700 > +++ util.c 2004-04-30 12:12:24.486900773 -0700 > @@ -1235,8 +1235,7 @@ > If you want to throw an exception object, assign the object to > C<$@> and then pass C<Nullch> to croak(): > > - errsv = get_sv("@", TRUE); > - sv_setsv(errsv, exception_object); > + sv_setsv(ERRSV, exception_object); > croak(Nullch); > > =cut > > -- > __________________________________________________________________ > Stas Bekman JAm_pH ------> Just Another mod_perl Hacker > http://stason.org/ mod_perl Guide ---> http://perl.apache.org > mailto:stas@stason.org http://use.perl.org http://apacheweek.com > http://modperlbook.org http://apache.org http://ticketmaster.com -- "Emacs isn't a bad OS once you get used to it. It just lacks a decent editor."Thread Previous | Thread Next