Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.34
diff -u -r1.34 form.inc
--- includes/form.inc	16 Dec 2005 06:23:46 -0000	1.34
+++ includes/form.inc	19 Dec 2005 07:45:20 -0000
@@ -419,12 +419,24 @@
     if (is_array($choice)) {
       $select .= '<optgroup label="'. $key .'">';
       foreach ($choice as $key => $choice) {
-        $select .= '<option value="'. $key .'"'. (is_array($element['#value']) ? (in_array($key, $element['#value']) ? ' selected="selected"' : '') : ($element['#value'] == $key ? ' selected="selected"' : '')) .'>'. check_plain($choice) .'</option>';
+        if (is_array($element['#value'])) {
+          $selected = in_array($key, $element['#value']) ? ' selected="selected"' : '';
+        }
+        else {
+          $selected = ($element['#value'] == (string) $key) ? ' selected="selected"' : '';
+        }
+        $select .= '<option value="'. $key .'"'. $selected .'>'. check_plain($choice) .'</option>';
       }
       $select .= '</optgroup>';
     }
     else {
-      $select .= '<option value="'. $key .'"'. (is_array($element['#value']) ? (in_array($key, $element['#value']) ? ' selected="selected"' : '') : ($element['#value'] == $key ? ' selected="selected"' : '')) .'>'. check_plain($choice) .'</option>';
+      if (is_array($element['#value'])) {
+        $selected = in_array($key, $element['#value']) ? ' selected="selected"' : '';
+      }
+      else {
+        $selected = ($element['#value'] == (string) $key) ? ' selected="selected"' : '';
+      }
+      $select .= '<option value="'. $key .'"'. $selected .'>'. check_plain($choice) .'</option>';
     }
   }
   return theme('form_element', $element['#title'], '<select name="'. $element['#name'] .''. ($element['#multiple'] ? '[]' : '') .'"'. ($element['#multiple'] ? ' multiple="multiple" ' : '') . drupal_attributes($element['#attributes']) .' id="' . $element['#id'] .'" '. $size .'>'. $select .'</select>', $element['#description'], $element['#id'], $element['#required'], form_get_error($element));

