Function: ediff-make-empty-tmp-file
ediff-make-empty-tmp-file is a byte-compiled function defined in
ediff-util.el.gz.
Signature
(ediff-make-empty-tmp-file PROPOSED-NAME &optional KEEP-PROPOSED-NAME)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-util.el.gz
;; Create a temporary file.
;; The returned file name (created by appending some random characters at the
;; end of PROPOSED-NAME is guaranteed to point to a newly created empty file.
;; This is a replacement for make-temp-name, which eliminates a security hole.
;; If KEEP-PROPOSED-NAME isn't nil, try to keep PROPOSED-NAME, unless such file
;; already exists.
;; It is a modified version of make-temp-file in emacs 20.5
(defun ediff-make-empty-tmp-file (proposed-name &optional keep-proposed-name)
(let ((file proposed-name))
(while (condition-case ()
(progn
(if (or (file-exists-p file) (not keep-proposed-name))
(setq file (make-temp-name proposed-name)))
(write-region "" nil file nil 'silent nil 'excl)
nil)
(file-already-exists t))
;; the file was somehow created by someone else between
;; `make-temp-name' and `write-region', let's try again.
nil)
file))