Index: user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.module,v retrieving revision 1.1014 diff -u -r1.1014 user.module --- modules/user/user.module 28 Jul 2009 19:32:33 -0000 1.1014 +++ modules/user/user.module 30 Jul 2009 17:18:17 -0000 @@ -2751,6 +2751,7 @@ */ function user_register_submit($form, &$form_state) { global $base_url; + global $language; $admin = user_access('administer users'); $mail = $form_state['values']['mail']; @@ -2781,6 +2782,11 @@ unset($form_state['values']['form_token'], $form_state['values']['submit'], $form_state['values']['op'], $form_state['values']['notify'], $form_state['values']['form_id'], $form_state['values']['affiliates'], $form_state['values']['destination'], $form_state['values']['form_build_id']); $merge_data = array('pass' => $pass, 'init' => $mail, 'roles' => $roles); + + if (empty($form_state['values']['language'])) { + $merge_data['language'] = $language->language; + } + if (!$admin) { // Set the user's status because it was not displayed in the form. $merge_data['status'] = variable_get('user_register', 1) == 1; Index: user.test =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.test,v retrieving revision 1.49 diff -u -r1.49 user.test --- modules/user/user.test 28 Jul 2009 19:18:08 -0000 1.49 +++ modules/user/user.test 30 Jul 2009 17:30:14 -0000 @@ -44,7 +44,9 @@ $this->assertTrue(($user->created > REQUEST_TIME - 20 ), t('Correct creation time.')); $this->assertEqual($user->status, variable_get('user_register', 1) == 1 ? 1 : 0, t('Correct status field.')); $this->assertEqual($user->timezone, variable_get('date_default_timezone'), t('Correct time zone field.')); - $this->assertEqual($user->language, '', t('Correct language field.')); + //Get the global language and test if the new user has it set. DrupalTestCase sets up a new Drupal with "en" set as default language. + global $language; + $this->assertEqual($user->language, $language->language, t('Correct language field.')); $this->assertEqual($user->picture, '', t('Correct picture field.')); $this->assertEqual($user->init, $mail, t('Correct init field.'));