Hi David, I have a few questions here. Why do you make a local reference (color) to git-blame-colors, but you are still destructively updating the list (using delete), possibly making git-blame-colors point to a partial ruin of the original list? My original version may look similar, but pop is only destructive on the variable it is popping from. Any other references to the original list will be intact. Remember that git-blame-colors is a buffer-local variable, but if it points to a global list, any destructive changes will mess up the global list. You are damned right ! I did not check this before. I'd prefer something like this: (let ((color (if colors (elt colors (random (length colors))) git-blame-ancient-color))) I agree too. I hope the next patch will be the last for this "feature" :) Thank you very much for all your comments. Xavier - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html