<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[14718] trunk: Remove autocomplete and codepress.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/14718">14718</a></dd>
<dt>Author</dt> <dd>nacin</dd>
<dt>Date</dt> <dd>2010-05-18 03:48:22 +0000 (Tue, 18 May 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove autocomplete and codepress. for autocomplete, see <a href="http://trac.wordpress.org/ticket/13283">#13283</a>. for codepress, see <a href="http://trac.wordpress.org/ticket/13307">#13307</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadmincsswpadmindevcss">trunk/wp-admin/css/wp-admin.dev.css</a></li>
<li><a href="#trunkwpadminincludesdeprecatedphp">trunk/wp-admin/includes/deprecated.php</a></li>
<li><a href="#trunkwpadminincludesmiscphp">trunk/wp-admin/includes/misc.php</a></li>
<li><a href="#trunkwpadminplugineditorphp">trunk/wp-admin/plugin-editor.php</a></li>
<li><a href="#trunkwpadminthemeeditorphp">trunk/wp-admin/theme-editor.php</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkwpincludesjsjqueryautocompletedevjs">trunk/wp-includes/js/jquery/autocomplete.dev.js</a></li>
<li><a href="#trunkwpincludesjsjqueryautocompletejs">trunk/wp-includes/js/jquery/autocomplete.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadmincsswpadmindevcss"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/css/wp-admin.dev.css (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/css/wp-admin.dev.css        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-admin/css/wp-admin.dev.css        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -2155,8 +2155,7 @@
</span><span class="cx"> /* Global classes */
</span><span class="cx"> 
</span><span class="cx"> .wp-hidden-children .wp-hidden-child,
</span><del>-.ui-tabs-hide,
-#codepress-off {
</del><ins>+.ui-tabs-hide {
</ins><span class="cx">         display: none;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkwpadminincludesdeprecatedphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/deprecated.php (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/deprecated.php        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-admin/includes/deprecated.php        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -162,4 +162,39 @@
</span><span class="cx">         return unregister_setting( $option_group, $option_name, $sanitize_callback );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Determines the language to use for CodePress syntax highlighting.
+ *
+ * @since 2.8.0
+ * @deprecated 3.0.0
+ *
+ * @param string $filename
+**/
+function codepress_get_lang( $filename ) {
+        _deprecated_function( __FUNCTION__, '3.0' );
+        return;
+}
+
+/**
+ * Adds Javascript required to make CodePress work on the theme/plugin editors.
+ *
+ * @since 2.8.0
+ * @deprecated 3.0.0
+**/
+function codepress_footer_js() {
+        _deprecated_function( __FUNCTION__, '3.0' );
+        return;
+}
+
+/**
+ * Determine whether to use CodePress.
+ *
+ * @since 2.8
+ * @deprecated 3.0.0
+**/
+function use_codepress() {
+        _deprecated_function( __FUNCTION__, '3.0' );
+        return;
+}
+
</ins><span class="cx"> ?&gt;
</span><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminincludesmiscphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/misc.php (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/misc.php        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-admin/includes/misc.php        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -313,76 +313,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Determines the language to use for CodePress syntax highlighting,
- * based only on a filename.
- *
- * @since 2.8
- *
- * @param string $filename The name of the file to be highlighting
-**/
-function codepress_get_lang( $filename ) {
-        $codepress_supported_langs = apply_filters( 'codepress_supported_langs',
-                                                                        array( '.css' =&gt; 'css',
-                                                                                        '.js' =&gt; 'javascript',
-                                                                                        '.php' =&gt; 'php',
-                                                                                        '.html' =&gt; 'html',
-                                                                                        '.htm' =&gt; 'html',
-                                                                                        '.txt' =&gt; 'text'
-                                                                                        ) );
-        $extension = substr( $filename, strrpos( $filename, '.' ) );
-        if ( $extension &amp;&amp; array_key_exists( $extension, $codepress_supported_langs ) )
-                return $codepress_supported_langs[$extension];
-
-        return 'generic';
-}
-
-/**
- * Adds Javascript required to make CodePress work on the theme/plugin editors.
- *
- * This code is attached to the action admin_print_footer_scripts.
- *
- * @since 2.8
-**/
-function codepress_footer_js() {
-        // Script-loader breaks CP's automatic path-detection, thus CodePress.path
-        // CP edits in an iframe, so we need to grab content back into normal form
-        ?&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-/* &lt;![CDATA[ */
-var codepress_path = '&lt;?php echo includes_url('js/codepress/'); ?&gt;';
-jQuery('#template').submit(function(){
-        if (jQuery('#newcontent_cp').length)
-                jQuery('#newcontent_cp').val(newcontent.getCode()).removeAttr('disabled');
-});
-jQuery('#codepress-on').hide();
-jQuery('#codepress-off').show();
-/* ]]&gt; */
-&lt;/script&gt;
-&lt;?php
-}
-
-/**
- * Determine whether to use CodePress.
- *
- * @since 2.8
-**/
-function use_codepress() {
-
-        if ( isset($_GET['codepress']) ) {
-                $on = 'on' == $_GET['codepress'] ? 'on' : 'off';
-                set_user_setting( 'codepress', $on );
-        } else {
-                $on = get_user_setting('codepress', 'on');
-        }
-
-        if ( 'on' == $on ) {
-                add_action( 'admin_print_footer_scripts', 'codepress_footer_js' );
-                return true;
-        }
-
-        return false;
-}
-
-/**
</del><span class="cx">  * Saves option for number of rows when listing posts, pages, comments, etc.
</span><span class="cx">  *
</span><span class="cx">  * @since 2.8
</span></span></pre></div>
<a id="trunkwpadminplugineditorphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/plugin-editor.php (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/plugin-editor.php        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-admin/plugin-editor.php        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -127,8 +127,6 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         $content = htmlspecialchars( $content );
</span><del>-        $codepress_lang = codepress_get_lang($real_file);
-
</del><span class="cx">         ?&gt;
</span><span class="cx"> &lt;?php if (isset($_GET['a'])) : ?&gt;
</span><span class="cx">  &lt;div id=&quot;message&quot; class=&quot;updated&quot;&gt;&lt;p&gt;&lt;?php _e('File edited successfully.') ?&gt;&lt;/p&gt;&lt;/div&gt;
</span><span class="lines">@@ -206,7 +204,7 @@
</span><span class="cx"> &lt;/div&gt;
</span><span class="cx"> &lt;form name=&quot;template&quot; id=&quot;template&quot; action=&quot;plugin-editor.php&quot; method=&quot;post&quot;&gt;
</span><span class="cx">         &lt;?php wp_nonce_field('edit-plugin_' . $file) ?&gt;
</span><del>-                &lt;div&gt;&lt;textarea cols=&quot;70&quot; rows=&quot;25&quot; name=&quot;newcontent&quot; id=&quot;newcontent&quot; tabindex=&quot;1&quot; class=&quot;codepress &lt;?php echo $codepress_lang ?&gt;&quot;&gt;&lt;?php echo $content ?&gt;&lt;/textarea&gt;
</del><ins>+                &lt;div&gt;&lt;textarea cols=&quot;70&quot; rows=&quot;25&quot; name=&quot;newcontent&quot; id=&quot;newcontent&quot; tabindex=&quot;1&quot;&gt;&lt;?php echo $content ?&gt;&lt;/textarea&gt;
</ins><span class="cx">                 &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;update&quot; /&gt;
</span><span class="cx">                 &lt;input type=&quot;hidden&quot; name=&quot;file&quot; value=&quot;&lt;?php echo esc_attr($file) ?&gt;&quot; /&gt;
</span><span class="cx">                 &lt;input type=&quot;hidden&quot; name=&quot;plugin&quot; value=&quot;&lt;?php echo esc_attr($plugin) ?&gt;&quot; /&gt;
</span></span></pre></div>
<a id="trunkwpadminthemeeditorphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/theme-editor.php (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/theme-editor.php        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-admin/theme-editor.php        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="cx">                 $content = htmlspecialchars( $content );
</span><del>-                $codepress_lang = codepress_get_lang($file);
</del><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         ?&gt;
</span><span class="lines">@@ -195,7 +194,7 @@
</span><span class="cx"> &lt;?php if (!$error) { ?&gt;
</span><span class="cx">         &lt;form name=&quot;template&quot; id=&quot;template&quot; action=&quot;theme-editor.php&quot; method=&quot;post&quot;&gt;
</span><span class="cx">         &lt;?php wp_nonce_field('edit-theme_' . $file . $theme) ?&gt;
</span><del>-                 &lt;div&gt;&lt;textarea cols=&quot;70&quot; rows=&quot;25&quot; name=&quot;newcontent&quot; id=&quot;newcontent&quot; tabindex=&quot;1&quot; class=&quot;codepress &lt;?php echo $codepress_lang ?&gt;&quot;&gt;&lt;?php echo $content ?&gt;&lt;/textarea&gt;
</del><ins>+                 &lt;div&gt;&lt;textarea cols=&quot;70&quot; rows=&quot;25&quot; name=&quot;newcontent&quot; id=&quot;newcontent&quot; tabindex=&quot;1&quot;&gt;&lt;?php echo $content ?&gt;&lt;/textarea&gt;
</ins><span class="cx">                  &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;update&quot; /&gt;
</span><span class="cx">                  &lt;input type=&quot;hidden&quot; name=&quot;file&quot; value=&quot;&lt;?php echo esc_attr($file) ?&gt;&quot; /&gt;
</span><span class="cx">                  &lt;input type=&quot;hidden&quot; name=&quot;theme&quot; value=&quot;&lt;?php echo esc_attr($theme) ?&gt;&quot; /&gt;
</span></span></pre></div>
<a id="trunkwpincludesjsjqueryautocompletedevjs"></a>
<div class="delfile"><h4>Deleted: trunk/wp-includes/js/jquery/autocomplete.dev.js (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/jquery/autocomplete.dev.js        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-includes/js/jquery/autocomplete.dev.js        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -1,808 +0,0 @@
</span><del>-/*
- * jQuery Autocomplete plugin 1.1
- *
- * Copyright (c) 2009 Jörn Zaefferer
- *
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
- */
-
-;(function($) {
-        
-$.fn.extend({
-        autocomplete: function(urlOrData, options) {
-                var isUrl = typeof urlOrData == &quot;string&quot;;
-                options = $.extend({}, $.Autocompleter.defaults, {
-                        url: isUrl ? urlOrData : null,
-                        data: isUrl ? null : urlOrData,
-                        delay: isUrl ? $.Autocompleter.defaults.delay : 10,
-                        max: options &amp;&amp; !options.scroll ? 10 : 150
-                }, options);
-                
-                // if highlight is set to false, replace it with a do-nothing function
-                options.highlight = options.highlight || function(value) { return value; };
-                
-                // if the formatMatch option is not specified, then use formatItem for backwards compatibility
-                options.formatMatch = options.formatMatch || options.formatItem;
-                
-                return this.each(function() {
-                        new $.Autocompleter(this, options);
-                });
-        },
-        result: function(handler) {
-                return this.bind(&quot;result&quot;, handler);
-        },
-        search: function(handler) {
-                return this.trigger(&quot;search&quot;, [handler]);
-        },
-        flushCache: function() {
-                return this.trigger(&quot;flushCache&quot;);
-        },
-        setOptions: function(options){
-                return this.trigger(&quot;setOptions&quot;, [options]);
-        },
-        unautocomplete: function() {
-                return this.trigger(&quot;unautocomplete&quot;);
-        }
-});
-
-$.Autocompleter = function(input, options) {
-
-        var KEY = {
-                UP: 38,
-                DOWN: 40,
-                DEL: 46,
-                TAB: 9,
-                RETURN: 13,
-                ESC: 27,
-                COMMA: 188,
-                PAGEUP: 33,
-                PAGEDOWN: 34,
-                BACKSPACE: 8
-        };
-
-        // Create $ object for input element
-        var $input = $(input).attr(&quot;autocomplete&quot;, &quot;off&quot;).addClass(options.inputClass);
-
-        var timeout;
-        var previousValue = &quot;&quot;;
-        var cache = $.Autocompleter.Cache(options);
-        var hasFocus = 0;
-        var lastKeyPressCode;
-        var config = {
-                mouseDownOnSelect: false
-        };
-        var select = $.Autocompleter.Select(options, input, selectCurrent, config);
-        
-        var blockSubmit;
-        
-        // prevent form submit in opera when selecting with return key
-        $.browser.opera &amp;&amp; $(input.form).bind(&quot;submit.autocomplete&quot;, function() {
-                if (blockSubmit) {
-                        blockSubmit = false;
-                        return false;
-                }
-        });
-        
-        // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
-        $input.bind(($.browser.opera ? &quot;keypress&quot; : &quot;keydown&quot;) + &quot;.autocomplete&quot;, function(event) {
-                // a keypress means the input has focus
-                // avoids issue where input had focus before the autocomplete was applied
-                hasFocus = 1;
-                // track last key pressed
-                lastKeyPressCode = event.keyCode;
-                switch(event.keyCode) {
-                
-                        case KEY.UP:
-                                event.preventDefault();
-                                if ( select.visible() ) {
-                                        select.prev();
-                                } else {
-                                        onChange(0, true);
-                                }
-                                break;
-                                
-                        case KEY.DOWN:
-                                event.preventDefault();
-                                if ( select.visible() ) {
-                                        select.next();
-                                } else {
-                                        onChange(0, true);
-                                }
-                                break;
-                                
-                        case KEY.PAGEUP:
-                                event.preventDefault();
-                                if ( select.visible() ) {
-                                        select.pageUp();
-                                } else {
-                                        onChange(0, true);
-                                }
-                                break;
-                                
-                        case KEY.PAGEDOWN:
-                                event.preventDefault();
-                                if ( select.visible() ) {
-                                        select.pageDown();
-                                } else {
-                                        onChange(0, true);
-                                }
-                                break;
-                        
-                        // matches also semicolon
-                        case options.multiple &amp;&amp; $.trim(options.multipleSeparator) == &quot;,&quot; &amp;&amp; KEY.COMMA:
-                        case KEY.TAB:
-                        case KEY.RETURN:
-                                if( selectCurrent() ) {
-                                        // stop default to prevent a form submit, Opera needs special handling
-                                        event.preventDefault();
-                                        blockSubmit = true;
-                                        return false;
-                                }
-                                break;
-                                
-                        case KEY.ESC:
-                                select.hide();
-                                break;
-                                
-                        default:
-                                clearTimeout(timeout);
-                                timeout = setTimeout(onChange, options.delay);
-                                break;
-                }
-        }).focus(function(){
-                // track whether the field has focus, we shouldn't process any
-                // results if the field no longer has focus
-                hasFocus++;
-        }).blur(function() {
-                hasFocus = 0;
-                if (!config.mouseDownOnSelect) {
-                        hideResults();
-                }
-        }).click(function() {
-                // show select when clicking in a focused field
-                if ( hasFocus++ &gt; 1 &amp;&amp; !select.visible() ) {
-                        onChange(0, true);
-                }
-        }).bind(&quot;search&quot;, function() {
-                // TODO why not just specifying both arguments?
-                var fn = (arguments.length &gt; 1) ? arguments[1] : null;
-                function findValueCallback(q, data) {
-                        var result;
-                        if( data &amp;&amp; data.length ) {
-                                for (var i=0; i &lt; data.length; i++) {
-                                        if( data[i].result.toLowerCase() == q.toLowerCase() ) {
-                                                result = data[i];
-                                                break;
-                                        }
-                                }
-                        }
-                        if( typeof fn == &quot;function&quot; ) fn(result);
-                        else $input.trigger(&quot;result&quot;, result &amp;&amp; [result.data, result.value]);
-                }
-                $.each(trimWords($input.val()), function(i, value) {
-                        request(value, findValueCallback, findValueCallback);
-                });
-        }).bind(&quot;flushCache&quot;, function() {
-                cache.flush();
-        }).bind(&quot;setOptions&quot;, function() {
-                $.extend(options, arguments[1]);
-                // if we've updated the data, repopulate
-                if ( &quot;data&quot; in arguments[1] )
-                        cache.populate();
-        }).bind(&quot;unautocomplete&quot;, function() {
-                select.unbind();
-                $input.unbind();
-                $(input.form).unbind(&quot;.autocomplete&quot;);
-        });
-        
-        
-        function selectCurrent() {
-                var selected = select.selected();
-                if( !selected )
-                        return false;
-                
-                var v = selected.result;
-                previousValue = v;
-                
-                if ( options.multiple ) {
-                        var words = trimWords($input.val());
-                        if ( words.length &gt; 1 ) {
-                                var seperator = options.multipleSeparator.length;
-                                var cursorAt = $(input).selection().start;
-                                var wordAt, progress = 0;
-                                $.each(words, function(i, word) {
-                                        progress += word.length;
-                                        if (cursorAt &lt;= progress) {
-                                                wordAt = i;
-                                                return false;
-                                        }
-                                        progress += seperator;
-                                });
-                                words[wordAt] = v;
-                                // TODO this should set the cursor to the right position, but it gets overriden somewhere
-                                //$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
-                                v = words.join( options.multipleSeparator );
-                        }
-                        v += options.multipleSeparator;
-                }
-                
-                $input.val(v);
-                hideResultsNow();
-                $input.trigger(&quot;result&quot;, [selected.data, selected.value]);
-                return true;
-        }
-        
-        function onChange(crap, skipPrevCheck) {
-                if( lastKeyPressCode == KEY.DEL ) {
-                        select.hide();
-                        return;
-                }
-                
-                var currentValue = $input.val();
-                
-                if ( !skipPrevCheck &amp;&amp; currentValue == previousValue )
-                        return;
-                
-                previousValue = currentValue;
-                
-                currentValue = lastWord(currentValue);
-                if ( currentValue.length &gt;= options.minChars) {
-                        $input.addClass(options.loadingClass);
-                        if (!options.matchCase)
-                                currentValue = currentValue.toLowerCase();
-                        request(currentValue, receiveData, hideResultsNow);
-                } else {
-                        stopLoading();
-                        select.hide();
-                }
-        };
-        
-        function trimWords(value) {
-                if (!value)
-                        return [&quot;&quot;];
-                if (!options.multiple)
-                        return [$.trim(value)];
-                return $.map(value.split(options.multipleSeparator), function(word) {
-                        return $.trim(value).length ? $.trim(word) : null;
-                });
-        }
-        
-        function lastWord(value) {
-                if ( !options.multiple )
-                        return value;
-                var words = trimWords(value);
-                if (words.length == 1) 
-                        return words[0];
-                var cursorAt = $(input).selection().start;
-                if (cursorAt == value.length) {
-                        words = trimWords(value)
-                } else {
-                        words = trimWords(value.replace(value.substring(cursorAt), &quot;&quot;));
-                }
-                return words[words.length - 1];
-        }
-        
-        // fills in the input box w/the first match (assumed to be the best match)
-        // q: the term entered
-        // sValue: the first matching result
-        function autoFill(q, sValue){
-                // autofill in the complete box w/the first match as long as the user hasn't entered in more data
-                // if the last user key pressed was backspace, don't autofill
-                if( options.autoFill &amp;&amp; (lastWord($input.val()).toLowerCase() == q.toLowerCase()) &amp;&amp; lastKeyPressCode != KEY.BACKSPACE ) {
-                        // fill in the value (keep the case the user has typed)
-                        $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
-                        // select the portion of the value not typed by the user (so the next character will erase)
-                        $(input).selection(previousValue.length, previousValue.length + sValue.length);
-                }
-        };
-
-        function hideResults() {
-                clearTimeout(timeout);
-                timeout = setTimeout(hideResultsNow, 200);
-        };
-
-        function hideResultsNow() {
-                var wasVisible = select.visible();
-                select.hide();
-                clearTimeout(timeout);
-                stopLoading();
-                if (options.mustMatch) {
-                        // call search and run callback
-                        $input.search(
-                                function (result){
-                                        // if no value found, clear the input box
-                                        if( !result ) {
-                                                if (options.multiple) {
-                                                        var words = trimWords($input.val()).slice(0, -1);
-                                                        $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : &quot;&quot;) );
-                                                }
-                                                else {
-                                                        $input.val( &quot;&quot; );
-                                                        $input.trigger(&quot;result&quot;, null);
-                                                }
-                                        }
-                                }
-                        );
-                }
-        };
-
-        function receiveData(q, data) {
-                if ( data &amp;&amp; data.length &amp;&amp; hasFocus ) {
-                        stopLoading();
-                        select.display(data, q);
-                        autoFill(q, data[0].value);
-                        select.show();
-                } else {
-                        hideResultsNow();
-                }
-        };
-
-        function request(term, success, failure) {
-                if (!options.matchCase)
-                        term = term.toLowerCase();
-                var data = cache.load(term);
-                // recieve the cached data
-                if (data &amp;&amp; data.length) {
-                        success(term, data);
-                // if an AJAX url has been supplied, try loading the data now
-                } else if( (typeof options.url == &quot;string&quot;) &amp;&amp; (options.url.length &gt; 0) ){
-                        
-                        var extraParams = {
-                                timestamp: +new Date()
-                        };
-                        $.each(options.extraParams, function(key, param) {
-                                extraParams[key] = typeof param == &quot;function&quot; ? param() : param;
-                        });
-                        
-                        $.ajax({
-                                // try to leverage ajaxQueue plugin to abort previous requests
-                                mode: &quot;abort&quot;,
-                                // limit abortion to this input
-                                port: &quot;autocomplete&quot; + input.name,
-                                dataType: options.dataType,
-                                url: options.url,
-                                data: $.extend({
-                                        q: lastWord(term),
-                                        limit: options.max
-                                }, extraParams),
-                                success: function(data) {
-                                        var parsed = options.parse &amp;&amp; options.parse(data) || parse(data);
-                                        cache.add(term, parsed);
-                                        success(term, parsed);
-                                }
-                        });
-                } else {
-                        // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
-                        select.emptyList();
-                        failure(term);
-                }
-        };
-        
-        function parse(data) {
-                var parsed = [];
-                var rows = data.split(&quot;\n&quot;);
-                for (var i=0; i &lt; rows.length; i++) {
-                        var row = $.trim(rows[i]);
-                        if (row) {
-                                row = row.split(&quot;|&quot;);
-                                parsed[parsed.length] = {
-                                        data: row,
-                                        value: row[0],
-                                        result: options.formatResult &amp;&amp; options.formatResult(row, row[0]) || row[0]
-                                };
-                        }
-                }
-                return parsed;
-        };
-
-        function stopLoading() {
-                $input.removeClass(options.loadingClass);
-        };
-
-};
-
-$.Autocompleter.defaults = {
-        inputClass: &quot;ac_input&quot;,
-        resultsClass: &quot;ac_results&quot;,
-        loadingClass: &quot;ac_loading&quot;,
-        minChars: 1,
-        delay: 400,
-        matchCase: false,
-        matchSubset: true,
-        matchContains: false,
-        cacheLength: 10,
-        max: 100,
-        mustMatch: false,
-        extraParams: {},
-        selectFirst: true,
-        formatItem: function(row) { return row[0]; },
-        formatMatch: null,
-        autoFill: false,
-        width: 0,
-        multiple: false,
-        multipleSeparator: &quot;, &quot;,
-        highlight: function(value, term) {
-                return value.replace(new RegExp(&quot;(?![^&amp;;]+;)(?!&lt;[^&lt;&gt;]*)(&quot; + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, &quot;\\$1&quot;) + &quot;)(?![^&lt;&gt;]*&gt;)(?![^&amp;;]+;)&quot;, &quot;gi&quot;), &quot;&lt;strong&gt;$1&lt;/strong&gt;&quot;);
-        },
-    scroll: true,
-    scrollHeight: 180
-};
-
-$.Autocompleter.Cache = function(options) {
-
-        var data = {};
-        var length = 0;
-        
-        function matchSubset(s, sub) {
-                if (!options.matchCase) 
-                        s = s.toLowerCase();
-                var i = s.indexOf(sub);
-                if (options.matchContains == &quot;word&quot;){
-                        i = s.toLowerCase().search(&quot;\\b&quot; + sub.toLowerCase());
-                }
-                if (i == -1) return false;
-                return i == 0 || options.matchContains;
-        };
-        
-        function add(q, value) {
-                if (length &gt; options.cacheLength){
-                        flush();
-                }
-                if (!data[q]){ 
-                        length++;
-                }
-                data[q] = value;
-        }
-        
-        function populate(){
-                if( !options.data ) return false;
-                // track the matches
-                var stMatchSets = {},
-                        nullData = 0;
-
-                // no url was specified, we need to adjust the cache length to make sure it fits the local data store
-                if( !options.url ) options.cacheLength = 1;
-                
-                // track all options for minChars = 0
-                stMatchSets[&quot;&quot;] = [];
-                
-                // loop through the array and create a lookup structure
-                for ( var i = 0, ol = options.data.length; i &lt; ol; i++ ) {
-                        var rawValue = options.data[i];
-                        // if rawValue is a string, make an array otherwise just reference the array
-                        rawValue = (typeof rawValue == &quot;string&quot;) ? [rawValue] : rawValue;
-                        
-                        var value = options.formatMatch(rawValue, i+1, options.data.length);
-                        if ( value === false )
-                                continue;
-                                
-                        var firstChar = value.charAt(0).toLowerCase();
-                        // if no lookup array for this character exists, look it up now
-                        if( !stMatchSets[firstChar] ) 
-                                stMatchSets[firstChar] = [];
-
-                        // if the match is a string
-                        var row = {
-                                value: value,
-                                data: rawValue,
-                                result: options.formatResult &amp;&amp; options.formatResult(rawValue) || value
-                        };
-                        
-                        // push the current match into the set list
-                        stMatchSets[firstChar].push(row);
-
-                        // keep track of minChars zero items
-                        if ( nullData++ &lt; options.max ) {
-                                stMatchSets[&quot;&quot;].push(row);
-                        }
-                };
-
-                // add the data items to the cache
-                $.each(stMatchSets, function(i, value) {
-                        // increase the cache size
-                        options.cacheLength++;
-                        // add to the cache
-                        add(i, value);
-                });
-        }
-        
-        // populate any existing data
-        setTimeout(populate, 25);
-        
-        function flush(){
-                data = {};
-                length = 0;
-        }
-        
-        return {
-                flush: flush,
-                add: add,
-                populate: populate,
-                load: function(q) {
-                        if (!options.cacheLength || !length)
-                                return null;
-                        /* 
-                         * if dealing w/local data and matchContains than we must make sure
-                         * to loop through all the data collections looking for matches
-                         */
-                        if( !options.url &amp;&amp; options.matchContains ){
-                                // track all matches
-                                var csub = [];
-                                // loop through all the data grids for matches
-                                for( var k in data ){
-                                        // don't search through the stMatchSets[&quot;&quot;] (minChars: 0) cache
-                                        // this prevents duplicates
-                                        if( k.length &gt; 0 ){
-                                                var c = data[k];
-                                                $.each(c, function(i, x) {
-                                                        // if we've got a match, add it to the array
-                                                        if (matchSubset(x.value, q)) {
-                                                                csub.push(x);
-                                                        }
-                                                });
-                                        }
-                                }                                
-                                return csub;
-                        } else 
-                        // if the exact item exists, use it
-                        if (data[q]){
-                                return data[q];
-                        } else
-                        if (options.matchSubset) {
-                                for (var i = q.length - 1; i &gt;= options.minChars; i--) {
-                                        var c = data[q.substr(0, i)];
-                                        if (c) {
-                                                var csub = [];
-                                                $.each(c, function(i, x) {
-                                                        if (matchSubset(x.value, q)) {
-                                                                csub[csub.length] = x;
-                                                        }
-                                                });
-                                                return csub;
-                                        }
-                                }
-                        }
-                        return null;
-                }
-        };
-};
-
-$.Autocompleter.Select = function (options, input, select, config) {
-        var CLASSES = {
-                ACTIVE: &quot;ac_over&quot;
-        };
-        
-        var listItems,
-                active = -1,
-                data,
-                term = &quot;&quot;,
-                needsInit = true,
-                element,
-                list;
-        
-        // Create results
-        function init() {
-                if (!needsInit)
-                        return;
-                element = $(&quot;&lt;div/&gt;&quot;)
-                .hide()
-                .addClass(options.resultsClass)
-                .css(&quot;position&quot;, &quot;absolute&quot;)
-                .appendTo(document.body);
-        
-                list = $(&quot;&lt;ul/&gt;&quot;).appendTo(element).mouseover( function(event) {
-                        if(target(event).nodeName &amp;&amp; target(event).nodeName.toUpperCase() == 'LI') {
-                    active = $(&quot;li&quot;, list).removeClass(CLASSES.ACTIVE).index(target(event));
-                            $(target(event)).addClass(CLASSES.ACTIVE);            
-                }
-                }).click(function(event) {
-                        $(target(event)).addClass(CLASSES.ACTIVE);
-                        select();
-                        // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
-                        input.focus();
-                        return false;
-                }).mousedown(function() {
-                        config.mouseDownOnSelect = true;
-                }).mouseup(function() {
-                        config.mouseDownOnSelect = false;
-                });
-                
-                if( options.width &gt; 0 )
-                        element.css(&quot;width&quot;, options.width);
-                        
-                needsInit = false;
-        } 
-        
-        function target(event) {
-                var element = event.target;
-                while(element &amp;&amp; element.tagName != &quot;LI&quot;)
-                        element = element.parentNode;
-                // more fun with IE, sometimes event.target is empty, just ignore it then
-                if(!element)
-                        return [];
-                return element;
-        }
-
-        function moveSelect(step) {
-                listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
-                movePosition(step);
-        var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
-        if(options.scroll) {
-            var offset = 0;
-            listItems.slice(0, active).each(function() {
-                                offset += this.offsetHeight;
-                        });
-            if((offset + activeItem[0].offsetHeight - list.scrollTop()) &gt; list[0].clientHeight) {
-                list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
-            } else if(offset &lt; list.scrollTop()) {
-                list.scrollTop(offset);
-            }
-        }
-        };
-        
-        function movePosition(step) {
-                active += step;
-                if (active &lt; 0) {
-                        active = listItems.size() - 1;
-                } else if (active &gt;= listItems.size()) {
-                        active = 0;
-                }
-        }
-        
-        function limitNumberOfItems(available) {
-                return options.max &amp;&amp; options.max &lt; available
-                        ? options.max
-                        : available;
-        }
-        
-        function fillList() {
-                list.empty();
-                var max = limitNumberOfItems(data.length);
-                for (var i=0; i &lt; max; i++) {
-                        if (!data[i])
-                                continue;
-                        var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
-                        if ( formatted === false )
-                                continue;
-                        var li = $(&quot;&lt;li/&gt;&quot;).html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? &quot;ac_even&quot; : &quot;ac_odd&quot;).appendTo(list)[0];
-                        $.data(li, &quot;ac_data&quot;, data[i]);
-                }
-                listItems = list.find(&quot;li&quot;);
-                if ( options.selectFirst ) {
-                        listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
-                        active = 0;
-                }
-                // apply bgiframe if available
-                if ( $.fn.bgiframe )
-                        list.bgiframe();
-        }
-        
-        return {
-                display: function(d, q) {
-                        init();
-                        data = d;
-                        term = q;
-                        fillList();
-                },
-                next: function() {
-                        moveSelect(1);
-                },
-                prev: function() {
-                        moveSelect(-1);
-                },
-                pageUp: function() {
-                        if (active != 0 &amp;&amp; active - 8 &lt; 0) {
-                                moveSelect( -active );
-                        } else {
-                                moveSelect(-8);
-                        }
-                },
-                pageDown: function() {
-                        if (active != listItems.size() - 1 &amp;&amp; active + 8 &gt; listItems.size()) {
-                                moveSelect( listItems.size() - 1 - active );
-                        } else {
-                                moveSelect(8);
-                        }
-                },
-                hide: function() {
-                        element &amp;&amp; element.hide();
-                        listItems &amp;&amp; listItems.removeClass(CLASSES.ACTIVE);
-                        active = -1;
-                },
-                visible : function() {
-                        return element &amp;&amp; element.is(&quot;:visible&quot;);
-                },
-                current: function() {
-                        return this.visible() &amp;&amp; (listItems.filter(&quot;.&quot; + CLASSES.ACTIVE)[0] || options.selectFirst &amp;&amp; listItems[0]);
-                },
-                show: function() {
-                        var offset = $(input).offset();
-                        element.css({
-                                width: typeof options.width == &quot;string&quot; || options.width &gt; 0 ? options.width : $(input).width(),
-                                top: offset.top + input.offsetHeight,
-                                left: offset.left
-                        }).show();
-            if(options.scroll) {
-                list.scrollTop(0);
-                list.css({
-                                        maxHeight: options.scrollHeight,
-                                        overflow: 'auto'
-                                });
-                                
-                if($.browser.msie &amp;&amp; typeof document.body.style.maxHeight === &quot;undefined&quot;) {
-                                        var listHeight = 0;
-                                        listItems.each(function() {
-                                                listHeight += this.offsetHeight;
-                                        });
-                                        var scrollbarsVisible = listHeight &gt; options.scrollHeight;
-                    list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
-                                        if (!scrollbarsVisible) {
-                                                // IE doesn't recalculate width when scrollbar disappears
-                                                listItems.width( list.width() - parseInt(listItems.css(&quot;padding-left&quot;)) - parseInt(listItems.css(&quot;padding-right&quot;)) );
-                                        }
-                }
-                
-            }
-                },
-                selected: function() {
-                        var selected = listItems &amp;&amp; listItems.filter(&quot;.&quot; + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
-                        return selected &amp;&amp; selected.length &amp;&amp; $.data(selected[0], &quot;ac_data&quot;);
-                },
-                emptyList: function (){
-                        list &amp;&amp; list.empty();
-                },
-                unbind: function() {
-                        element &amp;&amp; element.remove();
-                }
-        };
-};
-
-$.fn.selection = function(start, end) {
-        if (start !== undefined) {
-                return this.each(function() {
-                        if( this.createTextRange ){
-                                var selRange = this.createTextRange();
-                                if (end === undefined || start == end) {
-                                        selRange.move(&quot;character&quot;, start);
-                                        selRange.select();
-                                } else {
-                                        selRange.collapse(true);
-                                        selRange.moveStart(&quot;character&quot;, start);
-                                        selRange.moveEnd(&quot;character&quot;, end);
-                                        selRange.select();
-                                }
-                        } else if( this.setSelectionRange ){
-                                this.setSelectionRange(start, end);
-                        } else if( this.selectionStart ){
-                                this.selectionStart = start;
-                                this.selectionEnd = end;
-                        }
-                });
-        }
-        var field = this[0];
-        if ( field.createTextRange ) {
-                var range = document.selection.createRange(),
-                        orig = field.value,
-                        teststring = &quot;&lt;-&gt;&quot;,
-                        textLength = range.text.length;
-                range.text = teststring;
-                var caretAt = field.value.indexOf(teststring);
-                field.value = orig;
-                this.selection(caretAt, caretAt + textLength);
-                return {
-                        start: caretAt,
-                        end: caretAt + textLength
-                }
-        } else if( field.selectionStart !== undefined ){
-                return {
-                        start: field.selectionStart,
-                        end: field.selectionEnd
-                }
-        }
-};
-
-})(jQuery);
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesjsjqueryautocompletejs"></a>
<div class="delfile"><h4>Deleted: trunk/wp-includes/js/jquery/autocomplete.js (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/jquery/autocomplete.js        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-includes/js/jquery/autocomplete.js        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -1 +0,0 @@
</span><del>-(function(a){a.fn.extend({autocomplete:function(b,c){var d=typeof b==&quot;string&quot;;c=a.extend({},a.Autocompleter.defaults,{url:d?b:null,data:d?null:b,delay:d?a.Autocompleter.defaults.delay:10,max:c&amp;&amp;!c.scroll?10:150},c);c.highlight=c.highlight||function(e){return e};c.formatMatch=c.formatMatch||c.formatItem;return this.each(function(){new a.Autocompleter(this,c)})},result:function(b){return this.bind(&quot;result&quot;,b)},search:function(b){return this.trigger(&quot;search&quot;,[b])},flushCache:function(){return this.trigger(&quot;flushCache&quot;)},setOptions:function(b){return this.trigger(&quot;setOptions&quot;,[b])},unautocomplete:function(){return this.trigger(&quot;unautocomplete&quot;)}});a.Autocompleter=function(l,g){var c={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var b=a(l).attr(&quot;autocomplete&quot;,&quot;off&quot;).addClass(g.inputClass);var j;var p=&quot;&quot;;var m=a.Autocompleter.Cache(g);var e=0;var u;var x={mouseDownOnSelect:false};var r=a.Autocompleter.Select(g,l,d,x);var w;a.browser.opera&amp;&amp;a(l.form).bind(&quot;submit.autocomplete&quot;,function(){if(w){w=false;return false}});b.bind((a.browser.opera?&quot;keypress&quot;:&quot;keydown&quot;)+&quot;.autocomplete&quot;,function(y){e=1;u=y.keyCode;switch(y.keyCode){case c.UP:y.preventDefault();if(r.visible()){r.prev()}else{t(0,true)}break;case c.DOWN:y.preventDefault();if(r.visible()){r.next()}else{t(0,true)}break;case c.PAGEUP:y.preventDefault();if(r.visible()){r.pageUp()}else{t(0,true)}break;case c.PAGEDOWN:y.preventDefault();if(r.visible()){r.pageDown()}else{t(0,true)}break;case g.multiple&amp;&amp;a.trim(g.multipleSeparator)==&quot;,&quot;&amp;&amp;c.COMMA:case c.TAB:case c.RETURN:if(d()){y.preventDefault();w=true;return false}break;case c.ESC:r.hide();break;default:clearTimeout(j);j=setTimeout(t,g.delay);break}}).focus(function(){e++}).blur(function(){e=0;if(!x.mouseDownOnSelect){s()}}).click(function(){if(e++&gt;1&amp;&amp;!r.visible()){t(0,true)}}).bind(&quot;search&quot;,function(){var y=(arguments.length&gt;1)?arguments[1]:null;function z(D,C){var A;if(C&amp;&amp;C.length){for(var B=0;B&lt;C.length;B++){if(C[B].result.toLowerCase()==D.toLowerCase()){A=C[B];break}}}if(typeof y==&quot;function&quot;){y(A)}else{b.trigger(&quot;result&quot;,A&amp;&amp;[A.data,A.value])}}a.each(h(b.val()),function(A,B){f(B,z,z)})}).bind(&quot;flushCache&quot;,function(){m.flush()}).bind(&quot;setOptions&quot;,function(){a.extend(g,arguments[1]);if(&quot;data&quot; in arguments[1]){m.populate()}}).bind(&quot;unautocomplete&quot;,function(){r.unbind();b.unbind();a(l.form).unbind(&quot;.autocomplete&quot;)});function d(){var B=r.selected();if(!B){return false}var y=B.result;p=y;if(g.multiple){var E=h(b.val());if(E.length&gt;1){var A=g.multipleSeparator.length;var D=a(l).selection().start;var C,z=0;a.each(E,function(F,G){z+=G.length;if(D&lt;=z){C=F;return false}z+=A});E[C]=y;y=E.join(g.multipleSeparator)}y+=g.multipleSeparator}b.val(y);v();b.trigger(&quot;result&quot;,[B.data,B.value]);return true}function t(A,z){if(u==c.DEL){r.hide();return}var y=b.val();if(!z&amp;&amp;y==p){return}p=y;y=i(y);if(y.length&gt;=g.minChars){b.addClass(g.loadingClass);if(!g.matchCase){y=y.toLowerCase()}f(y,k,v)}else{n();r.hide()}}function h(y){if(!y){return[&quot;&quot;]}if(!g.multiple){return[a.trim(y)]}return a.map(y.split(g.multipleSeparator),function(z){return a.trim(y).length?a.trim(z):null})}function i(y){if(!g.multiple){return y}var A=h(y);if(A.length==1){return A[0]}var z=a(l).selection().start;if(z==y.length){A=h(y)}else{A=h(y.replace(y.substring(z),&quot;&quot;))}return A[A.length-1]}function q(y,z){if(g.autoFill&amp;&amp;(i(b.val()).toLowerCase()==y.toLowerCase())&amp;&amp;u!=c.BACKSPACE){b.val(b.val()+z.substring(i(p).length));a(l).selection(p.length,p.length+z.length)}}function s(){clearTimeout(j);j=setTimeout(v,200)}function v(){var y=r.visible();r.hide();clearTimeout(j);n();if(g.mustMatch){b.search(function(z){if(!z){if(g.multiple){var A=h(b.val()).slice(0,-1);b.val(A.join(g.multipleSeparator)+(A.length?g.multipleSeparator:&quot;&quot;))}else{b.val(&quot;&quot;);b.trigger(&quot;result&quot;,null)}}})}}function k(z,y){if(y&amp;&amp;y.length&amp;&amp;e){n();r.display(y,z);q(z,y[0].value);r.show()}else{v()}}function f(z,B,y){if(!g.matchCase){z=z.toLowerCase()}var A=m.load(z);if(A&amp;&amp;A.length){B(z,A)}else{if((typeof g.url==&quot;string&quot;)&amp;&amp;(g.url.length&gt;0)){var C={timestamp:+new Date()};a.each(g.extraParams,function(D,E){C[D]=typeof E==&quot;function&quot;?E():E});a.ajax({mode:&quot;abort&quot;,port:&quot;autocomplete&quot;+l.name,dataType:g.dataType,url:g.url,data:a.extend({q:i(z),limit:g.max},C),success:function(E){var D=g.parse&amp;&amp;g.parse(E)||o(E);m.add(z,D);B(z,D)}})}else{r.emptyList();y(z)}}}function o(B){var y=[];var A=B.split(&quot;\n&quot;);for(var z=0;z&lt;A.length;z++){var C=a.trim(A[z]);if(C){C=C.split(&quot;|&quot;);y[y.length]={data:C,value:C[0],result:g.formatResult&amp;&amp;g.formatResult(C,C[0])||C[0]}}}return y}function n(){b.removeClass(g.loadingClass)}};a.Autocompleter.defaults={inputClass:&quot;ac_input&quot;,resultsClass:&quot;ac_results&quot;,loadingClass:&quot;ac_loading&quot;,minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(b){return b[0]},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:&quot;, &quot;,highlight:function(c,b){return c.replace(new RegExp(&quot;(?![^&amp;;]+;)(?!&lt;[^&lt;&gt;]*)(&quot;+b.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,&quot;\\$1&quot;)+&quot;)(?![^&lt;&gt;]*&gt;)(?![^&amp;;]+;)&quot;,&quot;gi&quot;),&quot;&lt;strong&gt;$1&lt;/strong&gt;&quot;)},scroll:true,scrollHeight:180};a.Autocompleter.Cache=function(c){var f={};var d=0;function h(l,k){if(!c.matchCase){l=l.toLowerCase()}var j=l.indexOf(k);if(c.matchContains==&quot;word&quot;){j=l.toLowerCase().search(&quot;\\b&quot;+k.toLowerCase())}if(j==-1){return false}return j==0||c.matchContains}function g(j,i){if(d&gt;c.cacheLength){b()}if(!f[j]){d++}f[j]=i}function e(){if(!c.data){return false}var k={},j=0;if(!c.url){c.cacheLength=1}k[&quot;&quot;]=[];for(var m=0,l=c.data.length;m&lt;l;m++){var p=c.data[m];p=(typeof p==&quot;string&quot;)?[p]:p;var o=c.formatMatch(p,m+1,c.data.length);if(o===false){continue}var n=o.charAt(0).toLowerCase();if(!k[n]){k[n]=[]}var q={value:o,data:p,result:c.formatResult&amp;&amp;c.formatResult(p)||o};k[n].push(q);if(j++&lt;c.max){k[&quot;&quot;].push(q)}}a.each(k,function(r,s){c.cacheLength++;g(r,s)})}setTimeout(e,25);function b(){f={};d=0}return{flush:b,add:g,populate:e,load:function(n){if(!c.cacheLength||!d){return null}if(!c.url&amp;&amp;c.matchContains){var m=[];for(var j in f){if(j.length&gt;0){var o=f[j];a.each(o,function(p,k){if(h(k.value,n)){m.push(k)}})}}return m}else{if(f[n]){return f[n]}else{if(c.matchSubset){for(var l=n.length-1;l&gt;=c.minChars;l--){var o=f[n.substr(0,l)];if(o){var m=[];a.each(o,function(p,k){if(h(k.value,n)){m[m.length]=k}});return m}}}}}return null}}};a.Autocompleter.Select=function(e,j,l,p){var i={ACTIVE:&quot;ac_over&quot;};var k,f=-1,r,m=&quot;&quot;,s=true,c,o;function n(){if(!s){return}c=a(&quot;&lt;div/&gt;&quot;).hide().addClass(e.resultsClass).css(&quot;position&quot;,&quot;absolute&quot;).appendTo(document.body);o=a(&quot;&lt;ul/&gt;&quot;).appendTo(c).mouseover(function(t){if(q(t).nodeName&amp;&amp;q(t).nodeName.toUpperCase()==&quot;LI&quot;){f=a(&quot;li&quot;,o).removeClass(i.ACTIVE).index(q(t));a(q(t)).addClass(i.ACTIVE)}}).click(function(t){a(q(t)).addClass(i.ACTIVE);l();j.focus();return false}).mousedown(function(){p.mouseDownOnSelect=true}).mouseup(function(){p.mouseDownOnSelect=false});if(e.width&gt;0){c.css(&quot;width&quot;,e.width)}s=false}function q(u){var t=u.target;while(t&amp;&amp;t.tagName!=&quot;LI&quot;){t=t.parentNode}if(!t){return[]}return t}function h(t){k.slice(f,f+1).removeClass(i.ACTIVE);g(t);var v=k.slice(f,f+1).addClass(i.ACTIVE);if(e.scroll){var u=0;k.slice(0,f).each(function(){u+=this.offsetHeight});if((u+v[0].offsetHeight-o.scrollTop())&gt;o[0].clientHeight){o.scrollTop(u+v[0].offsetHeight-o.innerHeight())}else{if(u&lt;o.scrollTop()){o.scrollTop(u)}}}}function g(t){f+=t;if(f&lt;0){f=k.size()-1}else{if(f&gt;=k.size()){f=0}}}function b(t){return e.max&amp;&amp;e.max&lt;t?e.max:t}function d(){o.empty();var u=b(r.length);for(var v=0;v&lt;u;v++){if(!r[v]){continue}var w=e.formatItem(r[v].data,v+1,u,r[v].value,m);if(w===false){continue}var t=a(&quot;&lt;li/&gt;&quot;).html(e.highlight(w,m)).addClass(v%2==0?&quot;ac_even&quot;:&quot;ac_odd&quot;).appendTo(o)[0];a.data(t,&quot;ac_data&quot;,r[v])}k=o.find(&quot;li&quot;);if(e.selectFirst){k.slice(0,1).addClass(i.ACTIVE);f=0}if(a.fn.bgiframe){o.bgiframe()}}return{display:function(u,t){n();r=u;m=t;d()},next:function(){h(1)},prev:function(){h(-1)},pageUp:function(){if(f!=0&amp;&amp;f-8&lt;0){h(-f)}else{h(-8)}},pageDown:function(){if(f!=k.size()-1&amp;&amp;f+8&gt;k.size()){h(k.size()-1-f)}else{h(8)}},hide:function(){c&amp;&amp;c.hide();k&amp;&amp;k.removeClass(i.ACTIVE);f=-1},visible:function(){return c&amp;&amp;c.is(&quot;:visible&quot;)},current:function(){return this.visible()&amp;&amp;(k.filter(&quot;.&quot;+i.ACTIVE)[0]||e.selectFirst&amp;&amp;k[0])},show:function(){var v=a(j).offset();c.css({width:typeof e.width==&quot;string&quot;||e.width&gt;0?e.width:a(j).width(),top:v.top+j.offsetHeight,left:v.left}).show();if(e.scroll){o.scrollTop(0);o.css({maxHeight:e.scrollHeight,overflow:&quot;auto&quot;});if(a.browser.msie&amp;&amp;typeof document.body.style.maxHeight===&quot;undefined&quot;){var t=0;k.each(function(){t+=this.offsetHeight});var u=t&gt;e.scrollHeight;o.css(&quot;height&quot;,u?e.scrollHeight:t);if(!u){k.width(o.width()-parseInt(k.css(&quot;padding-left&quot;))-parseInt(k.css(&quot;padding-right&quot;)))}}}},selected:function(){var t=k&amp;&amp;k.filter(&quot;.&quot;+i.ACTIVE).removeClass(i.ACTIVE);return t&amp;&amp;t.length&amp;&amp;a.data(t[0],&quot;ac_data&quot;)},emptyList:function(){o&amp;&amp;o.empty()},unbind:function(){c&amp;&amp;c.remove()}}};a.fn.selection=function(i,b){if(i!==undefined){return this.each(function(){if(this.createTextRange){var j=this.createTextRange();if(b===undefined||i==b){j.move(&quot;character&quot;,i);j.select()}else{j.collapse(true);j.moveStart(&quot;character&quot;,i);j.moveEnd(&quot;character&quot;,b);j.select()}}else{if(this.setSelectionRange){this.setSelectionRange(i,b)}else{if(this.selectionStart){this.selectionStart=i;this.selectionEnd=b}}}})}var g=this[0];if(g.createTextRange){var c=document.selection.createRange(),h=g.value,f=&quot;&lt;-&gt;&quot;,d=c.text.length;c.text=f;var e=g.value.indexOf(f);g.value=h;this.selection(e,e+d);return{start:e,end:e+d}}else{if(g.selectionStart!==undefined){return{start:g.selectionStart,end:g.selectionEnd}}}}})(jQuery);
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (14717 => 14718)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2010-05-18 01:34:01 UTC (rev 14717)
+++ trunk/wp-includes/script-loader.php        2010-05-18 03:48:22 UTC (rev 14718)
</span><span class="lines">@@ -164,9 +164,6 @@
</span><span class="cx">         $scripts-&gt;add( 'jquery-table-hotkeys', &quot;/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js&quot;, array('jquery', 'jquery-hotkeys'), '20090102' );
</span><span class="cx">         $scripts-&gt;add_data( 'jquery-table-hotkeys', 'group', 1 );
</span><span class="cx"> 
</span><del>-        $scripts-&gt;add( 'jquery-autocomplete', &quot;/wp-includes/js/jquery/autocomplete$suffix.js&quot;, array('jquery'), '1.1' );
-        $scripts-&gt;add_data( 'jquery-autocomplete', 'group', 1 );
-
</del><span class="cx">         $scripts-&gt;add( 'thickbox', &quot;/wp-includes/js/thickbox/thickbox.js&quot;, array('jquery'), '3.1-20100407');
</span><span class="cx">         $scripts-&gt;add_data( 'thickbox', 'group', 1 );
</span><span class="cx">         $scripts-&gt;localize( 'thickbox', 'thickboxL10n', array(
</span><span class="lines">@@ -377,9 +374,6 @@
</span><span class="cx">                 $scripts-&gt;add( 'media', &quot;/wp-admin/js/media$suffix.js&quot;, array( 'jquery-ui-draggable' ), '20090415' );
</span><span class="cx">                 $scripts-&gt;add_data( 'media', 'group', 1 );
</span><span class="cx"> 
</span><del>-                $scripts-&gt;add( 'codepress', '/wp-includes/js/codepress/codepress.js', false, '0.9.6' );
-                $scripts-&gt;add_data( 'codepress', 'group', 1 );
-
</del><span class="cx">                 $scripts-&gt;add( 'image-edit', &quot;/wp-admin/js/image-edit$suffix.js&quot;, array('jquery', 'json2', 'imgareaselect'), '20091111' );
</span><span class="cx">                 $scripts-&gt;add_data( 'image-edit', 'group', 1 );
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>