A very useful function for generating private environments is the (gensym&optional x) in common lisp. It can replace in some places the closures. In Clisp it is defined in C something like this: char* gensym (char *x) { static int x; char a[100]; snprintf(a, 100, "%s%d", x? x:"G", x++); return strdup (a); } Does this function already exist in elisp ? I looked in the manual and did not find it... Alin * --- * Wenn ich 'Kultur' höre, nehme ich meine Pistole Hermann Göring * *