Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.703
diff -u -p -r1.703 comment.module
--- modules/comment/comment.module	20 Apr 2009 21:28:13 -0000	1.703
+++ modules/comment/comment.module	23 Apr 2009 08:20:11 -0000
@@ -447,7 +447,7 @@ function comment_node_view($node, $tease
         }
         else {
           if ($node->comment == COMMENT_NODE_OPEN) {
-            if (user_access('post comments')) {
+            if (user_access('post comments') || user_access('post comments without approval')) {
               $links['comment_add'] = array(
                 'title' => t('Add new comment'),
                 'href' => "comment/reply/$node->nid",
@@ -466,7 +466,7 @@ function comment_node_view($node, $tease
       // Node page: add a "post comment" link if the user is allowed to post comments,
       // if this node is not read-only, and if the comment form isn't already shown.
       if ($node->comment == COMMENT_NODE_OPEN) {
-        if (user_access('post comments')) {
+        if (user_access('post comments') || user_access('post comments without approval')) {
           if (variable_get('comment_form_location_' . $node->type, COMMENT_FORM_SEPARATE_PAGE) == COMMENT_FORM_SEPARATE_PAGE) {
             $links['comment_add'] = array(
               'title' => t('Add new comment'),
@@ -816,7 +816,7 @@ function comment_node_url() {
 function comment_save($edit) {
   global $user;
   $node = node_load($edit['nid']);
-  if (user_access('post comments') && (user_access('administer comments') || $node->comment == COMMENT_NODE_OPEN)) {
+  if ((user_access('post comments') || user_access('post comments without approval')) && (user_access('administer comments') || $node->comment == COMMENT_NODE_OPEN)) {
     if (!form_get_errors()) {
       $edit += array(
         'mail' => '',
@@ -982,7 +982,7 @@ function comment_links($comment, $return
 
   $node = node_load($comment->nid);
   if ($node->comment == COMMENT_NODE_OPEN) {
-    if (user_access('administer comments') && user_access('post comments')) {
+    if (user_access('administer comments') && (user_access('post comments') || user_access('post comments without approval'))) {
       $links['comment_delete'] = array(
         'title' => t('delete'),
         'href' => "comment/delete/$comment->cid"
@@ -1002,7 +1002,7 @@ function comment_links($comment, $return
         );
       }
     }
-    elseif (user_access('post comments')) {
+    elseif (user_access('post comments') || user_access('post comments without approval')) {
       if (comment_access('edit', $comment)) {
         $links['comment_edit'] = array(
           'title' => t('edit'),
@@ -1199,7 +1199,7 @@ function comment_render($node, $cid = 0)
 
     // If enabled, show new comment form if it's not already being displayed.
     $reply = arg(0) == 'comment' && arg(1) == 'reply';
-    if (user_access('post comments') && $node->comment == COMMENT_NODE_OPEN && (variable_get('comment_form_location_' . $node->type, COMMENT_FORM_SEPARATE_PAGE) == COMMENT_FORM_BELOW) && !$reply) {
+    if ((user_access('post comments') || user_access('post comments without approval')) && $node->comment == COMMENT_NODE_OPEN && (variable_get('comment_form_location_' . $node->type, COMMENT_FORM_SEPARATE_PAGE) == COMMENT_FORM_BELOW) && !$reply) {
       $output .= theme('comment_form_box', array('nid' => $nid), t('Post new comment'));
     }
     if ($output) {
Index: modules/comment/comment.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.pages.inc,v
retrieving revision 1.17
diff -u -p -r1.17 comment.pages.inc
--- modules/comment/comment.pages.inc	20 Apr 2009 21:28:14 -0000	1.17
+++ modules/comment/comment.pages.inc	23 Apr 2009 08:20:11 -0000
@@ -57,7 +57,7 @@ function comment_reply($node, $pid = NUL
   if (user_access('access comments')) {
     // The user is previewing a comment prior to submitting it.
     if ($op == t('Preview')) {
-      if (user_access('post comments')) {
+      if (user_access('post comments') || user_access('post comments without approval')) {
         $output .= theme('comment_form_box', array('pid' => $pid, 'nid' => $node->nid), NULL);
       }
       else {
@@ -100,7 +100,7 @@ function comment_reply($node, $pid = NUL
         drupal_set_message(t("This discussion is closed: you can't post new comments."), 'error');
         drupal_goto("node/$node->nid");
       }
-      elseif (user_access('post comments')) {
+      elseif (user_access('post comments') || user_access('post comments without approval')) {
         $output .= theme('comment_form_box', array('pid' => $pid, 'nid' => $node->nid), t('Reply'));
       }
       else {
