https://codereview.appspot.com/6827077/diff/1/src/com/google/caja/ses/startSES.js File src/com/google/caja/ses/startSES.js (right):
https://codereview.appspot.com/6827077/diff/1/src/com/google/caja/ses/startSES.js#newcode646 src/com/google/caja/ses/startSES.js:646: exprSrc = mitigateGotchas(exprSrc); Here, you're mitigating gotchas on exprSrc *after* the old exprSrc has been used to create wrapperSrc. It is the unmitigated wrapperSrc which is evaluated. The mitigated exprSrc is used only to calculate the freeVarNames. Is this what you intend? Note that your compileModule mitigates the input *before* it is wrapped. This looks more correct to me. https://codereview.appspot.com/6827077/
