# parse: rely on looking for => (and .. on subsequent lines)
next unless m{\=\>} or ($cent and m{ \.\. });
my $mapop = '=>';
- # adhoc: special case STUFF here so we recognise things in changequote
- if (s{^(\s*)(\&\S+|STUFF\S+|\$)\s+(\=\>|\.\.)\s+(\S+)\s+}{} ||
+ # adhoc: special case NEWQUOTE here so we recognise things in changequote
+ if (s{^(\s*)(\&\S+|NEWQUOTE\S+|\$)\s+(\=\>|\.\.)\s+(\S+)\s+}{} ||
s{^()(\&\:\w+(?: \S+)*)\s{2,}(\=\>)\s{2,}($withspcs)$}{} ||
$cent && s{^()($withspcs)\s{2,}(\.\.)\s{2,}($withspcs)$}{}) {
# adhoc: expected indented iff in changequote part
$e->{OutTop} = $1 eq 'nothing' ? '' : $1;
} elsif (# parse: expect other wordish things to be comments
m{^(?!or\b)\w{2,} }) {
+ } elsif (m/^$/) {
+ } else {
+ confess "unk rhs $_ ?";
}
$e->{CQ} = $in_changequote;
} else {
my $rubric = $e->{In};
$rubric =~ s/\&/AMP /g;
$rubric =~ s/\$/DOLLAR /g;
+ $rubric =~ s/NEWQUOTE/NEW_QUOTE /g;
my $f = $e->{In} =~ m/\n/
? "\n# %s:\n%s\n\n"
: "%-30s: %s.\n";
'','','', 'normal',
sub { !$_[0]{CQ} } );
write_permode($dir_prefix,
- "&:changequote STUFF",
- "STUFF:changequote &",
- "\n",
+ "&:changequote NEWQUOTE\n",
+ "NEWQUOTE:changequote &\n",
+ "",
'changequote',
sub { $_[0]{CQ} } );
oh "# doctest ends\n";