chiark
/
gitweb
/
~ianmdlvl
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tests: Test &TARGETS feature
[secnet.git]
/
generate
diff --git
a/generate
b/generate
index e7da43542b3b45f309313dca470122d0a2d26b6c..e853912d622f0a6aebd007179f3ddaaf36b72692 100755
(executable)
--- a/
generate
+++ b/
generate
@@
-147,8
+147,18
@@
sub process_input_mk ($$$$$$$$$) {
$pfxmap{$_} = $srcdirmap{$_}.'/' foreach keys %srcdirmap;
while (<$input>) {
$pfxmap{$_} = $srcdirmap{$_}.'/' foreach keys %srcdirmap;
while (<$input>) {
- if (s#^\s*$esc\:##) {
+ if (s#^\s*$esc\:changequote\s+(\S+)\s+$##) {
+ $$esclitr = $1;
+ $set_esc->();
+ next;
+ } elsif (s#^\s*$esc\:(?=(-?)include)##) {
$buffering_output='';
$buffering_output='';
+ } elsif (m#^\s*$esc\:([a-z][-0-9a-z_]*)#) {
+ die "unknown directive $1";
+ } elsif (s{^\s*${esc}TARGETS(?:_([0-9a-zA-Z_]+))?(?=\W)}{}) {
+ my $t = $1 // 'all';
+ o target_varname($var_prefix, $t);
+ $targets->{$t} //= [ ];
}
for (;;) {
unless (s{^(.*?)$esc}{}) { o $_; last; }
}
for (;;) {
unless (s{^(.*?)$esc}{}) { o $_; last; }
@@
-156,11
+166,6
@@
sub process_input_mk ($$$$$$$$$) {
if (s{^\\$esc}{}) { o "$$esclitr" }
elsif (s{^\\\$}{}) { o '$' }
elsif (s{^$esc}{}) { o "$$esclitr$$esclitr" }
if (s{^\\$esc}{}) { o "$$esclitr" }
elsif (s{^\\\$}{}) { o '$' }
elsif (s{^$esc}{}) { o "$$esclitr$$esclitr" }
- elsif (s{^TARGETS(?:_([0-9a-zA-Z_]+))?(?=\W)}{}) {
- my $t = $1 // 'all';
- o target_varname($var_prefix, $t);
- $targets->{$t} //= [ ];
- }
elsif (m{^(?=$caps_re)}) { o $var_prefix }
elsif (s{^\$([A-Za-z]\w+)}{}) { o "\$(${var_prefix}$1)" }
elsif (s{^([~^]?)(?=$lc_re)}{}) { o $pfxmap{$1} }
elsif (m{^(?=$caps_re)}) { o $var_prefix }
elsif (s{^\$([A-Za-z]\w+)}{}) { o "\$(${var_prefix}$1)" }
elsif (s{^([~^]?)(?=$lc_re)}{}) { o $pfxmap{$1} }
@@
-194,11
+199,8
@@
sub process_input_mk ($$$$$$$$$) {
$var_prefix, $var_prefix_name, $targets,
$subf, $esclitr, $1);
o "\n";
$var_prefix, $var_prefix_name, $targets,
$subf, $esclitr, $1);
o "\n";
- } elsif (m#^changequote\s+(\S+)\s+$#) {
- $$esclitr = $1;
- $set_esc->();
} else {
} else {
- die "
unknown
directive $_ ";
+ die "
internal error buffering
directive $_ ";
}
}
}
}
}
}