use warnings;
use strict;
+use Config;
require 't/test.pl';
+
+if ( $Config{usecrosscompile} ) {
+ skip_all( "Not all files are available during cross-compilation" );
+}
+
plan('no_plan');
# --make-exceptions-list outputs the list of strings that don't have
# initially so as to not create new test failures upon the initial
# creation of this test file. You probably shouldn't do it again.
# Just add the documentation instead.
-my $make_exceptions_list = ($ARGV[0]||'') eq '--make-exceptions-list';
+my $make_exceptions_list = ($ARGV[0]||'') eq '--make-exceptions-list'
+ and shift;
require 'regen/embed_lib.pl';
push @functions, 'Perl_' . $_->[2] if $_->[0] =~ /p/;
push @functions, 'S_' . $_->[2] if $_->[0] =~ /s/;
};
+push @functions, 'Perl_mess';
my $regcomp_fail_re = '\b(?:(?:Simple_)?v)?FAIL[2-4]?(?:utf8f)?\b';
my $regcomp_re =
last;
}
- $cur_entry .= $_;
+ $cur_entry =~ s/ ?\z/ $_/;
}
$cur_entry =~ s/\n/ /gs; # Fix multi-line headers if they have \n's
$cur_entry =~ s/\s+\z//;
+ $cur_entry =~ s/[BCIFS](?:<<< (.*?) >>>|<< (.*?) >>|<(.*?)>)/$+/g;
if (exists $entries{$cur_entry} && $entries{$cur_entry}{todo}
&& !$entries{$cur_entry}{cattodo}) {
join '|', sort { length $b cmp length $a } keys %specialformats;
my $specialformats_re = qr/%$format_modifiers"\s*($specialformats)(\s*")?/;
+if (@ARGV) {
+ check_file($_) for @ARGV;
+ exit;
+}
open my $fh, '<', 'MANIFEST' or die "Can't open MANIFEST: $!";
while (my $file = <$fh>) {
chomp $file;
$file =~ s/\s+.*//;
next unless $file =~ /\.(?:c|cpp|h|xs|y)\z/ or $file =~ /^perly\./;
# OS/2 extensions have never been migrated to ext/, hence the special case:
- next if $file =~ m!\A(?:ext|dist|cpan|lib|t|os2/OS2)/!
+ next if $file =~ m!\A(?:ext|dist|cpan|lib|t|os2/OS2|x2p)/!
&& $file !~ m!\Aext/DynaLoader/!;
check_file($file);
}
my $multiline = 0;
# Loop to accumulate the message text all on one line.
- if (m/\b(?:$source_msg_re(?:_nocontext)?|$regcomp_re)\s*\(/) {
+ if (m/(?!^)\b(?:$source_msg_re(?:_nocontext)?|$regcomp_re)\s*\(/) {
while (not m/\);$/) {
my $nextline = <$codefh>;
# Means we fell off the end of the file. Not terribly surprising;
endnetent not implemented!
endprotoent not implemented!
endservent not implemented!
-Error loading module '%s': %s'
+Error loading module '%s': %s
Error reading "%s": %s
execl not implemented!
EVAL without pos change exceeded limit in regex
file_type not implemented on DOS
filter_del can only delete in reverse order (currently)
fork() not available
+fork() not implemented!
YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET! FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!
free %s
Free to wrong pool %p not %p
Function "tcflush" not implemented in this version of perl.
Function "tcsendbreak" not implemented in this version of perl.
get %s %p %p %p
+gethostent not implemented!
getnetbyaddr not implemented!
getnetbyname not implemented!
getnetent not implemented!
Operator or semicolon missing before %c%s
Out of memory during list extend
panic queryaddr
+Parse error
PerlApp::TextQuery: no arguments, please
POSIX syntax [%c %c] is reserved for future extensions in regex; marked by <-- HERE in m/%s/
ptr wrong %p != %p fl=%x nl=%p e=%p for %d
QUITing...
Recompile perl with -DDEBUGGING to use -D switch (did you mean -d ?)
+recursion detected in %s
Regexp *+ operand could be empty in regex; marked by <-- HERE in m/%s/
Reversed %c= operator
%s: Can't parse EXE/DLL name: '%s'
switching effective gid is not implemented
switching effective uid is not implemented
System V IPC is not implemented on this machine
--T and -B not implemented on filehandles
Terminating on signal SIG%s(%d)
The crypt() function is not implemented on NetWare
The flock() function is not implemented on NetWare
Unrecognized character %s; marked by <-- HERE after %s<-- HERE near column %d
Unstable directory path, current directory changed unexpectedly
Unterminated compressed integer in unpack
+Usage: %s(%s)
Usage: %s::%s(%s)
+Usage: CODE(0x%x)(%s)
Usage: File::Copy::rmscopy(from,to[,date_flag])
Usage: VMS::Filespec::candelete(spec)
Usage: VMS::Filespec::fileify(spec)
'X' outside of string in unpack
__CATEGORIES__
-Code point 0x%X is not Unicode, all \p{} matches fail; all \P{} matches succeed
-Code point 0x%X is not Unicode, may not be portable
+
+# This is a warning, but is currently followed immediately by a croak (toke.c)
Illegal character \%o (carriage return)
+
+# Because uses WARN_MISSING as a synonym for WARN_UNINITIALIZED (sv.c)
Missing argument in %s
-Unicode non-character U+%X is illegal for open interchange
-Operation "%s" returns its argument for non-Unicode code point 0x%X
-Operation "%s" returns its argument for UTF-16 surrogate U+%X
-Unicode surrogate U+%X is illegal in UTF-8
-UTF-16 surrogate U+%X
+
+# This message can be both fatal and non-
False [] range "%s" in regex; marked by <-- HERE in m/%s/