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