When an annonymous user tries to access the page http://drupal.org/node/add, obtanins the unfinished message:

    Create content
    Choose the appropriate item from the list:

If you wish to put a direct access in a menu to add content, you will find this problem with annonymous users.

Next simple patch, that applies to 4.3.2, will automatically detect if user has not privileges to post content and advise to login or register.

@@ -1235,8 +1235,10 @@
     ** Compile a list with the different node types and their explanation:
     */
+    $count=0;
     foreach (module_list() as $name) {
       if (module_hook($name, "node") && node_access("create", $name)) {
+       $count = $count+1;
         $output .= "<li>";
         $output .= " ". l(module_invoke($name, "node", "name"), "node/add/$name", array("title" => t("Add a new %s.", array("%s" => module_invoke($name, "node", "name")))));
         $output .= " <div style="margin-left: 20px;">". module_invoke($name, "node", "description") ."</div>";
@@ -1244,7 +1246,12 @@
       }
     }
-    $output = t("Choose the appropriate item from the list:") ."<ul>$output</ul>";
+    if($count>0) {
+      $output = t("Choose the appropriate item from the list:") ."<ul>$output</ul>";
+    }
+    else {
+      $output = t("You have not privileges to post content. Please, %login or %register.", array("%login" => l(t("login"), "user/login"), "%register" => l(t("register"), "user/register")));
+    }
   }