Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.299
diff -u -p -r1.299 menu.inc
--- includes/menu.inc	31 Oct 2008 02:18:22 -0000	1.299
+++ includes/menu.inc	4 Nov 2008 14:15:51 -0000
@@ -172,6 +172,19 @@ define('MENU_DEFAULT_LOCAL_TASK', MENU_I
  */
 
 /**
+ * @name Menu (router) item flags
+ * @{
+ * Access callback placeholders for always or never allowing access.
+ */
+
+define('MENU_ACCESS_ALWAYS', '+');
+define('MENU_ACCESS_NEVER', '-');
+
+/**
+ * @} End of "Menu (router) item flags".
+ */
+
+/**
  * @name Menu status codes
  * @{
  * Status codes for menu callbacks.
@@ -490,8 +503,8 @@ function _menu_check_access(&$item, $map
   // user has access to this path.
   $callback = empty($item['access_callback']) ? 0 : trim($item['access_callback']);
   // Check for a TRUE or FALSE value.
-  if (is_numeric($callback)) {
-    $item['access'] = (bool)$callback;
+  if ($callback === MENU_ACCESS_ALWAYS || $callback === MENU_ACCESS_NEVER) {
+    $item['access'] = $callback == MENU_ACCESS_ALWAYS;
   }
   else {
     $arguments = menu_unserialize($item['access_arguments'], $map);
@@ -2402,16 +2415,12 @@ function _menu_router_build($callbacks) 
       // Default callback.
       $item['access callback'] = 'user_access';
     }
-    if (!isset($item['access callback']) || empty($item['page callback'])) {
-      $item['access callback'] = 0;
-    }
-    if (is_bool($item['access callback'])) {
-      $item['access callback'] = intval($item['access callback']);
+    if (!isset($item['access callback']) || empty($item['page callback']) || !is_string($item['access callback'])) {
+      $item['access callback'] = MENU_ACCESS_NEVER;
     }
 
     $item += array(
       'access arguments' => array(),
-      'access callback' => '',
       'page arguments' => array(),
       'page callback' => '',
       'block callback' => '',
Index: modules/filter/filter.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v
retrieving revision 1.231
diff -u -p -r1.231 filter.module
--- modules/filter/filter.module	1 Nov 2008 19:51:06 -0000	1.231
+++ modules/filter/filter.module	4 Nov 2008 14:15:51 -0000
@@ -95,7 +95,7 @@ function filter_menu() {
   $items['filter/tips'] = array(
     'title' => 'Compose tips',
     'page callback' => 'filter_tips_long',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_SUGGESTED_ITEM,
   );
   $items['admin/settings/filters/%filter_format'] = array(
Index: modules/simpletest/tests/system_test.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/system_test.module,v
retrieving revision 1.4
diff -u -p -r1.4 system_test.module
--- modules/simpletest/tests/system_test.module	15 Oct 2008 16:05:51 -0000	1.4
+++ modules/simpletest/tests/system_test.module	4 Nov 2008 14:15:51 -0000
@@ -7,7 +7,7 @@
 function system_test_menu() {
   $items['system-test/auth'] = array(
     'page callback' => 'system_test_basic_auth_page',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
   $items['system-test/redirect/%'] = array(
@@ -51,21 +51,21 @@ function system_test_menu() {
   $items['system-test/generate-warnings'] = array(
     'title' => 'Generate warnings',
     'page callback' => 'system_test_generate_warnings',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
 
   $items['system-test/trigger-exception'] = array(
     'title' => 'Trigger an exception',
     'page callback' => 'system_test_trigger_exception',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
 
   $items['system-test/trigger-pdo-exception'] = array(
     'title' => 'Trigger a PDO exception',
     'page callback' => 'system_test_trigger_pdo_exception',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
 
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.635
diff -u -p -r1.635 system.module
--- modules/system/system.module	31 Oct 2008 02:18:22 -0000	1.635
+++ modules/system/system.module	4 Nov 2008 14:15:52 -0000
@@ -354,7 +354,7 @@ function system_menu() {
   $items['system/files'] = array(
     'title' => 'File download',
     'page callback' => 'file_download',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
   $items['admin'] = array(
@@ -621,7 +621,7 @@ function system_menu() {
     'title' => 'Clean URL check',
     'page callback' => 'drupal_json',
     'page arguments' => array(array('status' => TRUE)),
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
   // Menu handler to test that drupal_http_request() works locally.
@@ -630,7 +630,7 @@ function system_menu() {
     'title' => 'Request test',
     'page callback' => 'printf',
     'page arguments' => array('request test'),
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
 
@@ -671,7 +671,7 @@ function system_menu() {
   // Default page for batch operations
   $items['batch'] = array(
     'page callback' => 'system_batch_page',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
   return $items;
Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.930
diff -u -p -r1.930 user.module
--- modules/user/user.module	26 Oct 2008 18:06:39 -0000	1.930
+++ modules/user/user.module	4 Nov 2008 14:15:52 -0000
@@ -958,7 +958,7 @@ function user_menu() {
   $items['user'] = array(
     'title' => 'User account',
     'page callback' => 'user_page',
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
 
@@ -987,7 +987,7 @@ function user_menu() {
     'title' => 'Reset password',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_pass_reset', 2, 3, 4),
-    'access callback' => TRUE,
+    'access callback' => MENU_ACCESS_ALWAYS,
     'type' => MENU_CALLBACK,
   );
 
