Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.922
diff -u -F^f -p -r1.922 common.inc
--- includes/common.inc	13 Jun 2009 19:28:57 -0000	1.922
+++ includes/common.inc	17 Jun 2009 02:57:07 -0000
@@ -2095,17 +2095,22 @@ function url($path = NULL, array $option
  * Format an attribute string to insert in a tag.
  *
  * @param $attributes
- *   An associative array of HTML attributes.
+ *   An associative array of HTML attributes. If an attribute value is itself
+ * an array, then its values are imploded using a space as delimiter (e.g. 
+ * a multiple value <em>class</em> attribute).
  * @return
  *   An HTML string ready for insertion in a tag.
  */
 function drupal_attributes($attributes = array()) {
-  if (is_array($attributes)) {
-    $t = '';
-    foreach ($attributes as $key => $value) {
-      $t .= " $key=" . '"' . check_plain($value) . '"';
+  if (!empty($attributes)) {
+    $items = array();
+    foreach ($attributes as $attribute => $data) {
+      if (is_array($data)) {
+        $data = implode(' ', $data);
+      }
+      $items[] = $attribute . '="' . $data . '"';
     }
-    return $t;
+    return ' ' . implode(' ', $items);
   }
 }
 
