Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1131
diff -u -p -r1.1131 user.module
--- modules/user/user.module	2 Mar 2010 09:12:31 -0000	1.1131
+++ modules/user/user.module	4 Mar 2010 04:45:47 -0000
@@ -344,7 +344,6 @@ function user_save($account, $edit = arr
   $transaction = db_transaction();
   try {
     $table = drupal_get_schema('users');
-    $user_fields = $table['fields'];
 
     if (!empty($edit['pass'])) {
       // Allow alternate password hashing schemes.
@@ -372,33 +371,11 @@ function user_save($account, $edit = arr
     user_module_invoke('presave', $edit, $account, $category);
 
     if (is_object($account) && !$account->is_new) {
-      $data = unserialize(db_query('SELECT data FROM {users} WHERE uid = :uid', array(':uid' => $account->uid))->fetchField());
       // Consider users edited by an administrator as logged in, if they haven't
       // already, so anonymous users can view the profile (if allowed).
       if (empty($edit['access']) && empty($account->access) && user_access('administer users')) {
         $edit['access'] = REQUEST_TIME;
       }
-      // Find the fields attached to this user.
-      $field_names = array();
-      list(, , $bundle) = entity_extract_ids('user', (object) $edit);
-      foreach (field_info_instances('user', $bundle) as $instance) {
-        $field = field_info_field_by_id($instance['field_id']);
-        $field_names[] = $field['field_name'];
-      }
-
-      foreach ($edit as $key => $value) {
-        // Form fields that don't pertain to the users, user_roles, or
-        // Field API are automatically serialized into the users.data
-        // column.
-        if (!in_array($key, array('roles', 'is_new')) && empty($user_fields[$key]) && empty($field_names[$key])) {
-          if ($value === NULL) {
-            unset($data[$key]);
-          }
-          else {
-            $data[$key] = $value;
-          }
-        }
-      }
 
       // Process picture uploads.
       if (!empty($edit['picture']->fid)) {
@@ -421,7 +398,6 @@ function user_save($account, $edit = arr
       }
       $edit['picture'] = empty($edit['picture']->fid) ? 0 : $edit['picture']->fid;
 
-      $edit['data'] = $data;
       // Do not allow 'uid' to be changed.
       $edit['uid'] = $account->uid;
       // Save changes to the user table.
@@ -521,22 +497,6 @@ function user_save($account, $edit = arr
       user_module_invoke('insert', $edit, $user, $category);
       entity_invoke('insert', 'user', $user);
 
-      // Note, we wait with saving the data column to prevent module-handled
-      // fields from being saved there.
-      $data = array();
-      foreach ($edit as $key => $value) {
-        // Form fields that don't pertain to the users, user_roles, or
-        // Field API are automatically serialized into the user.data
-        // column.
-        if ((!in_array($key, array('roles', 'is_new'))) && (empty($user_fields[$key]) && empty($field_form[$key])) && ($value !== NULL)) {
-          $data[$key] = $value;
-        }
-      }
-      if (!empty($data)) {
-        $data_array = array('uid' => $user->uid, 'data' => $data);
-        drupal_write_record('users', $data_array, 'uid');
-      }
-
       // Save user roles (delete just to be safe).
       if (isset($edit['roles']) && is_array($edit['roles'])) {
         db_delete('users_roles')
@@ -1158,10 +1118,6 @@ function user_user_presave(&$edit, $acco
     elseif (!empty($edit['picture_delete'])) {
       $edit['picture'] = NULL;
     }
-    // Remove these values so they don't end up serialized in the data field.
-    $edit['picture_upload'] = NULL;
-    $edit['picture_delete'] = NULL;
-
     // Prepare user roles.
     if (isset($edit['roles'])) {
       $edit['roles'] = array_filter($edit['roles']);
Index: modules/user/user.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.pages.inc,v
retrieving revision 1.68
diff -u -p -r1.68 user.pages.inc
--- modules/user/user.pages.inc	28 Feb 2010 20:10:34 -0000	1.68
+++ modules/user/user.pages.inc	4 Mar 2010 04:45:47 -0000
@@ -287,8 +287,6 @@ function user_profile_form_validate($for
 function user_profile_form_submit($form, &$form_state) {
   $account = $form['#user'];
   $category = $form['#user_category'];
-  // Remove unneeded values.
-  form_state_values_clean($form_state);
 
   $edit = (object)$form_state['values'];
   field_attach_submit('user', $edit, $form, $form_state);
