Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 22081)
+++ wp-includes/post.php	(working copy)
@@ -3740,9 +3740,11 @@
  * @uses $user_ID
  * @uses do_action() Calls 'edit_attachment' on $post_ID if this is an update.
  * @uses do_action() Calls 'add_attachment' on $post_ID if this is not an update.
+ * @uses do_action() Calls 'update_post' on $post_ID if this is an update
+ * @uses do_action() Calls 'save_post' on $post_ID if this is not an update
  *
  * @param string|array $object Arguments to override defaults.
- * @param string $file Optional filename.
+ * @param bool|string  $file Optional filename.
  * @param int $parent Parent post ID.
  * @return int Attachment ID.
  */
@@ -3785,6 +3787,7 @@
 	if ( !empty($ID) ) {
 		$update = true;
 		$post_ID = (int) $ID;
+		$post_before = get_post( $post_ID );
 	} else {
 		$update = false;
 		$post_ID = 0;
@@ -3884,13 +3887,18 @@
 		update_attached_file( $post_ID, $file );
 
 	clean_post_cache( $post_ID );
+	$post = get_post( $post_ID );
 
 	if ( ! empty( $context ) )
 		add_post_meta( $post_ID, '_wp_attachment_context', $context, true );
 
-	if ( $update) {
+	if ( $update ) {
 		do_action('edit_attachment', $post_ID);
+		do_action('edit_post', $post_ID, $post);
+		$post_after = get_post( $post_ID );
+		do_action('post_updated', $post_ID, $post_after, $post_before);
 	} else {
+		do_action('save_post', $post_ID, $post);
 		do_action('add_attachment', $post_ID);
 	}
 
