Index: wp-includes/functions.wp-styles.php
===================================================================
--- wp-includes/functions.wp-styles.php	(revision 14185)
+++ wp-includes/functions.wp-styles.php	(working copy)
@@ -37,9 +37,8 @@
  * Register CSS style file.
  *
  * @since r79
+ * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
  * @see WP_Styles::add() For additional information.
- * @global object $wp_styles The WP_Styles object for printing styles.
- * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
  *
  * @param string $handle Name of the stylesheet.
  * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
@@ -50,11 +49,40 @@
  * @param string $media The media for which this stylesheet has been defined.
  */
 function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
+	_wp_register_style( $handle, $src, $deps, $ver, $media, false);
+}
+
+
+/**
+ * Register or enqueue a CSS style file.
+ * This function should not be called directly, use wp_register_style() or wp_enqueue_style() instead.
+ *
+ * @since 3.0
+ * @access private
+ * @global object $wp_styles The WP_Styles object for printing styles.
+ * @see wp_register_style(), wp_enqueue_style(), WP_Styles::add(), WP_Styles::enqueue()
+ * 
+ * @param string $handle Name of the stylesheet.
+ * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
+ * @param array $deps Array of handles of any stylesheet that this stylesheet depends on.
+ *  (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
+ * @param string|bool $ver String specifying the stylesheet version number. Set to NULL to disable.
+ *  Used to ensure that the correct version is sent to the client regardless of caching.
+ * @param string $media The media for which this stylesheet has been defined.
+ * @param boolean $enqueue If the stylesheet will be enqueued.
+ * 
+ **/
+function _wp_register_style( $handle, $src, $deps, $ver, $media, $enqueue ) {
 	global $wp_styles;
 	if ( !is_a($wp_styles, 'WP_Styles') )
 		$wp_styles = new WP_Styles();
 
-	$wp_styles->add( $handle, $src, $deps, $ver, $media );
+	if ( $src ) {
+		$wp_styles->add( $handle, $src, $deps, $ver, $media );
+	}
+	if ( $enqueue ) {
+		$wp_styles->enqueue( $handle );
+	}
 }
 
 /**
@@ -81,7 +109,6 @@
  *
  * @since r79
  * @see WP_Styles::add(), WP_Styles::enqueue()
- * @global object $wp_styles The WP_Styles object for printing styles.
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
  *
  * @param string $handle Name of the stylesheet.
@@ -93,16 +120,8 @@
  *  if a version number is available and makes sense for the stylesheet.
  * @param string $media The media for which this stylesheet has been defined.
  */
-function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = false ) {
-	global $wp_styles;
-	if ( !is_a($wp_styles, 'WP_Styles') )
-		$wp_styles = new WP_Styles();
-
-	if ( $src ) {
-		$_handle = explode('?', $handle);
-		$wp_styles->add( $_handle[0], $src, $deps, $ver, $media );
-	}
-	$wp_styles->enqueue( $handle );
+function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
+	_wp_register_style( $handle, $src, $deps, $ver, $media, true);
 }
 
 /**
