mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Add with-file-modes macro, and use it
* lisp/subr.el (with-file-modes): New macro. * lisp/printing.el (pr-save-file-modes): * lisp/eshell/esh-util.el (eshell-with-file-modes): Make obsolete. * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Add with-file-modes. * lisp/doc-view.el (doc-view-make-safe-dir): * lisp/epg.el (epg--start): * lisp/files.el (locate-user-emacs-file, make-temp-file) (backup-buffer-copy, move-file-to-trash): * printing.el (pr-despool-print, pr-call-process, pr-text2ps): * eshell/esh-util.el (eshell-with-private-file-modes) (eshell-make-private-directory): * lisp/net/browse-url.el (browse-url-mosaic): * lisp/obsolete/mailpost.el (post-mail-send-it): * lisp/obsolete/pgg-pgp.el (pgg-pgp-verify-region): * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-verify-region): * lisp/url/url-util.el (url-make-private-file): Use with-file-modes. * doc/lispref/files.texi (Changing Files): Mention with-file-modes. * etc/NEWS: Mention this.
This commit is contained in:
parent
abad7b05fa
commit
d63d883a97
17 changed files with 191 additions and 195 deletions
|
|
@ -628,14 +628,9 @@ Creates FILE and its parent directories if they do not exist."
|
|||
(make-directory dir t)))
|
||||
;; Based on doc-view-make-safe-dir.
|
||||
(condition-case nil
|
||||
(let ((umask (default-file-modes)))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(set-default-file-modes #o0600)
|
||||
(with-temp-buffer
|
||||
(write-region (point-min) (point-max)
|
||||
file nil 'silent nil 'excl)))
|
||||
(set-default-file-modes umask)))
|
||||
(with-file-modes #o0600
|
||||
(with-temp-buffer
|
||||
(write-region (point-min) (point-max) file nil 'silent nil 'excl)))
|
||||
(file-already-exists
|
||||
(if (file-symlink-p file)
|
||||
(error "Danger: `%s' is a symbolic link" file))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue