Closed miraks31 closed 2 years ago
Can you reduce the input code a bit to a minimum repro? Thanks
I tried during 2h but without success that's why I published this.
OK I'll take a look asap
This is a minimum repo:
fff = function () {
if (true) {
let aaa = 1;
try {
}
catch (bbb) {
return aaa + bbb;
}
}
};
Looks like lets
declared inside a non function block confuse catch
declarations
I think the bug is to do with how the lexical scoping of the catch
parameter is treated
Fixed in 1.16.5
If you launch Uglify.Js (version 1.16.1) on the following code:
You will get this:
As you can see, the code:
is converted in :
catch(f){f="hello";h+=e+"=ERROR. "+f}
There is a mismatch in the variables mapping for e =>f and newval => f.