Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.686
diff -u -d -F^\s*function -r1.686 node.module
--- modules/node/node.module	25 Aug 2006 09:01:12 -0000	1.686
+++ modules/node/node.module	26 Aug 2006 10:10:09 -0000
@@ -742,14 +742,20 @@ function node_show($node, $cid) {
  * Implementation of hook_perm().
  */
 function node_perm() {
-  $perms = array('administer content types', 'administer nodes', 'access content', 'view revisions', 'revert revisions');
+  $perms = array(
+    'administer content types' => t('Add and remove simple content types and change the name of any content type.'), 
+    'administer nodes' => t('Edit and delete arbitrary posts.'),
+    'access content' => t('View published posts.'), 
+    'view revisions' => t('View all revisions of a node.'), 
+    'revert revisions' => t('Roll posts back to an older revision.')
+  );
 
   foreach (node_get_types() as $type) {
     if ($type->module == 'node') {
       $name = check_plain($type->name);
-      $perms[] = 'create '. $name .' content';
-      $perms[] = 'edit own '. $name .' content';
-      $perms[] = 'edit '. $name .' content';
+      $perms['create '. $name .' content'] = t('Create posts with the content type %type.', array('%type' => t($name)));
+      $perms['edit own '. $name .' content'] = t('Edit posts with the content type %type the user has created.', array('%type' => t($name)));
+      $perms['edit '. $name .' content'] = t('Edit any post with the content type %type.', array('%type' => t($name)));
     }
   }
 
Index: modules/user/user.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.css,v
retrieving revision 1.2
diff -u -d -F^\s*function -r1.2 user.css
--- modules/user/user.css	17 Aug 2006 19:19:15 -0000	1.2
+++ modules/user/user.css	26 Aug 2006 10:10:09 -0000
@@ -6,6 +6,9 @@
 #permissions td.permission {
   padding-left: 1.5em;
 }
+#permissions .description {
+  font-size: 0.85em;
+}
 #access-rules .access-type, #access-rules .rule-type {
   margin-right: 1em;
   float: left;
Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.661
diff -u -d -F^\s*function -r1.661 user.module
--- modules/user/user.module	25 Aug 2006 09:01:12 -0000	1.661
+++ modules/user/user.module	26 Aug 2006 10:10:19 -0000
@@ -402,7 +402,12 @@ function user_fields() {
  * Implementation of hook_perm().
  */
 function user_perm() {
-  return array('administer access control', 'administer users', 'access user profiles', 'change own username');
+  return array(
+    'administer access control' => t('Manage the permissions for roles.'), 
+    'administer users' => t('Delete, block or add users and manage their roles.'),  
+    'access user profiles' => t('View user profiles.'), 
+    'change own username' => t('The permission to change the own username.')
+  );
 }
 
 /**
@@ -1785,10 +1790,14 @@ function user_admin_perm($str_rids = NUL
   foreach (module_list(FALSE, FALSE, TRUE) as $module) {
     if ($permissions = module_invoke($module, 'perm')) {
       $form['permission'][] = array('#type' => 'markup', '#value' => t('@module module', array('@module' => $module)));
-      asort($permissions);
-      foreach ($permissions as $perm) {
+      ksort($permissions); 
+      foreach ($permissions as $perm => $description) {
+        if (is_int($perm)) {
+          $perm = $description;
+          $description = NULL;
+        }
         $options[$perm] = '';
-        $form['permission'][$perm] = array('#type' => 'markup', '#value' => t($perm));
+        $form['permission'][$perm] = array('#type' => 'markup', '#value' => t($perm) . (!is_null($description) ? '<div class="description">'. $description .'</div>' : ''));
         foreach ($role_names as $rid => $name) {
           // Builds arrays for checked boxes for each role
           if (strstr($role_permissions[$rid], $perm)) {
