Index: misc/drupal.css
===================================================================
RCS file: /cvs/drupal/drupal/misc/drupal.css,v
retrieving revision 1.123
diff -u -F^function -r1.123 drupal.css
--- misc/drupal.css	11 Oct 2005 19:52:34 -0000	1.123
+++ misc/drupal.css	16 Oct 2005 09:57:21 -0000
@@ -365,6 +365,9 @@
 #permissions td.permission, #blocks td.block, #taxonomy td.term, #taxonomy td.message {
   padding-left: 1.5em;
 }
+#permissions .description {
+  font-size: 0.85em;
+}
 
 #access-rules .access-type, #access-rules .rule-type {
   margin-right: 1em;
Index: modules/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node.module,v
retrieving revision 1.536
diff -u -F^function -r1.536 node.module
--- modules/node.module	13 Oct 2005 10:02:31 -0000	1.536
+++ modules/node.module	16 Oct 2005 09:57:23 -0000
@@ -587,7 +587,8 @@ function node_show($node, $cid) {
  * Implementation of hook_perm().
  */
 function node_perm() {
-  return array('administer nodes', 'access content');
+  return array('administer nodes' => t('Allows the user to edit or delete arbitrary nodes.'),
+               'access content'   => t('Allows the user to view a given node.'));
 }
 
 /**
Index: modules/page.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/page.module,v
retrieving revision 1.140
diff -u -F^function -r1.140 page.module
--- modules/page.module	11 Oct 2005 19:44:35 -0000	1.140
+++ modules/page.module	16 Oct 2005 09:57:23 -0000
@@ -22,7 +22,7 @@ function page_help($section) {
  * Implementation of hook_perm().
  */
 function page_perm() {
-  return array('create pages', 'edit own pages');
+  return array('create pages' => t('Allows users to create new page nodes.'), 'edit own pages');
 }
 
 /**
Index: modules/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user.module,v
retrieving revision 1.520
diff -u -F^function -r1.520 user.module
--- modules/user.module	13 Oct 2005 10:39:56 -0000	1.520
+++ modules/user.module	16 Oct 2005 09:57:27 -0000
@@ -1568,10 +1568,19 @@ function user_admin_perm() {
   foreach (module_list() 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) {
+      $permdesc = array();
+      foreach ($permissions as $permkey => $perm) {
+        if (is_string($permkey)) {
+          $permdesc[] = array($permkey, $perm);
+        } else {
+          $permdesc[] = array($perm, '');
+        }
+      }
+      asort($permdesc);
+      foreach ($permdesc as $perm) {
+        list($perm, $description) = $perm;
         $options[$perm] = '';
-        $form['permission'][$perm] = array('#type' => 'markup', '#value' => t($perm));
+        $form['permission'][$perm] = array('#type' => 'markup', '#value' => t($perm) . (strlen($description) ? '<div class="description">' . t($description) . '</div>' : '') );
         foreach ($role_names as $rid => $name) {
           // Builds arrays for checked boxes for each role
           if (strstr($role_permissions[$rid], $perm)) {
k
