1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-02 11:21:42 +00:00

Undo patch for bug#10403; still being reviewed.

This commit is contained in:
Paul Eggert 2012-01-07 11:58:55 -08:00
parent 9a0115abd1
commit cd0cf8aa18
2 changed files with 3 additions and 7 deletions

View File

@ -1,8 +1,5 @@
2012-01-07 Paul Eggert <eggert@cs.ucla.edu>
* epg.el (epg--make-temp-file): Avoid permission race conditions
when creating temporary directories and files on older Emacs.
* files.el (move-file-to-trash): Preserve default file modes on error.
(Bug#10401)

View File

@ -1951,16 +1951,14 @@ The returned file name (created by appending some random characters at the end
of PREFIX, and expanding against `temporary-file-directory' if necessary),
is guaranteed to point to a newly created empty file.
You can then use `write-region' to write new data into the file."
(let (tempdir tempfile orig-modes)
(let (tempdir tempfile)
(setq prefix (expand-file-name prefix
(if (featurep 'xemacs)
(temp-directory)
temporary-file-directory)))
(setq orig-modes (default-file-modes))
(unwind-protect
(let (file)
;; First, create a temporary directory.
(set-default-file-modes #o700)
(while (condition-case ()
(progn
(setq tempdir (make-temp-name
@ -1971,12 +1969,14 @@ You can then use `write-region' to write new data into the file."
(make-directory tempdir))
;; let's try again.
(file-already-exists t)))
(set-file-modes tempdir 448)
;; Second, create a temporary file in the tempdir.
;; There *is* a race condition between `make-temp-name'
;; and `write-region', but we don't care it since we are
;; in a private directory now.
(setq tempfile (make-temp-name (concat tempdir "/EMU")))
(write-region "" nil tempfile nil 'silent)
(set-file-modes tempfile 384)
;; Finally, make a hard-link from the tempfile.
(while (condition-case ()
(progn
@ -1986,7 +1986,6 @@ You can then use `write-region' to write new data into the file."
;; let's try again.
(file-already-exists t)))
file)
(set-default-file-modes orig-modes)
;; Cleanup the tempfile.
(and tempfile
(file-exists-p tempfile)