Index: modules/search/search.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.test,v
retrieving revision 1.27
diff -u -r1.27 search.test
--- modules/search/search.test	31 Jul 2009 19:01:02 -0000	1.27
+++ modules/search/search.test	19 Aug 2009 20:43:43 -0000
@@ -461,7 +461,7 @@
     variable_set('comment_preview_article', COMMENT_PREVIEW_OPTIONAL);
     // Enable check_plain() for 'Filtered HTML' text format.
     $edit = array(
-      'filters[filter/4]' => 1,
+      'filters[filter/filter_html_escape]' => 1,
     );
     $this->drupalPost('admin/settings/formats/1', $edit, t('Save configuration'));
     // Allow anonymous users to search content.
Index: modules/php/php.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/php/php.install,v
retrieving revision 1.9
diff -u -r1.9 php.install
--- modules/php/php.install	30 Jul 2009 21:46:47 -0000	1.9
+++ modules/php/php.install	19 Aug 2009 20:43:37 -0000
@@ -29,7 +29,7 @@
       ->fields(array(
         'format' => $format,
         'module' => 'php',
-        'delta' => 0,
+        'filter_id' => 'php_code',
         'weight' => 0,
       ))
       ->execute();
Index: modules/php/php.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/php/php.module,v
retrieving revision 1.17
diff -u -r1.17 php.module
--- modules/php/php.module	14 Aug 2009 08:06:23 -0000	1.17
+++ modules/php/php.module	19 Aug 2009 20:43:38 -0000
@@ -127,7 +127,7 @@
  */
 function php_filter_info() {
   return array(
-    array(
+    'php_code' => array(
       'name' => t('PHP evaluator'),
       'description' => t('Executes a piece of PHP code. The usage of this filter should be restricted to administrators only!'), 
       'cache' => FALSE,
Index: modules/filter/filter.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.install,v
retrieving revision 1.16
diff -u -r1.16 filter.install
--- modules/filter/filter.install	27 May 2009 18:33:57 -0000	1.16
+++ modules/filter/filter.install	19 Aug 2009 20:43:24 -0000
@@ -31,12 +31,12 @@
         'default' => '',
         'description' => 'The origin module of the filter.',
       ),
-      'delta' => array(
-        'type' => 'int',
+      'filter_id' => array(
+        'type' => 'varchar',
+        'length' => 32,
         'not null' => TRUE,
-        'default' => 0,
-        'size' => 'tiny',
-        'description' => 'ID to identify which filter within module is being referenced.',
+        'default' => '',
+        'description' => 'ID to identify which filter is being referenced.',
       ),
       'weight' => array(
         'type' => 'int',
@@ -48,10 +48,10 @@
     ),
     'primary key' => array('fid'),
     'unique keys' => array(
-      'fmd' => array('format', 'module', 'delta'),
+      'fmd' => array('format', 'module', 'filter_id'),
     ),
     'indexes' => array(
-      'list' => array('format', 'weight', 'module', 'delta'),
+      'list' => array('format', 'weight', 'module', 'filter_id'),
     ),
   );
   $schema['filter_format'] = array(
@@ -121,7 +121,7 @@
   foreach ($result as $format) {
     // Deprecated constants FILTER_HTML_STRIP = 1 and FILTER_HTML_ESCAPE = 2.
     if (variable_get('filter_html_' . $format->format, 1) == 2) {
-      $ret[] = update_sql("INSERT INTO {filters} (format, module, delta, weight) VALUES (" . $format->format . ", 'filter', 4, 0)");
+      $ret[] = update_sql("INSERT INTO {filters} (format, module, filter_id, weight) VALUES (" . $format->format . ", 'filter', 4, 0)");
     }
     variable_del('filter_html_' . $format->format);
   }
@@ -137,3 +137,14 @@
   db_rename_table($ret, 'filter_formats', 'filter_format');
   return $ret;
 }
+
+/**
+ * Remove hardcoded numeric deltas from all filters in core.
+ */
+function filter_update_7003() {
+  $ret = array();
+  //@TODO: @see: system_update_7004().
+  return $ret;
+}
+
+
Index: modules/filter/filter.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.test,v
retrieving revision 1.30
diff -u -r1.30 filter.test
--- modules/filter/filter.test	15 Aug 2009 06:45:31 -0000	1.30
+++ modules/filter/filter.test	19 Aug 2009 20:43:37 -0000
@@ -15,9 +15,9 @@
    */
   function testFilterAdmin() {
     // URL filter.
-    $first_filter = 2;
+    $first_filter = 'filter_url';
     // Line filter.
-    $second_filter = 1;
+    $second_filter =  'filter_autop';
 
     // Create users.
     $admin_user = $this->drupalCreateUser(array('administer filters'));
@@ -55,11 +55,11 @@
     $result = db_query('SELECT * FROM {filter} WHERE format = :format ORDER BY weight ASC', array(':format' => $filtered));
     $filters = array();
     foreach ($result as $filter) {
-      if ($filter->delta == $second_filter || $filter->delta == $first_filter) {
+      if ($filter->filter_id == $second_filter || $filter->filter_id == $first_filter) {
         $filters[] = $filter;
       }
     }
-    $this->assertTrue(($filters[0]->delta == $second_filter && $filters[1]->delta == $first_filter), t('Order confirmed.'));
+    $this->assertTrue(($filters[0]->filter_id == $second_filter && $filters[1]->filter_id == $first_filter), t('Order confirmed.'));
 
     // Add filter.
     $edit = array();
Index: modules/filter/filter.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v
retrieving revision 1.269
diff -u -r1.269 filter.module
--- modules/filter/filter.module	15 Aug 2009 06:45:31 -0000	1.269
+++ modules/filter/filter.module	19 Aug 2009 20:43:32 -0000
@@ -334,10 +334,10 @@
     $function = $module . '_filter_info';
     $info = $function('list');
     if (isset($info) && is_array($info)) {
-      foreach ($info as $delta => $filter) {
-        $filters[$module . '/' . $delta] = (object)($filter + array(
+      foreach ($info as $filter_id => $filter) {
+        $filters[$module . '/' . $filter_id] = (object)($filter + array(
           'module' => $module,
-          'delta' => $delta,
+          'filter_id' => $filter_id,
         ));
       }
     }
@@ -381,12 +381,12 @@
 
   if (!isset($filters[$format])) {
     $filters[$format] = array();
-    $result = db_query("SELECT * FROM {filter} WHERE format = :format ORDER BY weight, module, delta", array(':format' => (int) $format));
+    $result = db_query("SELECT * FROM {filter} WHERE format = :format ORDER BY weight, module, filter_id", array(':format' => (int) $format));
     foreach ($result as $filter) {
       $info = module_invoke($filter->module, 'filter_info');
-      if (isset($info) && is_array($info) && isset($info[$filter->delta])) {
-        $filter->name = $info[$filter->delta]['name'];
-        $filters[$format][$filter->module . '/' . $filter->delta] = $filter;
+      if (isset($info) && is_array($info) && isset($info[$filter->filter_id])) {
+        $filter->name = $info[$filter->filter_id]['name'];
+        $filters[$format][$filter->module . '/' . $filter->filter_id] = $filter;
       }
     }
   }
@@ -453,16 +453,16 @@
     // Give filters the chance to escape HTML-like data such as code or formulas.
     foreach ($filters as $filter) {
       $filter_info = module_invoke($filter->module, 'filter_info');
-      if (isset($filter_info[$filter->delta]['prepare callback']) && drupal_function_exists($filter_info[$filter->delta]['prepare callback'])) {
-        $text = call_user_func($filter_info[$filter->delta]['prepare callback'], $text, $format, $langcode, $cache_id);
+      if (isset($filter_info[$filter->filter_id]['prepare callback']) && drupal_function_exists($filter_info[$filter->filter_id]['prepare callback'])) {
+        $text = call_user_func($filter_info[$filter->filter_id]['prepare callback'], $text, $format, $langcode, $cache_id);
       }
     }
 
     // Perform filtering.
     foreach ($filters as $filter) {
       $filter_info = module_invoke($filter->module, 'filter_info');
-      if (isset($filter_info[$filter->delta]['process callback']) && drupal_function_exists($filter_info[$filter->delta]['process callback'])) {
-        $text = call_user_func($filter_info[$filter->delta]['process callback'], $text, $format, $langcode, $cache_id);
+      if (isset($filter_info[$filter->filter_id]['process callback']) && drupal_function_exists($filter_info[$filter->filter_id]['process callback'])) {
+        $text = call_user_func($filter_info[$filter->filter_id]['process callback'], $text, $format, $langcode, $cache_id);
       }
     }
 
@@ -573,8 +573,8 @@
     $tips[$format->name] = array();
     foreach ($filters as $id => $filter) {
       $filter_info = module_invoke($filter->module, 'filter_info');
-      if (isset($filter_info[$filter->delta]['tips callback']) && drupal_function_exists($filter_info[$filter->delta]['tips callback'])) {
-        $tip = call_user_func($filter_info[$filter->delta]['tips callback'],$format->format, $long);
+      if (isset($filter_info[$filter->filter_id]['tips callback']) && drupal_function_exists($filter_info[$filter->filter_id]['tips callback'])) {
+        $tip = call_user_func($filter_info[$filter->filter_id]['tips callback'],$format->format, $long);
         $tips[$format->name][] = array('tip' => $tip, 'id' => $id);
       }
     }
@@ -654,32 +654,32 @@
  */
 
 function filter_filter_info() {
-  $filters[0] = array(
+  $filters['filter_html'] = array(
     'name' => t('Limit allowed HTML tags'),
     'description' => t('Allows you to restrict the HTML tags the user can use. It will also remove harmful content such as JavaScript events, JavaScript URLs and CSS styles from those tags that are not removed.'),
     'process callback' => '_filter_html',
     'settings callback' => '_filter_html_settings',
     'tips callback'  => '_filter_html_tips'
   );
-  $filters[1] = array(
+  $filters['filter_autop'] = array(
     'name' => t('Convert line breaks'),
     'description' => t('Converts line breaks into HTML (i.e. &lt;br&gt; and &lt;p&gt;) tags.'),
     'process callback' => '_filter_autop',
     'tips callback' => '_filter_autop_tips'
   );
-  $filters[2] = array(
+  $filters['filter_url'] = array(
     'name' => t('Convert URLs into links'),
     'description' => t('Turns web and e-mail addresses into clickable links.'),
     'process callback' => '_filter_url',
     'settings callback' => '_filter_url_settings',
     'tips callback' => '_filter_url_tips'
   );
-  $filters[3] = array(
+  $filters['filter_htmlcorrector'] = array(
     'name' =>  t('Correct broken HTML'),
     'description' => t('Corrects faulty and chopped off HTML in postings.'),
     'process callback' => '_filter_htmlcorrector',
   );
-  $filters[4] = array(
+  $filters['filter_html_escape'] = array(
     'name' => t('Escape all HTML'),
     'description' => t('Escapes all HTML tags, so they will be visible instead of being effective.'),
     'process callback' => '_filter_html_escape',
Index: modules/filter/filter.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.admin.inc,v
retrieving revision 1.32
diff -u -r1.32 filter.admin.inc
--- modules/filter/filter.admin.inc	15 Aug 2009 06:50:29 -0000	1.32
+++ modules/filter/filter.admin.inc	19 Aug 2009 20:43:24 -0000
@@ -156,7 +156,7 @@
     $form['filters'][$id] = array('#type' => 'checkbox',
       '#title' => $filter->name,
       '#default_value' => isset($enabled[$id]),
-      '#description' => $filter_info[$filter->delta]['description'],
+      '#description' => $filter_info[$filter->filter_id]['description'],
     );
   }
   if (!empty($format->format)) {
@@ -217,20 +217,20 @@
   db_delete('filter')
     ->condition('format', $format)
     ->execute();
-  $query = db_insert('filter')->fields(array('format', 'module', 'delta', 'weight'));
+  $query = db_insert('filter')->fields(array('format', 'module', 'filter_id', 'weight'));
   foreach ($form_state['values']['filters'] as $id => $checked) {
     if ($checked) {
-      list($module, $delta) = explode('/', $id);
+      list($module, $filter_id) = explode('/', $id);
       // Add new filters to the bottom.
       $weight = isset($current[$id]->weight) ? $current[$id]->weight : 10;
       $query->values(array(
         'format' => $format,
         'module' => $module,
-        'delta'  => $delta,
+        'filter_id'  => $filter_id,
         'weight' => $weight,
       ));
       // Check if there are any 'no cache' filters.
-      $cache &= !module_invoke($module, 'filter', 'no cache', $delta);
+      $cache &= !module_invoke($module, 'filter', 'no cache', $filter_id);
     }
     $query->execute();
   }
@@ -352,8 +352,8 @@
   $form = array();
   foreach ($list as $filter) {
     $filter_info = module_invoke($filter->module, 'filter_info');
-    if (isset($filter_info[$filter->delta]['settings callback']) && drupal_function_exists($filter_info[$filter->delta]['settings callback'])) {
-      $form_module = call_user_func($filter_info[$filter->delta]['settings callback'], $format->format);
+    if (isset($filter_info[$filter->filter_id]['settings callback']) && drupal_function_exists($filter_info[$filter->filter_id]['settings callback'])) {
+      $form_module = call_user_func($filter_info[$filter->filter_id]['settings callback'], $format->format);
     }
     if (isset($form_module) && is_array($form_module)) {
       $form = array_merge($form, $form_module);
@@ -440,12 +440,12 @@
  */
 function filter_admin_order_submit($form, &$form_state) {
   foreach ($form_state['values']['weights'] as $id => $weight) {
-    list($module, $delta) = explode('/', $id);
+    list($module, $filter_id) = explode('/', $id);
     db_update('filter')
       ->fields(array('weight' => $weight))
       ->condition('format', $form_state['values']['format'])
       ->condition('module', $module)
-      ->condition('delta', $delta)
+      ->condition('filter_id', $filter_id)
       ->execute();
   }
   drupal_set_message(t('The filter ordering has been saved.'));
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.370
diff -u -r1.370 system.install
--- modules/system/system.install	17 Aug 2009 20:32:30 -0000	1.370
+++ modules/system/system.install	19 Aug 2009 20:44:00 -0000
@@ -423,33 +423,33 @@
 
   // Filtered HTML:
   db_insert('filter')
-    ->fields(array('format', 'module', 'delta', 'weight'))
+    ->fields(array('format', 'module', 'filter_id', 'weight'))
     // URL filter.
     ->values(array(
       'format' => $filtered_html_format,
       'module' => 'filter',
-      'delta' => 2,
+      'filter_id' => 'filter_url',
       'weight' => 0,
     ))
     // HTML filter.
     ->values(array(
       'format' => $filtered_html_format,
       'module' => 'filter',
-      'delta' => 0,
+      'filter_id' => 'filter_html',
       'weight' => 1,
     ))
     // Line break filter.
     ->values(array(
       'format' => $filtered_html_format,
       'module' => 'filter',
-      'delta' => 1,
+      'filter_id' => 'filter_autop',
       'weight' => 2,
     ))
     // HTML corrector filter.
     ->values(array(
       'format' => $filtered_html_format,
       'module' => 'filter',
-      'delta' => 3,
+      'filter_id' => 'filter_htmlcorrector',
       'weight' => 10,
     ))
   // Full HTML:
@@ -457,21 +457,21 @@
     ->values(array(
       'format' => $full_html_format,
       'module' => 'filter',
-      'delta' => 2,
-      'weight' => 0,
+      'filter_id' => 'filter_url',
+       'weight' => 0,
     ))
     // Line break filter.
     ->values(array(
       'format' => $full_html_format,
       'module' => 'filter',
-      'delta' => 1,
+      'filter_id' => 'filter_autop',
       'weight' => 1,
     ))
     // HTML corrector filter.
     ->values(array(
       'format' => $full_html_format,
       'module' => 'filter',
-      'delta' => 3,
+      'filter_id' => 'filter_htmlcorrector',
       'weight' => 10,
     ))
     ->execute();
Index: modules/field/modules/text/text.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/modules/text/text.module,v
retrieving revision 1.18
diff -u -r1.18 text.module
--- modules/field/modules/text/text.module	19 Aug 2009 13:31:13 -0000	1.18
+++ modules/field/modules/text/text.module	19 Aug 2009 20:43:19 -0000
@@ -406,7 +406,7 @@
   // parse errors.
   if (isset($format)) {
     $filters = filter_list_format($format);
-    if (isset($filters['php/0']) && strpos($text, '<?') !== FALSE) {
+    if (isset($filters['php/php_code']) && strpos($text, '<?') !== FALSE) {
       return $text;
     }
   }
@@ -445,7 +445,7 @@
   $line_breaks = array('<br />' => 6, '<br>' => 4);
   // Newline only indicates a line break if line break converter
   // filter is present.
-  if (isset($filters['filter/1'])) {
+  if (isset($filters['filter/filter_autop'])) {
     $line_breaks["\n"] = 1;
   }
   $break_points[] = $line_breaks;
@@ -473,7 +473,7 @@
   }
 
   // If the htmlcorrector filter is present, apply it to the generated summary.
-  if (isset($filters['filter/3'])) {
+  if (isset($filters['filter/filter_htmlcorrector'])) {
     $summary = _filter_htmlcorrector($summary);
   }
 
