lbn@ksuvax1.cis.ksu.edu (Lars Bo Nielsen) (03/29/89)
GNU Emacs 18.52.4 of Thu Dec 15 1988 on ksuvax1.cis.ksu.edu (berkeley-unix)
I have found a bug (I think) in make-temp-file. When the same pattern
is used more than 26 times make-temp-file will _not_ return a unique
filename, it returns the 26th name. (It may sound obscure to make
more than 26 temporary files, but I really need it)
Try:
(defun test ()
(let ((i 0))
(while (< i 30)
(let ((name (make-temp-name "/tmp/Delete.Me.Again.")))
(insert (format "%d " i) name "\n")
(write-file name)
(setq i (1+ i))))))
You get ex:
0 /tmp/Delete.Me.Again.005593
1 /tmp/Delete.Me.Again.a05593
2 /tmp/Delete.Me.Again.b05593
[...]
21 /tmp/Delete.Me.Again.u05593
22 /tmp/Delete.Me.Again.v05593
23 /tmp/Delete.Me.Again.w05593
24 /tmp/Delete.Me.Again.x05593
25 /tmp/Delete.Me.Again.y05593
26 /tmp/Delete.Me.Again.y05593 <- Repeated file-name
27 /tmp/Delete.Me.Again.y05593 <-
28 /tmp/Delete.Me.Again.y05593 <-
29 /tmp/Delete.Me.Again.y05593
--
Lars Bo Nielsen (lbn@ksuvax1.cis.ksu.edu)lbn@ksuvax1.cis.ksu.edu (Lars Bo Nielsen) (03/29/89)
In article <1426@deimos.cis.ksu.edu> I wrote: ------- >I have found a bug (I think) in make-temp-file. When the same pattern >is used more than 26 times make-temp-file will _not_ return a unique >filename, it returns the 26th name. Emacs is _not_ to blame, the bug is in the Un*x function "mktemp". I have found the bug on both Vax and SUN. I am sure this is a commonly known bug. I am sorry I was too quick to post a bug-report. -- Lars Bo Nielsen (lbn@ksuvax1.cis.ksu.edu)