if ($docref and %$docref) {
$embed_where = $docref->{flags} =~ /A/ ? 'api' : 'guts';
$embed_may_change = $docref->{flags} =~ /M/;
+ $flags .= 'D' if $docref->{flags} =~ /D/;
} else {
$missing{$name} = $file;
}
my($flags, $docs, $ret, $file, @args) = @$docref;
$name =~ s/\s*$//;
- $docs .= "NOTE: this function is experimental and may change or be
-removed without notice.\n\n" if $flags =~ /x/;
+ if ($flags =~ /D/) {
+ $docs = "\n\nDEPRECATED! It is planned to remove this function from a
+future release of Perl. Do not use it for new code; remove it from
+existing code.\n\n$docs";
+ }
+ else {
+ $docs = "\n\nNOTE: this function is experimental and may change or be
+removed without notice.\n\n$docs" if $flags =~ /x/;
+ }
$docs .= "NOTE: the perl_ form of this function is deprecated.\n\n"
if $flags =~ /p/;
$docs .= "NOTE: this function must be explicitly called as Perl_$name with an aTHX_ parameter.\n\n"
# walk table providing an array of components in each line to
# subroutine, printing the result
-# List of funcs in the public API that aren't also marked as experimental.
-my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && $funcflags{$_}{flags} !~ /M/ && !$docs{api}{$_}, keys %funcflags;
+# List of funcs in the public API that aren't also marked as experimental nor
+# deprecated.
+my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && $funcflags{$_}{flags} !~ /[MD]/ && !$docs{api}{$_}, keys %funcflags;
output('perlapi', <<'_EOB_', $docs{api}, \@missing_api, <<'_EOE_');
=head1 NAME
the UTF- encodings, and a string encoded in UTF-EBCDIC may occupy more bytes
than in UTF-8.
-Also, on some EBCDIC machines, functions that are documented as operating on
-US-ASCII (or Basic Latin in Unicode terminology) may in fact operate on all
-256 characters in the EBCDIC range, not just the subset corresponding to
-US-ASCII.
-
The listing below is alphabetical, case insensitive.
_EOB_