--- drupal-cvs/includes/menu.inc	Wed Aug  4 03:33:06 2004
+++ menu.inc	Thu Aug  5 02:59:42 2004
@@ -190,12 +187,19 @@
  * always be one of these children; it is the default "Navigation" menu.
  */
 function menu_get_menu() {
-  global $_menu;
+  global $_menu, $user;
 
   if (!isset($_menu['items'])) {
-    // _menu_build() may indirectly call this function, so prevent infinite loops.
-    $_menu['items'] = array();
-    _menu_build();
+    $cache = cache_get('menu:'. $user->uid);
+    if ($cache) {
+      $_menu = unserialize($cache->data);
+    }
+    else {
+      // _menu_build() may indirectly call this function, so prevent infinite loops.
+      $_menu['items'] = array();
+      _menu_build();
+      cache_set('menu:'. $user->uid, serialize($_menu), 1);
+    }
   }
 
   return $_menu;
