 +										
 +					keySetString(modPath, buffer);
 +				} else {
-+					/* ModulePath exist, add this module path */
++					/* ModulePath exist, add this module path 
++					 * TODO: Since search inside ModulePath is recursive,
++					 * we should not add the path if this one is contained
++					 * in a more global path yet
++					 */
 +					char *oldPath, *newPath;
 +					
 +					oldPath = keyStealValue(modPath);

+				KEY_SWITCH_VALUE, ptr->file_modulepath,
+				KEY_SWITCH_END);
+
+		keySetName(key,buffer);
+		keySetString(key,ptr->file_modulepath);
+
+		ksAppend(ks,key);
+	}
+

     /*
diff -Naur xc.orig/programs/Xserver/hw/xfree86/parser/elektra.c xc/programs/Xserver/hw/xfree86/parser/elektra.c
--- xc.orig/programs/Xserver/hw/xfree86/parser/elektra.c	1970-01-01 01:00:00.000000000 +0100
+++ xc/programs/Xserver/hw/xfree86/parser/elektra.c	2006-03-19 09:40:51.000000000 +0100
@@ -0,0 +1,3631 @@
+/* $Id$ */
+
+
