Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.765
diff -u -u -p -r1.765 common.inc
--- includes/common.inc	6 May 2008 12:18:45 -0000	1.765
+++ includes/common.inc	11 May 2008 20:39:16 -0000
@@ -2051,11 +2051,11 @@ function drupal_get_js($scope = 'header'
 
     switch ($type) {
       case 'setting':
-        $output .= '<script type="text/javascript">jQuery.extend(Drupal.settings, ' . drupal_to_js(call_user_func_array('array_merge_recursive', $data)) . ");</script>\n";
+        $output .= "<script type=\"text/javascript\"><!--\njQuery.extend(Drupal.settings, " . drupal_to_js(call_user_func_array('array_merge_recursive', $data)) . ");\n// --></script>\n";
         break;
       case 'inline':
         foreach ($data as $info) {
-          $output .= '<script type="text/javascript"' . ($info['defer'] ? ' defer="defer"' : '') . '>' . $info['code'] . "</script>\n";
+          $output .= '<script type="text/javascript"' . ($info['defer'] ? ' defer="defer"' : '') . "><!--\n" . $info['code'] . "\n// --></script>\n";
         }
         break;
       default:
Index: modules/search/search.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.test,v
retrieving revision 1.1
diff -u -u -p -r1.1 search.test
--- modules/search/search.test	20 Apr 2008 18:23:29 -0000	1.1
+++ modules/search/search.test	11 May 2008 20:39:19 -0000
@@ -160,3 +160,41 @@ class SearchMatchTestCase extends Drupal
     $this->assertEqual(!count($scores) || (min($scores) > 0.0 && max($scores) <= 1.0001), TRUE, "Query scoring '$query'");
   }
 }
+
+class SearchScriptTestCase extends DrupalWebTestCase {
+  /**
+   * Implementation of getInfo().
+   */
+  function getInfo() {
+    return array(
+      'name' => t('Script tags'),
+      'description' => t('Tests that the text inside of script tags are not indexed.'),
+      'group' => t('Search'),
+    );
+  }
+
+  /**
+   * Implementation setUp().
+   */
+  function setUp() {
+    parent::setUp('search');
+  }
+  
+  /**
+   * Test that different strings are simplified as expected in the search_simplify function
+   */
+  function testSearchScript() {
+    $html = <<<___HTML
+<script type="text/javascript"><!--
+write("");
+//--></script>
+this
+___HTML;
+    search_index(999, SEARCH_TYPE, $html);
+    search_update_totals();
+    $set = do_search('write', SEARCH_TYPE);
+    $this->assertTrue(count($set) == 0, 'Text inside Script tags should not be indexed.');
+    $set = do_search('this', SEARCH_TYPE);
+    $this->assertTrue($set[0]->sid == 999, 'Text after the script tag is indexed.'); 
+  }
+}  
