Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 21541)
+++ wp-includes/query.php	(working copy)
@@ -452,6 +452,36 @@
 }
 
 /**
+ * Determines if the currently viewed page is one of the blog pages, including the blog home page,
+ * archive, category/tag, author, or single post pages.
+ *
+ * This is different than is_home(), because it doesn't just determine if the blog home page is
+ * currently being viewed, but also uses is_home().
+ *
+ * @uses is_home()
+ * @uses is_archive()
+ * @uses is_single()
+ * @uses $post
+ *
+ * @return bool True if the current page is any of the blog-related pages.
+ */
+function is_blog_page() {
+    
+    global $post;
+    
+    //Post type must be 'post'.
+    $post_type = get_post_type( $post );
+    
+    //Check all blog-related conditional tags, as well as the current post type, 
+    //to determine if we're viewing a blog page.
+    return (
+        ( is_home() || is_archive() || is_single() )
+        && ( $post_type == 'post' )
+    ) ? true : false ;
+    
+}
+
+/**
  * Is the query for a month archive?
  *
  * @see WP_Query::is_month()
