> Cc: [email protected], [email protected], [email protected], > [email protected], [email protected] > Date: Tue, 16 Aug 2022 20:04:49 +0300 > From: Eli Zaretskii <[email protected]> > > Therefore, if there's no intention to fix this in Gnulib, I'm going to > update the documentation of make-temp-file so that Emacs users and > programmers will be informed about that and will be careful enough to > side-step these issues in all the situations. (Not that I understand > why won't Gnulib provide consistent behavior on all platforms, but I > guess it's above my pay grade.)
And btw, looking closer, I see that this is a regression in Emacs 28, which was caused by a change in Gnulib: the versions of tempname.c that we used up to and including Emacs 27.2 used gettimeofday and the PID to generate the file name, so it was more random than the code in current Gnulib, and in particular the sequence of generate file-name1 delete file-name1 generate file-name2 would produce file-name2 that is different from file-name1. With the current code in Gnulib, something similar happens only on glibc systems. So I hope the code in Gnulib's tempname.c will be amended to call clock_gettime or something similar, so that the names on non-glibc platforms could also be random. Or, failing that, at least that gen_tempname in glibc would behave identically to other systems, i.e. start from a fixed "random" value.
