Mercurial > emacs
changeset 79556:239cccb702f6
(url-cookie-write-file): Use url-make-private-file and with-temp-buffer.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Tue, 11 Dec 2007 05:49:53 +0000 |
parents | 52d2889ab3d8 |
children | 3d0d9d7bb356 |
files | lisp/url/url-cookie.el |
diffstat | 1 files changed, 25 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/url/url-cookie.el Tue Dec 11 03:19:09 2007 +0000 +++ b/lisp/url/url-cookie.el Tue Dec 11 05:49:53 2007 +0000 @@ -148,34 +148,31 @@ (set var new))) (defun url-cookie-write-file (&optional fname) - (setq fname (or fname url-cookie-file)) - (unless (file-directory-p (file-name-directory fname)) - (ignore-errors (make-directory (file-name-directory fname)))) - (cond - ((not url-cookies-changed-since-last-save) nil) - ((not (file-writable-p fname)) - (message "Cookies file %s (see variable `url-cookie-file') is unwritable." fname)) - (t - (url-cookie-clean-up) - (url-cookie-clean-up t) - (with-current-buffer (get-buffer-create " *cookies*") - (erase-buffer) - (fundamental-mode) - (insert ";; Emacs-W3 HTTP cookies file\n" - ";; Automatically generated file!!! DO NOT EDIT!!!\n\n" - "(setq url-cookie-storage\n '") - (pp url-cookie-storage (current-buffer)) - (insert ")\n(setq url-cookie-secure-storage\n '") - (pp url-cookie-secure-storage (current-buffer)) - (insert ")\n") - (insert "\n;; Local Variables:\n" - ";; version-control: never\n" - ";; no-byte-compile: t\n" - ";; End:\n") - (set (make-local-variable 'version-control) 'never) - (write-file fname) - (setq url-cookies-changed-since-last-save nil) - (kill-buffer (current-buffer)))))) + (when url-cookies-changed-since-last-save + (or fname (setq fname (expand-file-name url-cookie-file))) + (if (condition-case nil + (progn + (url-make-private-file fname) + nil) + (error t)) + (message "Error accessing cookie file `%s'" fname) + (url-cookie-clean-up) + (url-cookie-clean-up t) + (with-temp-buffer + (insert ";; Emacs-W3 HTTP cookies file\n" + ";; Automatically generated file!!! DO NOT EDIT!!!\n\n" + "(setq url-cookie-storage\n '") + (pp url-cookie-storage (current-buffer)) + (insert ")\n(setq url-cookie-secure-storage\n '") + (pp url-cookie-secure-storage (current-buffer)) + (insert ")\n") + (insert "\n;; Local Variables:\n" + ";; version-control: never\n" + ";; no-byte-compile: t\n" + ";; End:\n") + (set (make-local-variable 'version-control) 'never) + (write-file fname)) + (setq url-cookies-changed-since-last-save nil)))) (defun url-cookie-store (name value &optional expires domain localpart secure) "Store a netscape-style cookie."