dr b,
first off, thanks for the response!
second, i think the switch is a bit more than what you suggest. as the description states:
"Setting this to false will display PHP errors and likely cause the script to fail."
and forget about "likely...." the script will no doubt fail. as we look at the code from the function zen_mail:
PHP Code:
if (EMAIL_FRIENDLY_ERRORS=='false' && $ErrorInfo != '') die('<br /><br />Email Error: ' . $ErrorInfo);
in my experience, the die statement will cause all additional processing to cease. IMHO, not a good thing.
while i'm dealing with highly customized carts here, i can only state that i believe at this point in a vanilla install, ZC has created the order, but has not cleared the cart (it has certainly not cleared the cart in my install). in addition, the after_process function for the payment module has not executed. again, for my installs, another NOT so good thing.
i can only agree with you that this situation is NOT a bug per se, as the system operates as designed/coded. i just think the design is a bit flawed.
as i previously stated, and it sounded like you agreed, i think this flag should indicate whether to log the error using the AWESOME logging feature of ZC without the die statement. in this way, the store owner/developer can see the error (or not) and the script can continue to function (assuming the logging does not kill the process).
while an interesting idea, i never intended to suggest to email the store owner about the error; merely to log it in the same manner that PHP errors currently get logged (without hopefully killing the script; but even if they do, IMHO it would be better than the current design).
best