MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/url/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/url/url-util.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:08:25 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/url/url-util.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\303\304\305\"\210\303\306\305\"\210\303\307\310\"\207" [require url-parse url-vars autoload timezone-parse-date "timezone" timezone-make-date-arpa-standard mail-header-extract "mailheader"] 3)
#@45 A syntax table for parsing sgml attributes.
(defvar url-parse-args-syntax-table (copy-syntax-table emacs-lisp-mode-syntax-table) (#$ . 787))
(byte-code "\301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\310#\210\311\312\313\314\315\316\317\320&\207" [url-parse-args-syntax-table modify-syntax-entry 39 "\"" 96 123 "(" 125 ")" custom-declare-variable url-debug nil "What types of debug messages from the URL library to show.\nDebug messages are logged to the *URL-DEBUG* buffer.\n\nIf t, all messages will be logged.\nIf a number, all messages will be logged, as well shown via `message'.\nIf a list, it is a list of the types of messages to be logged." :type (choice (const :tag "none" nil) (const :tag "all" t) (checklist :tag "custom" (const :tag "HTTP" :value http) (const :tag "DAV" :value dav) (const :tag "General" :value retrieval) (const :tag "Filename handlers" :value handlers) (symbol :tag "Other"))) :group url-hairy] 8)
(defalias 'url-debug #[(tag &rest args) "\203\304\305!\210	\306=\204	\247\204	<\205=\n	>\205=r\307\310!q\210db\210\311\n!\312\313\314\"\315\261\210	\247\205<\313\316\")\207" [quit-flag url-debug tag args error "Interrupted!" t get-buffer-create "*URL-DEBUG*" symbol-name " -> " apply format "\n" message] 5])
(defalias 'url-parse-args #[(str &optional nodowncase) "\306\211\211\211\211\211\211\212\214\307\310!q\210\311!\210\312 \210c\210ed\311!\210	}\210eb\210m\204\243\313\306w\210`\314\306w\210\204J\315`\"\210`{\316\306w\210`f\206Y\317\320U\204c\306\202\225\321\306w\210`\211f\206o\317\322U\204\nf\206z\317\323U\203\211\nT\306\324\325\217{\202\224\n\326\306w\210\327\306x\210`{
B\fB\313\306w\210\2022\f.	\207" [nd st val-pos name-pos results value nil get-buffer-create " *urlparse-temp*" set-syntax-table erase-buffer "; \n	" "^ \n	=;" downcase-region " 	\n" 0 61 " 	\n=" 34 39 (byte-code "\300\301!\210`S\302\303w\210\207" [forward-sexp 1 "\"" nil] 3) ((error (byte-code "\300\301w\210`\207" ["^ 	\n" nil] 2))) "^;" " 	" name url-parse-args-syntax-table str nodowncase] 8])
#@338 Convert HTML markup-start characters to entity references in STRING.
Also replaces the " character, so that the result may be safely used as
an attribute value in a tag.  Returns a new string with the result of the
conversion.  Replaces these characters as follows:
    &  ==>  &amp;
    <  ==>  &lt;
    >  ==>  &gt;
    "  ==>  &quot;
(defalias 'url-insert-entities-in-string #[(string) "\301\302\"\2034r\303\304!q\210\305 \210\306p!\210c\210eb\210\307\310w\210m\2040`f\311\236Ac\210\312\313!\210\202\314 )\207\207" [string string-match "[&<>\"]" get-buffer-create " *entity*" erase-buffer buffer-disable-undo "^&<>\"" nil ((34 . "&quot;") (38 . "&amp;") (60 . "&lt;") (62 . "&gt;")) delete-char 1 buffer-string] 3 (#$ . 2877)])
#@77 Return a 'normalized' version of URL.
Strips out default port numbers, etc.
(defalias 'url-normalize-url #[(url) "\306\211\211\307!\211\310H\f>\204\311\312\313\303#\210	\314H\211\315\235\203'\202A	\310H\f>\2045\311\312\316\303#\210	\211\317\306I\210)\320	!+\207" [retval data type url cl-struct-url-tags #1=#:v nil url-generic-parse-url 0 error "%s accessing a non-%s" url-type 1 ("www" "about" "mailto" "info") url-target 7 url-recreate-url] 5 (#$ . 3621)])
#@122 Just like `message', but is a no-op if called more than once a second.
Will not do anything if `url-show-status' is nil.
(defalias 'url-lazy-message #[(&rest args) "\203\305H	>\204\306\307\310\311#\210\312H\206*\n?\206*\313 \206*\314 A@\211U?\2052\315\316\f\"\207" [url-current-object cl-struct-url-tags url-show-status url-lazy-message-time args 0 error "%s accessing a non-%s" url-silent url 10 active-minibuffer-window current-time apply message] 4 (#$ . 4103)])
#@68 Return a 'real' date string that most HTTP servers can understand.
(defalias 'url-get-normalized-date #[(&optional specified-time) "\302\303\304	\206\n\305 \306#)\207" [system-time-locale specified-time "C" format-time-string "%a, %d %b %Y %T GMT" current-time t] 4 (#$ . 4588)])
#@44 Remove spaces/tabs at the end of a string.
(defalias 'url-eat-trailing-space #[(x) "GS\303\304\305E\211\306Y\203\nH	>\203\nS\211\202\n\306\nTO*\207" [x skip-chars y 32 9 10 0] 5 (#$ . 4876)])
#@41 Remove spaces at the front of a string.
(defalias 'url-strip-leading-spaces #[(x) "GS\304\305\306\307E\nX\203 \nH	>\203 \nT\211\202\f\n\310O+\207" [x skip-chars z y 0 32 9 10 nil] 6 (#$ . 5085)])
(defalias 'url-pretty-length #[(n) "\301W\203\302\303\"\207\304W\203\302\305\306\245\"\207\302\307\310\245\"\207" [n 1024 format "%d bytes" 1048576 "%dk" 1024.0 "%2.2fM" 1048576.0] 4])
(defalias 'url-display-percentage #[(fmt perc &rest args) "\205@	\203	\306H\n>\204\307\310\311\312#\210	\313H?\205@\204*\314\315!\205@\315 \207\314\316!\203;\f\203;\317\316\f
$\207\317\320
#\207" [url-show-status url-current-object cl-struct-url-tags fmt perc args 0 error "%s accessing a non-%s" url-silent url 10 fboundp clear-progress-display progress-display apply message] 5])
(defalias 'url-percentage #[(x y) "\302\303!\203\304\303	!\245\305_!\207\305_	\245\207" [x y fboundp float round 100] 4])
(defalias 'url-basepath 'url-file-directory)
#@47 Return the directory part of FILE, for a URL.
(defalias 'url-file-directory #[(file) "\204\301\207\302\303\"\203\304\305\211\224O!\207\302\306\"\205 \307\310\"\207" [file "" string-match "\\?" url-file-directory 0 "\\(.*\\(/\\|%2[fF]\\)\\)" match-string 1] 4 (#$ . 6059)])
#@50 Return the nondirectory part of FILE, for a URL.
(defalias 'url-file-nondirectory #[(file) "\204\301\207\302\303\"\203\304\305\211\224O!\207\302\306\"\203!\307\310\"\207\207" [file "" string-match "\\?" url-file-nondirectory 0 ".*\\(?:/\\|%2[fF]\\)\\(.*\\)" match-string 1] 4 (#$ . 6348)])
(defalias 'url-parse-query-string #[(query &optional downcase allow-newlines) "\306\211\211\211\211\307
\310\"\203c@A\311\312\n\"\204$\n\312P\311\312\n\"\203\313\n\314\211\224O\"\313\n\314\225\306O\"\203G	\227\315	\f\"\211\203Z\n\nAB\241\210\202	D\fB\202\f-\207" [val key cur pairs retval query nil split-string "[;&]" string-match "=" url-unhex-string 0 assoc allow-newlines downcase] 6])
#@511 Build a query-string.

Given a QUERY in the form:
'((key1 val1)
  (key2 val2)
  (key3 val1 val2)
  (key4)
  (key5 ""))

(This is the same format as produced by `url-parse-query-string')

This will return a string
"key1=val1&key2=val2&key3=val1&key3=val2&key4&key5". Keys may
be strings or symbols; if they are symbols, the symbol name will
be used.

When SEMICOLONS is given, the separator will be ";".

When KEEP-EMPTY is given, empty values will show as "key="
instead of just "key" as in the example above.
(defalias 'url-build-query-string #[(query &optional semicolons keep-empty) "\302\303	\203\304\202\f\305#\207" [query semicolons mapconcat #[(key-vals) "\303\304\"\305\306	A\206
\307\n\203\310\202\311#)\207" [key-vals escaped semicolons mapcar #[(sym) "\301\302\303\"!\207" [sym url-hexify-string format "%s"] 4] mapconcat #[(val) "\305\306\"\305\306	@\"\n\f\204\203\307G!\204\310\202 \311Q*\207" [val escaped eprint vprint keep-empty format "%s" zerop "=" #1=""] 4] (#1#) ";" "&"] 4] ";" "&"] 4 (#$ . 7081)])
(defalias 'url-unhex #[(x) "\301V\203\302Y\203\303\302Z\\\207\303\304Z\\\207\305Z\207" [x 57 97 10 65 48] 3])
#@217 Remove %XX embedded spaces, etc in a URL.
If optional second argument ALLOW-NEWLINES is non-nil, then allow the
decoding of carriage returns and line feeds in the string, which is normally
forbidden in URL encoding.
(defalias 'url-unhex-string #[(str &optional allow-newlines) "\206\306\306\307\310\311\"\203V\312\224\313T\234!\211\314_\313\315\\\234!\\\n\312O\2037\316
!\202J
\317U\204C
\320U\203G\321\202J\316
!Q\312\225\322O+\202\n\nP*\207" [str case-fold-search tmp start ch1 code "" t string-match "%[0-9a-f][0-9a-f]" 0 url-unhex 16 2 byte-to-string 10 13 " " nil allow-newlines] 6 (#$ . 8252)])
#@100 List of characters that are unreserved in the URL spec.
This is taken from RFC 3986 (section 2.3).
(defconst url-unreserved-chars '(97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 48 49 50 51 52 53 54 55 56 57 45 95 46 126) (#$ . 8889))
#@54 Vector translating bytes to URI-encoded %-sequences.
(defconst url-encoding-table (byte-code "\303\304\305\"\304\306	\nW\203	\307\310	\"I\210	T\211\202\n*)\207" [vec byte --dotimes-limit-- make-vector 256 nil 0 format "%%%02X"] 6) (#$ . 9263))
#@184 Return an "allowed character" mask (a 256-slot vector).
The Nth element is non-nil if character N is in CHAR-LIST.  The
result can be passed as the second arg to `url-hexify-string'.
(defalias 'url--allowed-chars #[(char-list) "\304\305\306\"	\306\211\203@\306\307\310\217\210A\211\204
*)\207" [vec char-list byte --dolist-tail-- make-vector 256 nil (aset vec byte t) ((error))] 4 (#$ . 9523)])
#@534 URI-encode STRING and return the result.
If STRING is multibyte, it is first converted to a utf-8 byte
string.  Each byte corresponding to an allowed character is left
as-is, while all other bytes are converted to a three-character
string: "%" followed by two upper-case hex digits.

The allowed characters are specified by ALLOWED-CHARS.  If this
argument is nil, the list `url-unreserved-chars' determines the
allowed characters.  Otherwise, ALLOWED-CHARS should be a vector
whose Nth element is non-nil if character N is allowed.
(defalias 'url-hexify-string #[(string &optional allowed-chars) "\204\303	!\304\305\306\n!\203\307\n\310\"\202\n\311#\207" [allowed-chars url-unreserved-chars string url--allowed-chars mapconcat #[(byte) "	H\203\n\303	!\207\n	H\207" [allowed-chars byte url-encoding-table char-to-string] 2] multibyte-string-p encode-coding-string utf-8 ""] 5 (#$ . 9936)])
#@116 Allowed-character byte mask for the host segment of a URI.
These characters are specified in RFC 3986, Appendix A.
(defconst url-host-allowed-chars (byte-code "\301\302\303\"!\207" [url-unreserved-chars url--allowed-chars append (37 33 36 38 39 40 41 42 43 44 59 61)] 4) (#$ . 10843))
#@116 Allowed-character byte mask for the path segment of a URI.
These characters are specified in RFC 3986, Appendix A.
(defconst url-path-allowed-chars (byte-code "\302!\211\303\304I\210	\305\304I\210	\306\304I\210	)\207" [url-host-allowed-chars vec copy-sequence 47 t 58 64] 4) (#$ . 11136))
#@117 Allowed-character byte mask for the query segment of a URI.
These characters are specified in RFC 3986, Appendix A.
(defconst url-query-allowed-chars (byte-code "\302!\211\303\304I\210	)\207" [url-path-allowed-chars vec copy-sequence 63 t] 4) (#$ . 11434))
#@254 Return a properly URI-encoded version of URL.
This function also performs URI normalization, e.g. converting
the scheme to lowercase if it is uppercase.  Apart from
normalization, if URL is already URI-encoded, this function
should return it unchanged.
(defalias 'url-encode-url #[(url) "\306!\203\307\310\"\311!\211\312H\n>\204\313\314\315\300#\210	\316H	\312H\n>\204/\313\314\317\300#\210	\320H	\312H\n>\204A\313\314\321\300#\210	\322H\323	!\211@A	\312H\n>\204a\313\314\324\300#\210	\325H \203\203	\312H\n>\204x\313\314\315\300#\210	\211!\316\326!I\210)\f\203\240	\312H\n>\204\225\313\314\317\300#\210	\211\"\320\326\f!I\210)
\203\306\327\330
\"\204\306	\312H\n>\204\271\313\314\321\300#\210	\211#\322\326
$\"I\210)\203\323\326%\"\203\340\326&\"	\312H\n>\204\356\313\314\331\300#\210	\211'\332\203\333Q\202I\210) \203'	\312H\n>\204\313\314\324\300#\210	\211(\325\326 &\"I\210)\334	!.\207" [url obj cl-struct-url-tags user pass host multibyte-string-p encode-coding-string utf-8 url-generic-parse-url 0 error "%s accessing a non-%s" url-user 2 url-password 3 url-host 4 url-path-and-query url-target 7 url-hexify-string string-match "\\`\\[.*\\]\\'" url-filename 6 "?" url-recreate-url path-and-query path query frag #1=#:v #2=#:v #3=#:v url-host-allowed-chars url-path-allowed-chars url-query-allowed-chars #4=#:v #5=#:v] 6 (#$ . 11700)])
#@140 Return the filename extension of FNAME.
If optional argument X is t, then return the basename
of the file with the extension stripped off.
(defalias 'url-file-extension #[(fname &optional x) "\203#\302!\211\203#\303\304\"\203#	\203\305\211\224O\207\305\224\306O\207	\203)\207\307\207" [fname x url-file-nondirectory string-match "\\.[^./]+$" 0 nil ""] 3 (#$ . 13123)])
#@117 Return a shortened version of URL that is WIDTH characters wide or less.
WIDTH defaults to the current frame width.
(defalias 'url-truncate-url-for-viewing #[(url &optional width) "\206\306 \nG\307\310\307	Y\203)\311\312\n\"\203)\n\310\211\224O\313P\211G	W\204\270\314\n!\211\310H>\204C\315\316\317\302#\210\320H	\321Z	Y\203\210\311\322\f\"\203\210\f\310\225\307O
T\310H>\204r\315\316\317\302#\210\211\320\fI\210)\323!\211G\211\202M
\324V\203\225\325\fP\202\231\322\fP\310H>\204\251\315\316\317\302#\210\211\320\fI\210)\323!\n-\207" [width fr-width url str-width fname modified frame-width nil 0 string-match "?" "?..." url-generic-parse-url error "%s accessing a non-%s" url-filename 6 4 "/" url-recreate-url 1 "/.../" urlobj cl-struct-url-tags #1=#:v #2=#:v] 5 (#$ . 13512)])
#@180 View the current document's URL.
Optional argument NO-SHOW means just return the URL, don't show it in
the minibuffer.

This uses `url-current-object', set locally to the buffer.
(defalias 'url-view-url #[(&optional no-show) "\205	\203\f\302!\207\303\304\302!\"\207" [url-current-object no-show url-recreate-url message "%s"] 4 (#$ . 14357) nil])
#@28 Valid characters in a URL.
(defvar url-get-url-filename-chars "-%.?@a-zA-Z0-9()_/:~=&" (#$ . 14716))
#@127 Get the URL closest to point, but don't change position.
Has a preference for looking backward when not directly on a symbol.
(defalias 'url-get-url-at-point #[(&optional pt) "\212\203b\210\305\211\212m\204\"\306\307!\203\"\310\305x\210o\204\"\311u\210`f\203A\312\313\314Q\315`f!\"\203A\305x\210`\305w\210\202C`\316\n`\")	\203Y\312\317	\"\203Y\320\321	\"	\203i\312\322	\"\203i	\323\305O	\203y\312\324	\"\203y	\325\311O	\203\210\312\326	\"\203\210\327	P	\203\225\312\f	\"\204\225\305	+\207" [pt url start url-get-url-filename-chars url-nonrelative-link nil looking-at "[] 	\n[{}()]" " \n	
({[]})" -1 string-match "[" "]" char-to-string buffer-substring-no-properties "^(.*)\\.?$" match-string 1 "^URL:" 4 "\\.$" 0 "^www\\." "http://"] 4 (#$ . 14824)])
#@58 Generate a unique filename in `url-temporary-directory'.
(defalias 'url-generate-unique-filename #[(&optional fmt) "\n\2043\306\307\310 \"\311\312\306\313
#\314\315\f	\"!\203+T
\316!P\202\315\f	\"+\202d\317\316\310 !P\311\312\306\n
\316!P\"\314\315\f	\"!\203_T\306\n
\316!P\"\202G\315\f	\"+)\207" [url-temporary-directory tempdir fmt x fname base format "url-tmp.%d" user-real-uid "" 0 "%s%d" file-exists-p expand-file-name int-to-string "url"] 5 (#$ . 15614)])
(make-obsolete 'url-generate-unique-filename 'make-temp-file "23.1")
#@51 Set `url-current-mime-headers' in current buffer.
(defalias 'url-extract-mime-headers #[nil "\212eb\210?\205\301\300!\210\302 \211)\207" [url-current-mime-headers make-local-variable mail-header-extract] 2 (#$ . 16178)])
#@121 Make FILE only readable and writable by the current user.
Creates FILE and its parent directories if they do not exist.
(defalias 'url-make-private-file #[(file) "\302!\211\203
\303	\304\"\210)\305\306\307\217\207" [file dir file-name-directory make-directory t nil (byte-code "\303 \304\216\305\306!\210\307\310!r	q\210\311\216\312ed\n\313\314\313\315&-\207" [umask #1=#:temp-buffer file default-file-modes ((set-default-file-modes umask)) set-default-file-modes 384 generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) write-region nil silent excl] 8) ((file-already-exists (byte-code "\301!\203\302\303\"\210\304\305\"\207" [file file-symlink-p error "Danger: `%s' is a symbolic link" set-file-modes 384] 3)))] 4 (#$ . 16410)])
(provide 'url-util)

MMCT - 2023