Index: trunk/wp-includes/post.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- trunk/wp-includes/post.php	(revision 25569)
+++ trunk/wp-includes/post.php	(revision )
@@ -1210,10 +1210,41 @@
 		'_edit_link'           => 'post.php?post=%d',
 	);
 	$args = wp_parse_args( $args, $defaults );
-	$args = (object) $args;
+	$args['name'] = sanitize_key( $post_type );
+	/**
+	 * Allow preprocessing of post type arguments.
+	 *
+	 * Empowers developers to:
+	 *
+	 *    - Change the values for menu/post type visibility or just disable post types provided 
+	 * 			by a plugin/theme that are not needed for a specific site.
+	 * 		- Add new plugin/theme specific "supports" for default post types and
+	 *      custom post types that don't explicitly specify supports.
+	 * 		- Add new plugin/theme specific values to support  plugin/theme added features.
+	 * 			For example, 'my_exporter' value could be set to information that the My Exporter
+	 *      plugin uses to implement an export such as columns to include, column labels,
+	 *      WP_Query args for default export as well as meta fields to include.
+	 *    - Disable default rewrite rule addition so customized rewrite rules could be added
+	 *      in a function called for the 'registered_post_type' hook.
+	 *    - Disable default metabox callback registration so customized metabox callback registration
+	 *      could be performed in a function called for the 'registered_post_type' hook.
+	 *    - Disable taxonomy registration for object so customized taxonomy registration for
+	 *      object could be performed in a function called for the 'registered_post_type' hook.
+	 *
+	 * @since 3.9.0
+	 *
+	 * @param array|string $args See optional args description in function header above.
+	 * @param string $post_type Post type key passed to register_post_type(), after
+	 *                          sanitization. Should not exceed 20 characters.
+	 */
+	$args = apply_filters( 'register_post_type_args', $args, $post_type );
+	if ( empty( $args ) ) {
+		return false;
+	}
 
-	$post_type = sanitize_key( $post_type );
-	$args->name = $post_type;
+	$post_type = $args['name'];
+
+	$args = (object) $args;
 
 	if ( strlen( $post_type ) > 20 )
 		return new WP_Error( 'post_type_too_long', __( 'Post types cannot exceed 20 characters in length' ) );
