? .cache
? .settings
Index: modules/taxonomy/taxonomy.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.admin.inc,v
retrieving revision 1.90
diff -u -p -r1.90 taxonomy.admin.inc
--- modules/taxonomy/taxonomy.admin.inc	8 Jan 2010 16:54:06 -0000	1.90
+++ modules/taxonomy/taxonomy.admin.inc	8 Jan 2010 23:43:00 -0000
@@ -643,13 +643,16 @@ function taxonomy_form_term($form, &$for
     '#title' => t('Term name'),
     '#default_value' => $edit['name'],
     '#maxlength' => 255,
-    '#required' => TRUE);
+    '#required' => TRUE,
+    '#weight' => -5,
+  );
   $form['description'] = array(
     '#type' => 'textarea',
     '#title' => t('Description'),
     '#default_value' => $edit['description'],
     '#description' => t('A description of the term. To be displayed on taxonomy/term pages and RSS feeds.'),
     '#text_format' => $edit['format'],
+    '#weight' => 0,
   );
 
   $form['vocabulary_machine_name'] = array(
Index: modules/taxonomy/taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.560
diff -u -p -r1.560 taxonomy.module
--- modules/taxonomy/taxonomy.module	8 Jan 2010 16:54:06 -0000	1.560
+++ modules/taxonomy/taxonomy.module	9 Jan 2010 00:21:36 -0000
@@ -129,6 +129,30 @@ function taxonomy_entity_info() {
 }
 
 /**
+ * Implements hook_field_extra_fields().
+ */
+function taxonomy_field_extra_fields() {
+  $return = array();
+
+  foreach (taxonomy_vocabulary_get_names() as $machine_name => $vocabulary) {
+    $return['taxonomy_term'][$machine_name] = array(
+      'name' => array(
+        'label' => t('Name'),
+        'description' => t('Term name textfield'),
+        'weight' => -5,
+      ),
+      'description' => array(
+        'label' => t('Description'),
+        'description' => t('Term description textarea'),
+        'weight' => 0,
+      )
+    );
+  }
+
+  return $return;
+}
+
+/**
  * Return nodes attached to a term across all field instances.
  *
  * This function requires taxonomy module to be maintaining its own tables,
@@ -555,6 +579,36 @@ function taxonomy_term_delete($tid) {
   return SAVED_DELETED;
 }
 
+
+/**
+ * Generate an array for rendering the given term.
+ *
+ * @param $term
+ *   A term object.
+ * @param $view_mode
+ *   View mode, e.g. 'full', 'teaser'...
+ *
+ * @return
+ *   An array as expected by drupal_render().
+ */
+function taxonomy_term_view($term, $view_mode = 'full') {
+  $build = array();
+
+  field_attach_prepare_view('taxonomy_term', array($term->tid => $term), $view_mode);
+  $build += field_attach_view('taxonomy_term', $term, $view_mode);
+
+  $build['term_description'] = array(
+    '#markup' => check_markup($term->description, $term->format, '', TRUE),
+    '#weight' => 0,
+    '#prefix' => '<div class="taxonomy-term-description">',
+    '#suffix' => '</div>',
+  );
+
+  $build['#attached']['css'] = array(drupal_get_path('module', 'taxonomy') . '/taxonomy.css');
+
+  return $build;
+}
+
 /**
  * Clear all static cache variables for terms..
  */
Index: modules/taxonomy/taxonomy.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.pages.inc,v
retrieving revision 1.47
diff -u -p -r1.47 taxonomy.pages.inc
--- modules/taxonomy/taxonomy.pages.inc	8 Jan 2010 16:54:06 -0000	1.47
+++ modules/taxonomy/taxonomy.pages.inc	9 Jan 2010 00:23:06 -0000
@@ -30,15 +30,10 @@ function taxonomy_term_page($term) {
   drupal_add_feed(url('taxonomy/term/' . $term->tid . '/feed'), 'RSS - ' . $term->name);
   drupal_add_css(drupal_get_path('module', 'taxonomy') . '/taxonomy.css');
 
-  field_attach_prepare_view('taxonomy_term', array($term->tid => $term), 'full');
   $build = array();
-  $build += field_attach_view('taxonomy_term', $term);
-  $build['term_description'] = array(
-    '#markup' => check_markup($term->description, $term->format, '', TRUE),
-    '#weight' => -1,
-    '#prefix' => '<div class="taxonomy-term-description">',
-    '#suffix' => '</div>',
-  );
+
+  $build['term'] = taxonomy_term_view($term, 'full');
+
   if ($nids = taxonomy_select_nodes($term->tid, TRUE, variable_get('default_nodes_main', 10))) {
     $nodes = node_load_multiple($nids);
     $build += node_view_multiple($nodes);
