X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=embed.pl;h=8a1f2a0268a1b9f41799e4278a228bd71de0aae7;hb=8fa7688f7865696bdfa78bc12d4ffb78bd1d6103;hp=5fc18a744e72bb15504770e91024b00f1587850a;hpb=35209cc889c47c22db67b1eb1f83d963b429057a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/embed.pl b/embed.pl index 5fc18a7..8a1f2a0 100755 --- a/embed.pl +++ b/embed.pl @@ -22,7 +22,7 @@ sub do_not_edit ($) $file - Copyright (c) 1997-2002, Larry Wall + Copyright (c) 1997-2003, Larry Wall You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. @@ -219,7 +219,7 @@ my @extvars = qw(sv_undef sv_yes sv_no na dowarn curcop compiling tainting tainted stack_base stack_sp sv_arenaroot no_modify - curstash DBsub DBsingle debstash + curstash DBsub DBsingle DBassertion debstash rsfp stdingv defgv @@ -316,10 +316,11 @@ print EM do_not_edit ("embed.h"), <<'END'; /* (Doing namespace management portably in C is really gross.) */ -/* NO_EMBED is no longer supported. i.e. EMBED is always active-- - * but you can define PERL_HIDE_SHORT_NAMES to achieve the same. */ +/* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms + * (like warn instead of Perl_warn) for the API are not defined. + * Not defining the short forms is a good thing for cleaner embedding. */ -#ifndef PERL_HIDE_SHORT_NAMES +#ifndef PERL_NO_SHORT_NAMES /* Hide global symbols */ @@ -343,7 +344,7 @@ walk_table { $ret .= hide($func,"Perl_$func"); } } - unless ($flags =~ /A/) { + if ($ret ne '' && $flags !~ /A/) { if ($flags =~ /E/) { $ret = "#if defined(PERL_CORE) || defined(PERL_EXT)\n$ret#endif\n"; } else { @@ -431,7 +432,7 @@ print EM <<'END'; #endif /* PERL_IMPLICIT_CONTEXT */ -#endif /* #ifndef PERL_HIDE_SHORT_NAMES */ +#endif /* #ifndef PERL_NO_SHORT_NAMES */ END @@ -477,7 +478,7 @@ print EM <<'END'; an extra argument but grab the context pointer using the macro dTHX. */ -#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_HIDE_SHORT_NAMES) +#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES) # define croak Perl_croak_nocontext # define deb Perl_deb_nocontext # define die Perl_die_nocontext