BEGIN {
# Get function prototypes
- require 'regen.pl';
+ require 'regen_lib.pl';
}
#
$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.
my $ret = "";
if (@_ > 1) {
my ($flags,$retval,$func,@args) = @_;
- if ($flags =~ /A/ && $flags !~ /[xm]/) { # public API, so export
- $func = "Perl_$func" if $flags =~ /p/;
+ if ($flags =~ /[AX]/ && $flags !~ /[xm]/
+ || $flags =~ /b/) { # public API, so export
+ $func = "Perl_$func" if $flags =~ /[pbX]/;
$ret = "$func\n";
}
}
curcop compiling
tainting tainted stack_base stack_sp sv_arenaroot
no_modify
- curstash DBsub DBsingle debstash
+ curstash DBsub DBsingle DBassertion debstash
rsfp
stdingv
defgv
/* (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 */
$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 {
#endif /* PERL_IMPLICIT_CONTEXT */
-#endif /* #ifndef PERL_HIDE_SHORT_NAMES */
+#endif /* #ifndef PERL_NO_SHORT_NAMES */
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