Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.131
diff -u -r1.131 menu.inc
--- includes/menu.inc	13 Jul 2006 05:32:22 -0000	1.131
+++ includes/menu.inc	13 Jul 2006 14:22:09 -0000
@@ -661,7 +661,8 @@
     foreach ($menu['visible'][$pid]['children'] as $mid) {
       $type = isset($menu['visible'][$mid]['type']) ? $menu['visible'][$mid]['type'] : NULL;
       $children = isset($menu['visible'][$mid]['children']) ? $menu['visible'][$mid]['children'] : NULL;
-      $output .= theme('menu_item', $mid, menu_in_active_trail($mid) || ($type & MENU_EXPANDED) ? theme('menu_tree', $mid) : '', count($children) == 0);
+      $class = isset($menu['items'][$mid]['class']) ? $menu['items'][$mid]['class'] : NULL;
+      $output .= theme('menu_item', $mid, menu_in_active_trail($mid) || ($type & MENU_EXPANDED) ? theme('menu_tree', $mid) : '', count($children) == 0, $class);
     }
   }
 
@@ -680,8 +681,8 @@
  *
  * @ingroup themeable
  */
-function theme_menu_item($mid, $children = '', $leaf = TRUE) {
-  return '<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
+function theme_menu_item($mid, $children = '', $leaf = TRUE, $class = NULL) {
+  return '<li class="'. ($leaf ? 'leaf'. : ($children ? 'expanded' : 'collapsed')) . ($class ? ' '. $class : '') .'">'. menu_item_link($mid) . $children ."</li>\n";
 }
 
 /**
Index: modules/menu/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.module,v
retrieving revision 1.75
diff -u -r1.75 menu.module
--- modules/menu/menu.module	22 Jun 2006 09:50:57 -0000	1.75
+++ modules/menu/menu.module	13 Jul 2006 14:22:38 -0000
@@ -563,7 +563,7 @@
     while ($item['mid'] <= 2) {
       $item['mid'] = db_next_id('{menu}_mid');
     }
-    db_query("INSERT INTO {menu} (mid, pid, path, title, description, weight, type) VALUES (%d, %d, '%s', '%s', '%s', %d, %d)", $item['mid'], $item['pid'], $item['path'], $item['title'], $item['description'], $item['weight'], $item['type']);
+    db_query("INSERT INTO {menu} (mid, pid, path, title, description, class, weight, type) VALUES (%d, %d, '%s', '%s', '%s', '%s', %d, %d)", $item['mid'], $item['pid'], $item['path'], $item['title'], $item['description'], $item['class'], $item['weight'], $item['type']);
     return SAVED_NEW;
   }
 }
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.1
diff -u -r1.1 system.install
--- modules/system/system.install	13 Jul 2006 13:11:37 -0000	1.1
+++ modules/system/system.install	13 Jul 2006 14:22:15 -0000
@@ -139,6 +139,7 @@
         path varchar(255) NOT NULL default '',
         title varchar(255) NOT NULL default '',
         description varchar(255) NOT NULL default '',
+        class varchar(50) NOT NULL default '',
         weight tinyint(4) NOT NULL default '0',
         type int(2) unsigned NOT NULL default '0',
         PRIMARY KEY (mid)
