Index: wp-includes/post-template.php
===================================================================
--- wp-includes/post-template.php	(revision 15364)
+++ wp-includes/post-template.php	(working copy)
@@ -225,12 +225,25 @@
 
 	}
 	if ( $preview ) // preview fix for javascript bug with foreign languages
-		$output =	preg_replace_callback('/\%u([0-9A-F]{4})/', create_function('$match', 'return "&#" . base_convert($match[1], 16, 10) . ";";'), $output);
+		$output = preg_replace_callback( '/\%u([0-9A-F]{4})/', 'funky_javascript_callback', $output );
 
 	return $output;
 }
 
 /**
+ * Callback used to change %uXXXX to &#YYY; syntax
+ *
+ * @since 2.8.0
+ * @access private
+ *
+ * @param array $matches Single Match
+ * @return string An HTML entity
+ */
+function funky_javascript_callback( $matches ) {
+	return '&#' . base_convert( $matches[1], 16, 10 ) . ';';
+}
+
+/**
  * Display the post excerpt.
  *
  * @since 0.71
Index: wp-includes/deprecated.php
===================================================================
--- wp-includes/deprecated.php	(revision 15364)
+++ wp-includes/deprecated.php	(working copy)
@@ -2462,20 +2462,6 @@
 }
 
 /**
- * Callback used to change %uXXXX to &#YYY; syntax
- *
- * @since 2.8.0
- * @access private
- * @deprecated 3.0.0
- *
- * @param array $matches Single Match
- * @return string An HTML entity
- */
-function funky_javascript_callback($matches) {
-	return "&#".base_convert($matches[1],16,10).";";
-}
-
-/**
  * Fixes javascript bugs in browsers.
  *
  * Converts unicode characters to HTML numbered entities.
@@ -2495,7 +2481,7 @@
 
 	if ( $is_winIE || $is_macIE )
 		$text =  preg_replace_callback("/\%u([0-9A-F]{4,4})/",
-					"funky_javascript_callback",
+					'funky_javascript_callback',
 					$text);
 
 	return $text;
Index: wp-includes/kses.php
===================================================================
--- wp-includes/kses.php	(revision 15364)
+++ wp-includes/kses.php	(working copy)
@@ -546,8 +546,7 @@
 	global $pass_allowed_html, $pass_allowed_protocols;
 	$pass_allowed_html = $allowed_html;
 	$pass_allowed_protocols = $allowed_protocols;
-	return preg_replace_callback('%((<!--.*?(-->|$))|(<[^>]*(>|$)|>))%',
-		create_function('$match', 'global $pass_allowed_html, $pass_allowed_protocols; return wp_kses_split2($match[1], $pass_allowed_html, $pass_allowed_protocols);'), $string);
+	return preg_replace_callback( '%((<!--.*?(-->|$))|(<[^>]*(>|$)|>))%', 'wp_kses_split2', $string );
 }
 
 /**
@@ -566,12 +565,19 @@
  * @since 1.0.0
  * @uses wp_kses_attr()
  *
- * @param string $string Content to filter
- * @param array $allowed_html Allowed HTML elements
- * @param array $allowed_protocols Allowed protocols to keep
+ * @param mixed $string Content to filter. If array, then takes $string[1].
+ * @param array $allowed_html Allowed HTML elements. Defaults to $pass_allowed_html global.
+ * @param array $allowed_protocols Allowed protocols to keep. Defaults to $pass_allowed_protocols global.
  * @return string Fixed HTML element
  */
-function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
+function wp_kses_split2($string, $allowed_html = null, $allowed_protocols = null ) {
+	if ( is_array( $string ) )
+		$string = $string[1];
+	if ( null === $allowed_html )
+		$allowed_html = $GLOBALS['pass_allowed_html'];
+	if ( null === $allowed_protocols )
+		$allowed_protocols = $GLOBALS['pass_allowed_protocols'];
+
 	$string = wp_kses_stripslashes($string);
 
 	if (substr($string, 0, 1) != '<')
