summaryrefslogtreecommitdiff
path: root/regen
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-05-14 22:13:56 +0100
committerNicholas Clark <nick@ccl4.org>2011-05-19 10:18:16 +0100
commit56fd1190657e040f5b17c8a00628205a045093e3 (patch)
treeb4eabddbd8b331a7d6b7db150961c17dde7d93cc /regen
parentcc49830d6031e8e74c0426f77e2b3589e5774765 (diff)
downloadperl-56fd1190657e040f5b17c8a00628205a045093e3.tar.gz
Add a 'quote' argument to read_only_top(), to pass in an optional Tolkien.
Use this in embed.pl for perlapi.c, and reentr.pl for reentr.c.
Diffstat (limited to 'regen')
-rwxr-xr-xregen/embed.pl12
-rw-r--r--regen/reentr.pl19
-rw-r--r--regen/regen_lib.pl1
3 files changed, 16 insertions, 16 deletions
diff --git a/regen/embed.pl b/regen/embed.pl
index c28a0c3bc6..0cb40ed144 100755
--- a/regen/embed.pl
+++ b/regen/embed.pl
@@ -40,16 +40,16 @@ my $unflagged_pointers;
# 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 $!;
@@ -763,8 +763,8 @@ EOT
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
@@ -773,7 +773,7 @@ $warning =~ s! \*/\n! *
* [p.577 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
*
*/
-!;
+EOQ
print $capi $warning, <<'EOT';
#include "EXTERN.h"
diff --git a/regen/reentr.pl b/regen/reentr.pl
index dabbe346c3..4eedee26a4 100644
--- a/regen/reentr.pl
+++ b/regen/reentr.pl
@@ -782,15 +782,14 @@ read_only_bottom_close_and_rename($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
@@ -799,9 +798,9 @@ $top =~ s! \*/\n! *
* 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"
diff --git a/regen/regen_lib.pl b/regen/regen_lib.pl
index 4715236050..dcee0a67f5 100644
--- a/regen/regen_lib.pl
+++ b/regen/regen_lib.pl
@@ -129,6 +129,7 @@ EOM
? 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;
}