Remove the restriction that op_custom has to be the last op.
Nicholas Clark [Fri, 30 Mar 2007 10:50:10 +0000 (10:50 +0000)]
This allows more ops to be added during the life of a stable release.

p4raw-id: //depot/perl@30782

opcode.h
opcode.pl

index 00dde1a..42b6e56 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -1143,6 +1143,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_continue),
        MEMBER_TO_FPTR(Perl_pp_smartmatch),
        MEMBER_TO_FPTR(Perl_pp_print),  /* Perl_pp_say */
+       MEMBER_TO_FPTR(Perl_unimplemented_op),  /* Perl_pp_custom */
 }
 #endif
 #ifdef PERL_PPADDR_INITED
index 3897ab1..abd8e69 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -46,7 +46,7 @@ my %alias;
 # Format is "this function" => "does these op names"
 my @raw_alias = (
                 Perl_do_kv => [qw( keys values )],
-                Perl_unimplemented_op => [qw(padany mapstart)],
+                Perl_unimplemented_op => [qw(padany mapstart custom)],
                 # All the ops with a body of { return NORMAL; }
                 Perl_pp_null => [qw(scalar regcmaybe lineseq scope)],
 
@@ -240,7 +240,6 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
 END
 
 for (@ops) {
-    $_ eq "custom" and next;
     if (my $name = $alias{$_}) {
        print "\tMEMBER_TO_FPTR($name),\t/* Perl_pp_$_ */\n";
     }
@@ -523,7 +522,8 @@ sub tab {
 
 __END__
 
-# New ops always go at the end, just before 'custom'
+# New ops always go at the end
+# The restriction on having custom as the last op has been removed
 
 # A recapitulation of the format of this file:
 # The file consists of five columns: the name of the op, an English