Function: url-cache-prepare

url-cache-prepare is a byte-compiled function defined in url-cache.el.gz.

Signature

(url-cache-prepare FILE)

Documentation

Make it possible to cache data in FILE.

Creates any necessary parent directories, deleting any non-directory files that would stop this. Returns nil if parent directories can not be created. If FILE already exists as a non-directory, it changes permissions of FILE or deletes FILE to make it possible to write a new version of FILE. Returns nil if this can not be done, or if FILE already exists as a directory. Otherwise, returns t, indicating that FILE can be created or overwritten.

Source Code

;; Defined in /usr/src/emacs/lisp/url/url-cache.el.gz
(defun url-cache-prepare (file)
  "Make it possible to cache data in FILE.
Creates any necessary parent directories, deleting any non-directory files
that would stop this.  Returns nil if parent directories can not be
created.  If FILE already exists as a non-directory, it changes
permissions of FILE or deletes FILE to make it possible to write a new
version of FILE.  Returns nil if this can not be done, or if FILE already
exists as a directory.  Otherwise, returns t, indicating that
FILE can be created or overwritten."
  (cond
   ((url-cache-file-writable-p file)
    t)
   ((file-directory-p file)
    nil)
   (t
    (condition-case ()
	(or (make-directory (file-name-directory file) t) t)
      (error nil)))))