Use this in embed.pl for perlapi.c, and reentr.pl for reentr.c.
# implicit interpreter context argument.
#
-sub do_not_edit ($)
+sub do_not_edit
{
- my $file = shift;
+ my ($file, $quote) = @_;
return read_only_top(lang => ($file =~ /\.[ch]$/ ? 'C' : 'Perl'),
file => $file, style => '*', by => 'regen/embed.pl',
from => ['data in embed.fnc', 'regen/embed.pl',
'regen/opcodes', 'intrpvar.h', 'perlvars.h'],
final => "\nEdit those files and run 'make regen_headers' to effect changes.\n",
- copyright => [1993 .. 2009]);
+ copyright => [1993 .. 2009], quote => $quote);
} # do_not_edit
open IN, "embed.fnc" or die $!;
read_only_bottom_close_and_rename($capih);
-my $warning = do_not_edit ("perlapi.c");
-$warning =~ s! \*/\n! *
+my $warning = do_not_edit ("perlapi.c", <<'EOQ');
+ *
*
* Up to the threshold of the door there mounted a flight of twenty-seven
* broad stairs, hewn by some unknown art of the same black stone. This
* [p.577 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
*
*/
-!;
+EOQ
print $capi $warning, <<'EOT';
#include "EXTERN.h"
# Prepare to write the reentr.c.
-my $c = open_new('reentr.c');
-my $top = read_only_top(lang => 'C', by => 'regen/reentr.pl',
- from => 'data in regen/reentr.pl',
- file => 'reentr.c', style => '*',
- copyright => [2002, 2003, 2005 .. 2007]);
-
-$top =~ s! \*/\n! *
+my $c = open_new('reentr.c', '>',
+ {by => 'regen/reentr.pl', from => 'data in regen/reentr.pl',
+ file => 'reentr.c', style => '*',
+ copyright => [2002, 2003, 2005 .. 2007],
+ quote => <<'EOQ'});
+ *
* "Saruman," I said, standing away from him, "only one hand at a time can
- * wield the One, and you know that well, so do not trouble to say we\!"
+ * wield the One, and you know that well, so do not trouble to say we!"
*
* This file contains a collection of automatically created wrappers
* (created by running reentr.pl) for reentrant (thread-safe) versions of
* care about the differences between various platforms' idiosyncrasies
* regarding these reentrant interfaces.
*/
-!s;
+EOQ
-print $c $top, <<"EOF";
+print $c <<"EOF";
#include "EXTERN.h"
#define PERL_IN_REENTR_C
#include "perl.h"
? wrap('# ', '# ', $raw) . "\n" : wrap('/* ', $style, $raw) . " */\n\n";
$cooked =~ tr/\0/ /; # Don't break Larry's name etc
$cooked =~ s/ +$//mg; # Remove all trailing spaces
+ $cooked =~ s! \*/\n!$args{quote}!s if $args{quote};
return $cooked;
}