The wp-includes/post.php file contains 4 error suppressors. The wp_save_post_revision function contains the line
if ( @constant( 'DOING_AUTOSAVE' ) )
When it is defined, it is when the wp-admin/admin-ajax.php file's _wp_ajax_delete_comment_response function defines it as boolean true. This is the only other place where the DOING_AUTOSAVE constant can be found within the WordPress core files.
Because I can see no reason why this couldn't be written as
if ( defined( 'DOING_AUTOSAVE' ) && constant( 'DOING_AUTOSAVE' ) )
I left a Trac Ticket, but as of yet, it is still unanswered.
UPDATE: As of WordPress 2.9 this E_WARNING error has been fixed. The line is now
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
![[PDA - Heathcare NOT Warfare - Sign the Petition.]](http://www.mittineague.com/blog/tmp/HealthNotWar_final.jpg)






2 Comments
I wish the WP team would be a bit more rigorous about coding standards. WP throws slews of E_NOTICE errors, which might not be annoying on a standard PHP config but which makes it very frustrating to embed into a site which has a stricter error reporting level.
Don't even get me started on the huge list of global variables it uses – like $request, which is like dropping $email into the global namespace and hoping nobody else wanted to use that variable.
Really, doing v3 properly (e.g. OO, everything neatly encapsulated and modular) would be a revelation. They could provide an optional file which defined legacy global functions & variables so that themes didn't break.
I find that most of the E_NOTICE errors result from WordPress continuing it's support for PHP 4
I don't really understand why anyone would still want to use old PHP after this long, but I'm guessing it's similar to some users not ugrading WordPress even when it's for a security patch.