Current File : //usr/share/emacs/24.3/lisp/url/url-cache.elc |
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:08:17 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/url/url-cache.el
;;; in Emacs version 24.3.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\210\304\314\315\316\317\320\310\321\312\322& \207" [require url-parse url-util url custom-declare-variable url-cache-directory (expand-file-name "cache" url-configuration-directory) "The directory where cache files should be stored." :type directory :group url-file url-cache-expire-time 3600 "Default maximum time in seconds before cache files expire.\nUsed by the function `url-cache-expired'." :version "24.1" integer url-cache] 10)
#@75 Follows the documentation of `file-writable-p', unlike `file-writable-p'.
(defalias 'url-cache-file-writable-p #[(file) "\301!\205 \302!\203 \303!?\207\303\304!!\207" [file file-writable-p file-exists-p file-directory-p file-name-directory] 3 (#$ . 1078)])
#@492 Makes 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.
(defalias 'url-cache-prepare #[(file) "\301!\203 \302\207\303!\203 \304\207\304\305\306\217\207" [file url-cache-file-writable-p t file-directory-p nil (byte-code "\301\302!\303\"\206\n \303\207" [file make-directory file-name-directory t] 3) ((error))] 3 (#$ . 1348)])
#@33 Store buffer BUFF in the cache.
(defalias 'url-store-in-cache #[(&optional buff) "r\303\206 p!q\210\304\305\306!!\307 !\205 \310\311ed \312\313%)*\207" [buff fname coding-system-for-write get-buffer url-cache-create-filename url-view-url t url-cache-prepare binary write-region nil 5] 6 (#$ . 2120)])
#@60 Fetch URL from cache and return a buffer with the content.
(defalias 'url-fetch-from-cache #[(url) "r\301\302!q\210\303\304!!\210p)\207" [url generate-new-buffer " *temp*" url-cache-extract url-cache-create-filename] 3 (#$ . 2432)])
#@111 Return non-nil if the URL is cached.
The actual return value is the last modification time of the cache file.
(defalias 'url-is-cached #[(url) "\303!\304 ! \205 \305 !\205 \n@\306=?\205 \307\n8*\207" [url fname attribs url-cache-create-filename file-attributes file-exists-p t 5] 2 (#$ . 2673)])
#@47 Return a filename in the local cache for URL.
(defalias 'url-cache-create-filename-human-readable #[(url) "\205\363 \306!\211\307H\n>\204 \310\311\312\300#\210 \313H \307H\n>\204( \310\311\314\300#\210 \315H\316 \2063 \317\320\321\f\206: \322\323\"!BB \307H\n>\204N \310\311\324\300#\210 \325H\211!\203o !G\307U\204o !\307H\326U\203o !\313\327O!!\203\200 \327\"\330\331!\332#!)!\205\213 \330\333!\332#\211!\204\225 \327\202\337 !\332\230\204\243 !\334\230\203\250 #\202\337 \335!!\326U\203\313 !\336\327O\334\230\203\303 !#P\202\337 !\313\327O\202\337 !\336\327O\334\230\203\335 !#P\202\337 !\211!\205\362 \337!\337\330\340
\334#$\"\"-\207" [url urlobj cl-struct-url-tags protocol hostname host-components url-generic-parse-url 0 error "%s accessing a non-%s" url-type 1 url-host 4 user-real-login-name "file" reverse split-string "localhost" "\\." url-filename 6 47 nil mapconcat #[(x) "\302U\203 \203 \303\304\207\302U\203 \305\306\207\303\307!\207" [x slash 47 nil "%2F" t "/" char-to-string] 2] #1="" #[(x) "\301U\203 \302\207\303!\207" [x 126 #1# char-to-string] 2] "/" string-to-char -1 expand-file-name identity fname slash url-directory-index-file url-cache-directory] 8 (#$ . 2981)])
#@113 Create a cached filename using MD5.
Very fast if you have an `md5' primitive function, suitably fast otherwise.
(defalias 'url-cache-create-filename-using-md5 #[(url) "\306\307!\210\205q \307!\310!\211\311H>\204 \312\313\314\300#\210\n\315H\n\311H>\2040 \312\313\316\300#\210\n\317H\320 \f\206; \321\322\323\324
\206C \325\326\"\"\237BB\n\311H>\204Y \312\313\327\300#\210\n\330H\211\205o \331 \331\332\333\334#\"\".\207" [url checksum urlobj cl-struct-url-tags protocol hostname require md5 url-generic-parse-url 0 error "%s accessing a non-%s" url-type 1 url-host 4 user-real-login-name "file" delq nil split-string "localhost" "\\." url-filename 6 expand-file-name mapconcat identity "/" host-components fname url-cache-directory] 8 (#$ . 4229)])
#@51 What function to use to create a cached filename.
(custom-declare-variable 'url-cache-creation-function ''url-cache-create-filename-using-md5 '(#$ . 5004) :type '(choice (const :tag "MD5 of filename (low collision rate)" :value url-cache-create-filename-using-md5) (const :tag "Human readable filenames (higher collision rate)" :value url-cache-create-filename-human-readable) (function :tag "Other")) :group 'url-cache)
(defalias 'url-cache-create-filename #[(url) "\302\303 !\203\f \202 \304 !!!\207" [url-cache-creation-function url url-recreate-url vectorp url-generic-parse-url] 4])
#@41 Extract FNAM from the local disk cache.
(defalias 'url-cache-extract #[(fnam) "\301 \210\302\303!\210\304!\207" [fnam erase-buffer set-buffer-multibyte nil insert-file-contents-literally] 2 (#$ . 5601)])
#@192 Return non-nil if a cached URL is older than EXPIRE-TIME seconds.
The default value of EXPIRE-TIME is `url-cache-expire-time'.
If `url-standalone-mode' is non-nil, cached items never expire.
(defalias 'url-cache-expired #[(url &optional expire-time) "\203 \305\306 !!?\207\307 !\211?\206\"