chiark
/
gitweb
/
~ianmdlvl
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Warnings: Track basic $-references
[secnet.git]
/
generate
diff --git
a/generate
b/generate
index cbc91721473a7bc4de563ea0f6842d3e25aec0b5..d8183d07dd9356e005d90a8160038dae4b9f3047 100755
(executable)
--- a/
generate
+++ b/
generate
@@
-270,8
+270,8
@@
sub process_input_mk ($$$$) {
err 'cannot $-double &-processed RHS of directive'
if $ddbl && defined $buffering_output;
unless ($nest[0][0] eq 'eval'
err 'cannot $-double &-processed RHS of directive'
if $ddbl && defined $buffering_output;
unless ($nest[0][0] eq 'eval'
- ? s{^(.*?)($esc|[{}])}{}
- : s{^(.*?)($esc)}{}) { od $_; last; }
+ ? s{^(.*?)($esc|
\$|
[{}])}{}
+ : s{^(.*?)($esc
|\$
)}{}) { od $_; last; }
od $1;
if ($2 eq '{') {
od $2;
od $1;
if ($2 eq '{') {
od $2;
@@
-283,6
+283,14
@@
sub process_input_mk ($$$$) {
$pop_nest->('eval');
od '}';
next;
$pop_nest->('eval');
od '}';
next;
+ } elsif ($2 eq '$') {
+ od $2;
+ if (s{^\$}{}) { od $&; }
+ elsif (m{^\(($esc)?([^()\$]+)\)} ||
+ m{^\{($esc)?([^{}\$]+)\}}) {
+ $note_varref->($2,!!$1);
+ }
+ next;
}
if (s{^\\$esc}{}) { od "$$esclitr" }
elsif (s{^\\\$}{}) { oud '$' }
}
if (s{^\\$esc}{}) { od "$$esclitr" }
elsif (s{^\\\$}{}) { oud '$' }