Last modified: 2011-03-13 18:06:30 UTC
Somewhere, deep down the layers of code in the api, there is a little monster, called fluffy, who has a habit of eating upp all php notices generated by PHP, even when html formated output is generated.
I found Fluffy: it's the ob_clean() call in ApiMain::executeActionWithErrorHandling(). It doesn't eat all error messages, only those that happen before ApiBase::dieUsage() is called (which happens on error or action=help). For non-fm formats, it doesn't eat errors, but it should.
The former can't really be fixed as we need to ob_clean() any output that might have happened before the dieUsage() call. The latter has been fixed in r32467.