X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/06492da604676b8820ba5623ac813ceec4f48731..351208f1b69ff774788ddf0fb62571002594640e:/embed.pl diff --git a/embed.pl b/embed.pl index 19609d4..598ebcc 100755 --- a/embed.pl +++ b/embed.pl @@ -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