--- moin-1.6.orig/MoinMoin/user.py	2007-12-01 02:09:09.000000000 +0200
+++ moin-1.6/MoinMoin/user.py	2007-12-04 12:34:45.000000000 +0200
@@ -58,33 +58,45 @@
     if not searchName:
         return None
     cfg = request.cfg
+    cache = caching.CacheEntry(request, 'user', 'name2id', scope='wiki', use_pickle=True)
+
     try:
         _name2id = cfg.cache.name2id
+        _name2id_mtime = cfg.cache.name2id_mtime
     except AttributeError:
-        arena = 'user'
-        key = 'name2id'
-        cache = caching.CacheEntry(request, arena, key, scope='wiki', use_pickle=True)
         try:
             _name2id = cache.content()
+            _name2id_mtime = cache.mtime()
         except caching.CacheError:
             _name2id = {}
+            _name2id_mtime = 0
         cfg.cache.name2id = _name2id
+        cfg.cache.name2id_mtime = _name2id_mtime
+
+    try:
+        _name2id_mtime = cache.mtime()
+        if cfg.cache.name2id_mtime != _name2id_mtime:
+            _name2id = cache.content()
+            cfg.cache.name2id = _name2id
+            cfg.cache.name2id_mtime = _name2id_mtime
+    except caching.CacheError:
+        cfg.cache.name2id_mtime = 0
+
     uid = _name2id.get(searchName, None)
-    if uid is None:
+    if uid is None or cfg.cache.name2id_mtime == 0:
+        _name2id = {}
         for userid in getUserList(request):
             name = User(request, id=userid).name
             _name2id[name] = userid
         cfg.cache.name2id = _name2id
-        arena = 'user'
-        key = 'name2id'
-        cache = caching.CacheEntry(request, arena, key, scope='wiki', use_pickle=True)
         try:
             cache.update(_name2id)
+            cfg.cache.name2id_mtime = cache.mtime()
         except caching.CacheError:
             pass
         uid = _name2id.get(searchName, None)
     return uid
-
+    
 
 def getUserIdentification(request, username=None):
     """ Return user name or IP or '<unknown>' indicator.
--- moin-1.6.orig/MoinMoin/userform.py	2007-12-01 02:09:09.000000000 +0200
+++ moin-1.6/MoinMoin/userform.py	2007-12-04 12:35:05.000000000 +0200
@@ -7,8 +7,8 @@
     @license: GNU GPL, see COPYING for details.
 """
 
-import time
-from MoinMoin import user, util, wikiutil
+import time, logging
+from MoinMoin import user, util, wikiutil, caching
 from MoinMoin.widget import html
 
 _debug = 0
@@ -338,6 +338,11 @@
 
             # save data
             theuser.save()
+			
+            # update file cache
+            cache = caching.CacheEntry(self.request, 'user', 'name2id', scope='wiki', use_pickle=True)
+            cache.remove()
+
             self.request.user = theuser
 
             result = _("User preferences saved!", formatted=False)
