Index: trunk/wp-includes/category-template.php
===================================================================
--- trunk/wp-includes/category-template.php	(revision 10896)
+++ trunk/wp-includes/category-template.php	(working copy)
@@ -799,6 +799,23 @@
 }
 
 /**
+ * Retrieve tag description.
+ *
+ * @since 2.8
+ *
+ * @param int $tag Optional. Tag ID. Will use global tag ID by default.
+ * @return string Tag description, available.
+ */
+function tag_description( $tag = 0 ) {
+	$tag_id = intval( get_query_var('tag_id') );
+
+	if ( !$tag )
+		$tag = $tag_id;
+
+	return get_term_field( 'description', $tag, 'post_tag' );
+}
+
+/**
  * Retrieve the terms of the taxonomy that are attached to the post.
  *
  * This function can only be used within the loop.
Index: trunk/wp-admin/admin-ajax.php
===================================================================
--- trunk/wp-admin/admin-ajax.php	(revision 10896)
+++ trunk/wp-admin/admin-ajax.php	(working copy)
@@ -1169,6 +1169,9 @@
 			else
 				$taxonomy = 'post_tag';
 
+			$tag = get_term( $id, $taxonomy );
+			$_POST['description'] = $tag->description;
+
 			$updated = wp_update_term($id, $taxonomy, $_POST);
 			if ( $updated && !is_wp_error($updated) ) {
 				$tag = get_term( $updated['term_id'], $taxonomy );
Index: trunk/wp-admin/edit-tags.php
===================================================================
--- trunk/wp-admin/edit-tags.php	(revision 10896)
+++ trunk/wp-admin/edit-tags.php	(working copy)
@@ -287,6 +287,12 @@
 	<p><?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.'); ?></p>
 </div>
 
+<div class="form-field">
+	<label for="tag_description"><?php _e('Description') ?></label>
+	<textarea name="description" id="tag_description" rows="5" cols="40"></textarea>
+    <p><?php _e('The description is not prominent by default, however some themes may show it.'); ?></p>
+</div>
+
 <p class="submit"><input type="submit" class="button" name="submit" value="<?php _e('Add Tag'); ?>" /></p>
 <?php do_action('add_tag_form'); ?>
 </form></div>
Index: trunk/wp-admin/edit-tag-form.php
===================================================================
--- trunk/wp-admin/edit-tag-form.php	(revision 10896)
+++ trunk/wp-admin/edit-tag-form.php	(working copy)
@@ -34,6 +34,11 @@
 			<td><input name="slug" id="slug" type="text" value="<?php if ( isset( $tag->slug ) ) echo attribute_escape(apply_filters('editable_slug', $tag->slug)); ?>" size="40" />
             <p><?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.'); ?></p></td>
 		</tr>
+		<tr class="form-field">
+			<th scope="row" valign="top"><label for="tag_description"><?php _e('Description') ?></label></th>
+			<td><textarea name="description" id="tag_description" rows="5" cols="50" style="width: 97%;"><?php echo wp_specialchars($tag->description); ?></textarea><br />
+            <?php _e('The description is not prominent by default, however some themes may show it.'); ?></td>
+		</tr>
 	</table>
 <p class="submit"><input type="submit" class="button-primary" name="submit" value="<?php _e('Update Tag'); ?>" /></p>
 <?php do_action('edit_tag_form', $tag); ?>
