Now the important question I promised at the beginning: Should we
install this change on the release branch? Here are the pros and cons
that I could think of for this decision:
Cons:
. It is too close to release for such non-trivial changes.
. The affected primitives are used in lots of places, and this
change could break them, and the Lisp code that uses them.
. This problem exists in Emacs for a long time, so it's not a big
deal if it continues to exist some more (until resolved in Emacs
23).
. The suggested solution is only partial, and the resulting file
names are UGLY.
Pros:
. The bug is quite grave: it causes real data loss.
. Whatever code uses the affected primitives is probably already
broken.
. The change is very simple, so the probability of it being buggy
is very low (but please eyeball the diffs below to make it lower
still).