mirror of https://github.com/python/cpython.git
Extend handling for \let a bit, to also allow \let\something=<character>. We
still don't support things like \let^^M=\something, where ^^M could actually be any active character. Print a decent warning if we find one we can't handle.
This commit is contained in:
parent
8d1b3384c3
commit
7a4ad0fc83
|
@ -63,12 +63,23 @@ sub ArabictoRoman {
|
|||
sub do_cmd_let{
|
||||
local($_) = @_;
|
||||
my $matched = 0;
|
||||
s/\s*[\\]([a-zA-Z]+)\s*(=\s*)?[\\]([a-zA-Z]*)/$matched=1; ''/e;
|
||||
s/[\\]([a-zA-Z]+)\s*(=\s*)?[\\]([a-zA-Z]*)/$matched=1; ''/e;
|
||||
if ($matched) {
|
||||
my($new, $old) = ($1, $3);
|
||||
eval "sub do_cmd_$new { do_cmd_$old" . '(@_); }';
|
||||
print "\ndefining handler for \\$new using \\$old\n";
|
||||
}
|
||||
else {
|
||||
s/[\\]([a-zA-Z]+)\s*(=\s*)?([^\\])/$matched=1; ''/es;
|
||||
if ($matched) {
|
||||
my($new, $char) = ($1, $3);
|
||||
eval "sub do_cmd_$new { \"\\$char\" . \@_[0]; }";
|
||||
print "\ndefining handler for \\$new to insert '$char'\n";
|
||||
}
|
||||
else {
|
||||
write_warnings("Could not interpret \\let construct...");
|
||||
}
|
||||
}
|
||||
$_;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue