In makedef.pl, move the "oddities from PerlIO" from <DATA> to a data structure.
authorNicholas Clark <nick@ccl4.org>
Mon, 25 Jul 2011 16:07:54 +0000 (18:07 +0200)
committerNicholas Clark <nick@ccl4.org>
Mon, 1 Aug 2011 09:53:54 +0000 (11:53 +0200)
At one time various categories of symbols were listed after __DATA__.
All others are now dealt with elsewhere, leaving only some PerlIO symbols, at
which point it becomes clearer and terser to move the list to the point in the
code that previously looped over <DATA>.

makedef.pl

index 0a561c4031bf4a694c0b0746cde0228322b27443..9273ca7c7f6e4d8a6698b79f2abd9b701064edc6 100644 (file)
@@ -18,8 +18,7 @@
 #    perlio.sym
 #    perlvars.h
 #
-# plus long lists of function names hard-coded directly in this script and
-# in the DATA section.
+# plus long lists of function names hard-coded directly in this script.
 #
 # Writes the result to STDOUT.
 #
@@ -1001,8 +1000,7 @@ if ($define{'USE_PERLIO'}) {
 
        # Also do NOT add abstraction symbols from $perlio_sym
        # abstraction is done as #define to stdio
-       # Remaining remnants that _may_ be functions
-       # are handled in <DATA>
+       # Remaining remnants that _may_ be functions are handled below.
 }
 
 for my $syms (@syms) {
@@ -1054,9 +1052,17 @@ sub try_symbol {
     emit_symbol($symbol);
 }
 
-while (<DATA>) {
-    try_symbol($_);
-}
+# Oddities from PerlIO
+emit_symbols([qw(
+                   PerlIO_binmode
+                   PerlIO_getpos
+                   PerlIO_init
+                   PerlIO_setpos
+                   PerlIO_sprintf
+                   PerlIO_sv_dup
+                   PerlIO_tmpfile
+                   PerlIO_vsprintf
+              )]);
 
 if ($PLATFORM eq 'win32') {
     try_symbol($_) foreach qw(
@@ -1465,13 +1471,3 @@ sub output_symbol {
 }
 
 1;
-__DATA__
-# Oddities from PerlIO
-PerlIO_binmode
-PerlIO_getpos
-PerlIO_init
-PerlIO_setpos
-PerlIO_sprintf
-PerlIO_sv_dup
-PerlIO_tmpfile
-PerlIO_vsprintf