]>
Commit | Line | Data |
---|---|---|
53e6db90 DC |
1 | ;ELC\1c\0\0\0 |
2 | ;;; Compiled | |
3 | ;;; in Emacs version 28.2 | |
4 | ;;; with all optimizations. | |
5 | ||
6 | ||
7 | ||
8 | (byte-code "\300\301!\210\300\302!\210\3031\11\0\300\304!0\207\210\305\207" [require cl-lib password-cache (error) auth-source nil] 2) | |
9 | #@26 History of entered JIDs.\1f | |
10 | (defvar jabber-jid-history nil (#$ . 216)) | |
11 | (defalias 'jabber-propertize 'propertize) | |
12 | #@69 Like `read-string', but always inheriting the current input method.\1f | |
13 | (defalias 'jabber-read-with-input-method #[(prompt &optional initial-contents history default-value) "\304\b \n\v\305%\207" [prompt initial-contents history default-value read-string t] 6 (#$ . 332)]) | |
14 | (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\204\"\0\311\310\312\"\210\300\310\302\303#\210\304\310\305\306#\210\307\313!\2049\0\311\313\314\"\210\300\313\302\303#\210\304\313\305\306#\210\311\315\316\"\210\311\317\320\"\207" [function-put jabber-read-with-input-method speed -1 put byte-optimizer byte-compile-inline-expand fboundp delete-and-extract-region defalias #[(start end) "\b {\b |\210\207" [start end] 3] access-file #[(filename error-message) "\302\b!?\205\n\0\303 !\207" [filename error-message file-readable-p error] 2] jabber-float-time float-time jabber-cancel-timer cancel-timer] 5) | |
15 | #@52 Concatenate the rosters of all connected accounts.\1f | |
16 | (defalias 'jabber-concat-rosters #[nil "\301\302\303\304\b\"\"\207" [jabber-connections apply append mapcar #[(jc) "\301\302\b!\303\"\207" [jc plist-get fsm-get-state-data :roster] 3]] 5 (#$ . 1214)]) | |
17 | #@84 Concatenate the rosters of all connected accounts. | |
18 | Show full JIDs, with resources.\1f | |
19 | (defalias 'jabber-concat-rosters-full #[nil "\302\303\304\305\b\"\"\19\302\303\304\306 \"\")\207" [jabber-connections jids apply append mapcar #[(jc) "\301\302\b!\303\"\207" [jc plist-get fsm-get-state-data :roster] 3] #[(jid) "\301\302\303\b!\304N\"\207" [jid mapcar #[(res) "\302\303\304\b @#!\207" [jid res intern format "%s/%s"] 5] jabber-jid-symbol resources] 4]] 5 (#$ . 1470)]) | |
20 | #@39 Return the full JID of connection JC.\1f | |
21 | (defalias 'jabber-connection-jid #[(jc) "\302\b!\19\303 \304\"\305\303 \306\"\307\303 \310\"\260\ 5)\207" [jc sd fsm-get-state-data plist-get :username "@" :server "/" :resource] 7 (#$ . 1938)]) | |
22 | #@39 Return the bare JID of connection JC.\1f | |
23 | (defalias 'jabber-connection-bare-jid #[(jc) "\302\b!\19\303 \304\"\305\303 \306\"Q)\207" [jc sd fsm-get-state-data plist-get :username "@" :server] 5 (#$ . 2172)]) | |
24 | #@174 Return the original JID of connection JC. | |
25 | The "original JID" is the JID we authenticated with. The | |
26 | server might subsequently assign us a different JID at resource | |
27 | binding.\1f | |
28 | (defalias 'jabber-connection-original-jid #[(jc) "\301\302\b!\303\"\207" [jc plist-get fsm-get-state-data :original-jid] 3 (#$ . 2379)]) | |
29 | #@81 Find the connection to the account named by BARE-JID. | |
30 | Return nil if none found.\1f | |
31 | (defalias 'jabber-find-connection #[(bare-jid) "\3042&\0\b\305\19\211\1a\205$\0\n@\11\v\306 !\230\203\1c\0\307\304 \"\210\nA\211\12\204\f\0\305*0\207" [jabber-connections jc --dolist-tail-- bare-jid --cl-block-nil-- nil jabber-connection-bare-jid throw] 4 (#$ . 2694)]) | |
32 | #@82 Find an active connection for dead connection DEAD-JC. | |
33 | Return nil if none found.\1f | |
34 | (defalias 'jabber-find-active-connection #[(dead-jc) "\302\b!\19\303 !)\207" [dead-jc jid jabber-connection-bare-jid jabber-find-connection] 2 (#$ . 3034)]) | |
35 | #@81 Return the username portion of JID, or nil if none found. | |
36 | JID must be a string.\1f | |
37 | (defalias 'jabber-jid-username #[(jid) "\301\302\b\"\205\v\0\303\304\b\"\207" [jid string-match "\\(.*\\)@.*\\(/.*\\)?" match-string 1] 3 (#$ . 3275)]) | |
38 | #@73 Return the user portion (username@server) of JID. | |
39 | JID must be a string.\1f | |
40 | (defalias 'jabber-jid-user #[(jid) "\301\302\b\"\210\303\304\b\"\207" [jid string-match "[^/]*" match-string 0] 3 (#$ . 3509)]) | |
41 | #@35 Return the server portion of JID.\1f | |
42 | (defalias 'jabber-jid-server #[(jid) "\301\302\b\"\210\303\304\b\"\207" [jid string-match "^\\(.*@\\)?\\([^@/]+\\)\\(/.*\\)?$" match-string 2] 3 (#$ . 3713)]) | |
43 | #@55 Return the name of USER if present in roster, or nil.\1f | |
44 | (defalias 'jabber-jid-rostername #[(user) "\301\b!\211\18\302NG\303V\205\10\0\b\302N)\207" [user jabber-jid-symbol name 0] 3 (#$ . 3910)]) | |
45 | #@77 Return the name of the user from STRING as in roster, else username@server.\1f | |
46 | (defalias 'jabber-jid-displayname #[(string) "\301\b!\206\14\0\302\b9\203\12\0\303\b!\202\13\0\b!\207" [string jabber-jid-rostername jabber-jid-user symbol-name] 3 (#$ . 4102)]) | |
47 | #@132 Return from STRING the conference name from boomarks or displayname. | |
48 | Use the name according to roster or else the JID if none set.\1f | |
49 | (defalias 'jabber-jid-bookmarkname #[(string) "\3062:\0\307\18\310\311 \"\210\b\237)@\1a\307\e\n:\2037\0\n@\211\13A@\1c\312\f\236A\r\230\203/\0\313\306\314\f\236A\"\210)\nA\211\12\202\13\0*\3070\206@\0\315\r!\207" [#1=#:--cl-var-- jabber-bookmarks #2=#:--cl-var-- conference ls string --cl-block-nil-- nil maphash #[(#3=#:--cl-var-- value) "\b B\211\11\207" [value #1#] 2] jid throw name jabber-jid-displayname] 5 (#$ . 4350)]) | |
50 | #@86 Return the resource portion of a JID, or nil if there is none. | |
51 | JID must be a string.\1f | |
52 | (defalias 'jabber-jid-resource #[(jid) "\301\302\b\"\205\v\0\303\304\b\"\207" [jid string-match "^\\(\\([^/]*@\\)?[^/]*\\)/\\(.*\\)" match-string 3] 3 (#$ . 4891)]) | |
53 | #@64 Return the symbol for JID, which must be a symbol or a string.\1f | |
54 | (defalias 'jabber-jid-symbol #[(jid) "\b9\203\a\0\b\207\302\303\b!\227 \"\207" [jid jabber-jid-obarray intern jabber-jid-user] 3 (#$ . 5143)]) | |
55 | #@154 Return non-nil if the specified JID is in the `jabber-account-list'. | |
56 | Comment: (modulo resource). | |
57 | Also return non-nil if JID matches JC, modulo resource.\1f | |
58 | (defalias 'jabber-my-jid-p #[(jc jid) "\303\b!\304 !\232\206\12\0\303\b!\305\306\n\"\235\207" [jid jc jabber-account-list jabber-jid-user jabber-connection-bare-jid mapcar #[(x) "\301\b@!\207" [x jabber-jid-user] 2]] 4 (#$ . 5351)]) | |
59 | #@620 Read a jid out of the current roster from the minibuffer. | |
60 | If SUBSET is non-nil, it should be a list of symbols from which | |
61 | the JID is to be selected, instead of using the entire roster. | |
62 | If REQUIRE-MATCH is non-nil, the JID must be in the list used. | |
63 | If DEFAULT is non-nil, it's used as the default value, otherwise | |
64 | the default is inferred from context. | |
65 | RESOURCE is one of the following: | |
66 | ||
67 | nil Accept full or bare JID, as entered | |
68 | full Turn bare JIDs to full ones with highest-priority resource | |
69 | bare-or-muc Turn full JIDs to bare ones, except for in MUC | |
70 | ||
71 | If FULLJIDS is non-nil, complete jids with resources.\1f | |
72 | (defalias 'jabber-read-jid-completing #[(prompt &optional subset require-match default resource fulljids) "\b\203\13\0\b9\203\ f\0\306\b!\202\10\0\b\206N\0\307`\310\"\19\311 !\312N\1a \2059\0\v\2038\0\n\2038\0\313 !\2048\0\314\315 \n#\2029\0 *\206N\0\316\304!\203G\0\f\206N\0\316\305!\205N\0\r\317\320\321\ e\1f\206`\0\v\203^\0\322\202_\0\323 \"\324\1e \1e!\1e\"\1e#\ e\1f\206q\0\323 \324\1e$\211\1e%\203\232\0\ e%@\211\16$\325N\203\221\0\ e$\325N\ e$B\ e!B\16!\ e%A\211\16%\204z\0*\ e\1f\203\254\0\326\ e#\ e!\"\204\254\0\324\16#\327\ e&\ e#\205\271\0\314\330\ e#\"P\ e!\324\ e'\324\331\ e#&\a\211\1e(\203\342\0\332\ e(\ e!\317#\203\342\0\306\332\ e(\ e!\317#A!\202\355\0\ e(G\333U?\205\355\0\ e(\16 )\ e \205K\ 1\ e\n\334\267\202I\ 1\313\ e !\203\b\ 1\ e \202K\ 1\311\ e !\312N\211\1e)\203\1d\ 1\ e \335\ e)Q\202\1f\ 1\ e )\202K\ 1\313\ e !\204/\ 1\ e \202K\ 1\336\ e !\1e*\326\ e*\ e+\"\203C\ 1\ e \202E\ 1\ e*)\202K\ 1\ e ,\207" [default jid res fulljids jabber-chatting-with jabber-group symbol-name get-text-property jabber-jid jabber-jid-symbol resource jabber-jid-resource format "%s/%s" boundp t mapcar #[(item) "\301\b!\bB\207" [item symbol-name] 2] jabber-concat-rosters-full jabber-concat-rosters nil name assoc completing-read "(default %s) " jabber-jid-history assoc-string 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (full 252 bare-or-muc 291)) "/" jabber-jid-user subset chosen jid-completion-table completion-ignore-case jid-at-point item --dolist-tail-- prompt require-match input highest-resource bare *jabber-active-groupchats*] 9 (#$ . 5738)]) | |
73 | #@58 Read node name, taking default from disco item at point.\1f | |
74 | (defalias 'jabber-read-node #[(prompt) "\302`\303\"\18\304 \b\205\ f\0\305\306\b\"P\b\")\207" [node-at-point prompt get-text-property jabber-node read-string format "(default %s) "] 5 (#$ . 7785)]) | |
75 | #@53 Construct key for `password' library from BARE-JID.\1f | |
76 | (defalias 'jabber-password-key #[(bare-jid) "\301\bP\207" [bare-jid "xmpp:"] 2 (#$ . 8038)]) | |
77 | #@39 Read Jabber password from minibuffer.\1f | |
78 | (defalias 'jabber-read-password #[(bare-jid) "\304\305!\205\18\0\305\306\307\b!\310\311\b!\312\313\314\315\316\317&\n@\211\19\2034\0\320 \321\"\1a\322\323\n!\203.\0\n \202/\0\n!)\202B\0\324\325\b\"\e\322\326\v\327\b!\"!))\207" [bare-jid found secret prompt fboundp auth-source-search :user jabber-jid-username :host jabber-jid-server :port "xmpp" :max 1 :require (:secret) plist-get :secret copy-sequence functionp format "Jabber password for %s: " password-read jabber-password-key] 12 (#$ . 8188)]) | |
79 | #@30 Cache PASSWORD for BARE-JID.\1f | |
80 | (defalias 'jabber-cache-password #[(bare-jid password) "\302\303\b! \"\207" [bare-jid password password-cache-add jabber-password-key] 3 (#$ . 8716)]) | |
81 | #@82 Uncache cached password for BARE-JID. | |
82 | Useful if the password proved to be wrong.\1f | |
83 | (defalias 'jabber-uncache-password #[(bare-jid) "\301\302\b!!\207" [bare-jid password-cache-remove jabber-password-key] 3 (#$ . 8901) (list (jabber-jid-user (completing-read "Forget password of account: " jabber-account-list nil nil nil 'jabber-account-history)))]) | |
84 | #@218 Ask for which connected account to use. | |
85 | If ALWAYS-ASK is nil and there is only one account, return that | |
86 | account. | |
87 | If CONTACT-HINT is a string or a JID symbol, default to an account | |
88 | that has that contact in its roster.\1f | |
89 | (defalias 'jabber-read-account #[(&optional always-ask contact-hint) "\306\307\b\"\19\b\204\ f\0\310\311!\202\203\0\bA\204\1d\0\n\204\1d\0\b@\202\203\0\312\313`\314\"\211\e\2050\0\v\b>\2050\0\315\v!) \"A\206\203\0\f\203S\0\316\f!\211\14\203S\0\317\320\b\"\211\1d\205O\0\315\r!)\206i\0\ e\18\203f\0\321\ e\18!\203f\0\315\ e\18!\206i\0 @@\1e\19\322\323\ e\19\324Q \325\326\325\327\ e\19&\a\1e\1a\312\ e\1a \"A*)\207" [jabber-connections completions always-ask at-point contact-hint matching mapcar #[(c) "\301\b!\bB\207" [c jabber-connection-bare-jid] 2] error "Not connected to Jabber" assoc get-text-property jabber-account jabber-connection-bare-jid jabber-jid-symbol cl-find-if #[(jc) "\b\302\303 !\304\">\207" [contact-hint jc plist-get fsm-get-state-data :roster] 4] jabber-find-active-connection completing-read "Select Jabber account (default " "): " nil t jabber-account-history jabber-buffer-connection default input] 9 (#$ . 9254)]) | |
90 | #@263 Return the query part of an IQ stanza. | |
91 | An IQ stanza may have zero or one query child, and zero or one <error/> child. | |
92 | The query child is often but not always <query/>. | |
93 | ||
94 | XML-DATA is the parsed tree data from the stream (stanzas) | |
95 | obtained from `xml-parse-region'.\1f | |
96 | (defalias 'jabber-iq-query #[(xml-data) "\304\18 \211AA\211\305\232?\205\ e\0\211\266\202\304\1a\211\e\2037\0\v@\211\12<\2030\0\n\211<\205'\0\211@\262\ 1\306=\2040\0\n\10\vA\211\13\204\17\0*\b)\207" [query xml-data x --dolist-tail-- nil (("")) error] 5 (#$ . 10347)]) | |
97 | #@145 Return the <error/> part of an IQ stanza, if any. | |
98 | ||
99 | XML-DATA is the parsed tree data from the stream (stanzas) | |
100 | obtained from `xml-parse-region'.\1f | |
101 | (defalias 'jabber-iq-error #[(xml-data) "\301\b\302\"@\207" [xml-data jabber-xml-get-children error] 3 (#$ . 10858)]) | |
102 | #@171 Return the namespace of an IQ stanza, i.e. the namespace of its query part. | |
103 | ||
104 | XML-DATA is the parsed tree data from the stream (stanzas) | |
105 | obtained from `xml-parse-region'.\1f | |
106 | (defalias 'jabber-iq-xmlns #[(xml-data) "\301\b!\302\ 1:\205\r\0\303\ 2\ 2\"\207" [xml-data jabber-iq-query xmlns xml-get-attribute-or-nil] 5 (#$ . 11126)]) | |
107 | #@161 Given a <message/> element, return its timestamp, or nil if none. | |
108 | ||
109 | XML-DATA is the parsed tree data from the stream (stanzas) | |
110 | obtained from `xml-parse-region'.\1f | |
111 | (defalias 'jabber-message-timestamp #[(xml-data) "\301\302\b\303\"\206\f\0\302\b\304\"!\207" [xml-data jabber-x-delay jabber-xml-path (("urn:xmpp:delay" . "delay")) (("jabber:x:delay" . "x"))] 4 (#$ . 11451)]) | |
112 | #@312 Return timestamp given a delayed delivery element. | |
113 | This can be either a <delay/> tag in namespace urn:xmpp:delay (XEP-0203), or | |
114 | a <x/> tag in namespace jabber:x:delay (XEP-0091). | |
115 | Return nil if no such data available. | |
116 | ||
117 | XML-DATA is the parsed tree data from the stream (stanzas) | |
118 | obtained from `xml-parse-region'.\1f | |
119 | (defalias 'jabber-x-delay #[(xml-data) "\b\211<\205\b\0\211@\262\ 1\302=\203@\0\b\303\ 1:\205\1a\0\304\ 2\ 2\"\266\202\305\230\203@\0\b\301\ 1:\205,\0\304\ 2\ 2\"\266\202\211\19;\205>\0 G\306U\205>\0\307 !)\207\b\211<\205H\0\211@\262\ 1\310=\205x\0\b\303\ 1:\205Z\0\304\ 2\ 2\"\266\202\311\230\205x\0\b\301\ 1:\205l\0\304\ 2\ 2\"\266\202\211\19;\205w\0\312 !)\207" [xml-data stamp x xmlns xml-get-attribute-or-nil "jabber:x:delay" 17 jabber-parse-legacy-time delay "urn:xmpp:delay" jabber-parse-time] 6 (#$ . 11825)]) | |
120 | #@86 Parse timestamp in ccyymmddThh:mm:ss format (UTC) and return as internal | |
121 | time value.\1f | |
122 | (defalias 'jabber-parse-legacy-time #[(timestamp) "\306\b\307\310O!\306\b\310\311O!\306\b\311\312O!\306\b\313\314O!\306\b\315\316O!\306\b\317\320O!\19\1a\e\1c\1d\1e\12\321 \n\v\f\r\ e\12\307&\a.\ 6\207" [timestamp second minute hour day month string-to-number 0 4 6 8 9 11 12 14 15 17 encode-time year] 9 (#$ . 12606)]) | |
123 | #@79 Parse TIMESTAMP as internal time value and encode as ccyymmddThh:mm:ss (UTC).\1f | |
124 | (defalias 'jabber-encode-legacy-time #[(timestamp) "\301\302\b\303#\207" [timestamp format-time-string "%Y%m%dT%H:%M:%S" t] 4 (#$ . 12989)]) | |
125 | #@93 Convert TIME to a string by XEP-0082. | |
126 | TIME is in a format accepted by `format-time-string'.\1f | |
127 | (defalias 'jabber-encode-time #[(time) "\301\302\b\303#\207" [time format-time-string "%Y-%m-%dT%H:%M:%SZ" t] 4 (#$ . 13213)]) | |
128 | (defalias 'jabber-encode-timezone #[nil "\304 @\211\18\204\f\0\305\202-\0\b\306Y\19\307\b!\310\245\1a\307\b!\310\246\311\245\e\312\313 \203(\0\314\202)\0\315\n\v$+)\207" [time-zone-offset positivep hours minutes current-time-zone "Z" 0 abs 3600 60 format "%s%02d:%02d" "+" "-"] 6]) | |
129 | #@59 Parse the DateTime encoded in TIME according to XEP-0082.\1f | |
130 | (defalias 'jabber-parse-time #[(raw-time) "\b\306\307O\310\230\203\r\0\b\202\1e\0\b\311\306O\310\b\306\312O\310\b\312\bGO\260\ 5\19\313 \311\306O!\1a\313 \307\314O!\e\313 \315\316O!\1c\313 \317\320O!\1d\313 \321\322O!\1e\"\313 \323\324O!\1e# \324H\325=\203n\0\326 \327\330O\331\"A@\211\1e$\332\230\203h\0\333\202j\0\ e$)\202r\0 \324\330O\211\1e$\333\230\203~\0\311\202\240\0\ e$\311H\334=\203\213\0\335\202\214\0\336\337\211\313\ e$\335\340O!_\313\ e$\306\312O!\\__\1e%\341\ e#\ e\"\r\f\v\n\ e%&\a. \207" [raw-time time year month day hour 4 5 "-" 0 6 string-to-number 7 8 10 11 13 14 16 17 19 46 split-string 20 nil "[-+Z]" "" "Z" 43 1 -1 60 3 encode-time minute second timezone timezone-seconds] 9 (#$ . 13704)]) | |
131 | #@304 IQ callback reporting success or failure of the operation. | |
132 | CONTEXT is a string describing the action. | |
133 | "CONTEXT succeeded" or "CONTEXT failed: REASON" is displayed in | |
134 | the echo area. | |
135 | JC is the Jabber connection. | |
136 | XML-DATA is the parsed tree data from the stream (stanzas) | |
137 | obtained from `xml-parse-region'.\1f | |
138 | (defalias 'jabber-report-success #[(_jc xml-data context) "\b\301\ 1:\205\v\0\304\ 2\ 2\"\266\202\19\305\n \306\230\203\1a\0\307\202,\0\310\311\b!\211\e\203)\0\312\v!\202*\0\313)PP!)\207" [xml-data type context the-error xml-get-attribute-or-nil message "result" " succeeded" " failed: " jabber-iq-error jabber-parse-error "No error message given"] 6 (#$ . 14427)]) | |
139 | #@44 String descriptions of XMPP stanza errors.\1f | |
140 | (defconst jabber-error-messages (byte-code "\300\301B\302\303B\304\305B\306\307B\310\311B\312\313B\314\315B\316\317B\320\321B\322\323B\324\325B\326\327B\330\331B\332\333B\334\335B\336\337B\340\341B\342\343B\344\345B\346\347B\350\351B\352\353B\257\16\207" [bad-request "Bad request" conflict "Conflict" feature-not-implemented "Feature not implemented" forbidden "Forbidden" gone "Gone" internal-server-error "Internal server error" item-not-found "Item not found" jid-malformed "JID malformed" not-acceptable "Not acceptable" not-allowed "Not allowed" not-authorized "Not authorized" payment-required "Payment required" recipient-unavailable "Recipient unavailable" redirect "Redirect" registration-required "Registration required" remote-server-not-found "Remote server not found" remote-server-timeout "Remote server timeout" resource-constraint "Resource constraint" service-unavailable "Service unavailable" subscription-required "Subscription required" undefined-condition "Undefined condition" unexpected-request "Unexpected request"] 23) (#$ . 15082)) | |
141 | #@50 String descriptions of legacy errors (XEP-0086).\1f | |
142 | (defconst jabber-legacy-error-messages (byte-code "\300\301B\302\303B\304\305B\306\307B\310\311B\312\313B\314\315B\316\317B\320\321B\322\323B\324\325B\326\327B\330\331B\332\333B\334\335B\336\337B\340\341B\257\11\207" [302 "Redirect" 400 "Bad request" 401 "Unauthorized" 402 "Payment required" 403 "Forbidden" 404 "Not found" 405 "Not allowed" 406 "Not acceptable" 407 "Registration required" 408 "Request timeout" 409 "Conflict" 500 "Internal server error" 501 "Not implemented" 502 "Remote server error" 503 "Service unavailable" 504 "Remote server timeout" 510 "Disconnected"] 18) (#$ . 16188)) | |
143 | #@151 Parse the given <error/> tag and return a string fit for human consumption. | |
144 | See secton 9.3, Stanza Errors, of XMPP Core, and XEP-0086, Legacy Errors.\1f | |
145 | (defalias 'jabber-parse-error #[(error-xml) "\b\306\ 1:\205\v\0\307\ 2\ 2\"\266\202\b\310\ 1:\205\18\0\307\ 2\ 2\"\266\202\311\211\19\1a\e\211\1c\203\235\0\b\211AA\211\312\232?\2050\0\211\266\202\311\1d\211\1e\11\203\231\0\ e\11@\211\15\313\ 1:\205I\0\307\ 2\ 2\"\266\202\314\230\203\220\0\r\211<\205X\0\211@\262\ 1\301=\203r\0\r\211AA\211\312\232?\205k\0\211\266\202@\11\202\220\0\r\211<\205z\0\211@\262\ 1\ e\12\236A\206\217\0\315\r\211<\205\214\0\211@\262\ 1!\12\ e\11A\211\16\11\204:\0*\202\271\0\316\v!\ e\13\236A\206\250\0\v\12\b\211AA\211\312\232?\205\265\0\211\266\202@\11\n \205\302\0\317\320 \"P,\207" [error-xml text condition error-code error-type child type xml-get-attribute-or-nil code nil (("")) xmlns "urn:ietf:params:xml:ns:xmpp-stanzas" symbol-name string-to-number format ": %s" --dolist-tail-- jabber-error-messages jabber-legacy-error-messages] 7 (#$ . 16839)]) | |
146 | #@63 Parse the given <error/> tag and return the condition symbol.\1f | |
147 | (defalias 'jabber-error-condition #[(error-xml) "\3032F\0\b\211AA\211\304\232?\205\10\0\211\266\202\305\19\211\1a\205D\0\n@\211\11\306\ 1:\205'\0\307\ 2\ 2\"\266\202\310\230\203<\0\311\303 \211<\2058\0\211@\262\ 1\"\210\nA\211\12\204\19\0\305*0\207" [error-xml child --dolist-tail-- condition (("")) nil xmlns xml-get-attribute-or-nil "urn:ietf:params:xml:ns:xmpp-stanzas" throw] 6 (#$ . 17780)]) | |
148 | #@44 String descriptions of XMPP stream errors.\1f | |
149 | (defvar jabber-stream-error-messages (byte-code "\300\301B\302\303B\304\305B\306\307B\310\311B\312\313B\314\315B\316\317B\320\321B\322\323B\324\325B\326\327B\330\331B\332\333B\334\335B\336\337B\340\341B\342\343B\344\345B\346\347B\350\351B\352\353B\354\355B\356\357B\257\18\207" [bad-format "Bad XML format" bad-namespace-prefix "Bad namespace prefix" conflict "Conflict" connection-timeout "Connection timeout" host-gone "Host gone" host-unknown "Host unknown" improper-addressing "Improper addressing" internal-server-error "Internal server error" invalid-from "Invalid from" invalid-id "Invalid id" invalid-namespace "Invalid namespace" invalid-xml "Invalid XML" not-authorized "Not authorized" policy-violation "Policy violation" remote-connection-failed "Remote connection failed" resource-constraint "Resource constraint" restricted-xml "Restricted XML" see-other-host "See other host" system-shutdown "System shutdown" undefined-condition "Undefined condition" unsupported-encoding "Unsupported encoding" unsupported-stanza-type "Unsupported stanza type" unsupported-version "Unsupported version" xml-not-well-formed "XML not well formed"] 25) (#$ . 18217)) | |
150 | #@48 Return the condition of a <stream:error/> tag.\1f | |
151 | (defalias 'jabber-stream-error-condition #[(error-xml) "\3042U\0\b\211AA\211\305\232?\205\10\0\211\266\202\306\19\211\1a\205S\0\n@\211\11\307\ 1:\205'\0\310\ 2\ 2\"\266\202\311\230\203K\0 \211<\2056\0\211@\262\ 1\v\236\203K\0\312\304 \211<\205G\0\211@\262\ 1\"\210\nA\211\12\204\19\0\306*0\207" [error-xml node --dolist-tail-- jabber-stream-error-messages --cl-block-nil-- (("")) nil xmlns xml-get-attribute-or-nil "urn:ietf:params:xml:ns:xmpp-streams" throw] 6 (#$ . 19428)]) | |
152 | #@141 Parse the given error tag and return a string fit for human consumption. | |
153 | ERROR-XML is a <stream:error/> tag parsed with `xml-parse-region'.\1f | |
154 | (defalias 'jabber-parse-stream-error #[(error-xml) "\304\b\305\"@\306\b!\19\1a \203\15\0 \v\236A\202\16\0\307\n\205>\0\n\211AA\211\310\232?\205&\0\211\266\202@;\205>\0\311\n\211AA\211\310\232?\205:\0\211\266\202@PP*\207" [error-xml condition text-node jabber-stream-error-messages jabber-xml-get-children text jabber-stream-error-condition "Unknown stream error" (("")) ": "] 6 (#$ . 19926)]) | |
155 | (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put jabber-error error-conditions (error jabber-error) error-message "Jabber error"] 4) | |
156 | #@417 Signal an error to be sent by Jabber. | |
157 | ERROR-TYPE is one of "Cancel", "Continue", "Mmodify", "Auth" | |
158 | and "Wait" (lowercase versions make `checkdoc' to throw errors). | |
159 | CONDITION is a symbol denoting a defined XMPP condition. | |
160 | TEXT is a string to be sent in the error message, or nil for no text. | |
161 | APP-SPECIFIC is a list of extra XML tags. | |
162 | ||
163 | See section 9.3 of XMPP Core (RFC 3920). | |
164 | See section 8.3 of XMPP Core (RFC 6120).\1f | |
165 | (defalias 'jabber-signal-error #[(error-type condition &optional text app-specific) "\304\305\b\227 \n\vF\"\207" [error-type condition text app-specific signal jabber-error] 6 (#$ . 20594)]) | |
166 | #@155 Convert a hex-encoded UTF-8 string to Emacs representation. | |
167 | For example, "ji%C5%99i@%C4%8Dechy.example/v%20Praze" becomes | |
168 | "jiři@čechy.example/v Praze".\1f | |
169 | (defalias 'jabber-unhex #[(string) "\301\302\b!\303\"\207" [string decode-coding-string url-unhex-string utf-8] 3 (#$ . 21206)]) | |
170 | #@206 Handle XMPP links according to draft-saintandre-xmpp-iri-04. | |
171 | See Info node `(jabber)XMPP URIs'. | |
172 | URI is a string with the "xmpp://" link to handle. | |
173 | IGNORED-ARGS are ignored arguments the handler may pass. \1f | |
174 | (defalias 'jabber-handle-uri #[(uri &rest _ignored-args) "\306\307\b\"\203\v\0\310\311!\210\306\312\b\"\204\17\0\310\313\b\"\210\314 \210\315\316\317\b\"!\316\320\b\"\316\321\b\"\211\19\2057\0\322 \323\"\1a\324\325\n\"))\e\1c\1d\f\326\230\203T\0\327 \1e\"\330\ e\"\r\331\ e\"\r\"\332$)\202z\0\f\333\230\203b\0\334\327 \r\"\202z\0\f\335\230\203u\0\336\327 \r\337\340\v\"A#\202z\0\341\327 \r\"+\207" [uri text pairs args method jid string-match "//" error "URIs with authority part are not supported" "^xmpp:\\([^?]+\\)\\(\\?\\([a-z]+\\)\\(;\\(.*\\)\\)?\\)?" "Invalid XMPP URI '%s'" raise-frame jabber-unhex match-string 1 3 5 split-string ";" mapcar #[(pair) "\304\b\305\"\211\19G\306U\203\14\0 \211A\11\242\202\e\0\307\310\311 GD\"\1a \242\e\n\312\v!+B\207" [pair #1=#:--cl-rest-- key value split-string "=" 2 signal wrong-number-of-arguments (key value) jabber-unhex] 5] "join" jabber-read-account jabber-muc-join jabber-muc-read-my-nickname t "register" jabber-get-register "command" jabber-ahc-execute-command assoc "node" jabber-chat-with account] 7 (#$ . 21495) "sEnter XMPP URI: "]) | |
175 | #@49 Handle XMPP URLs from internal Emacs functions.\1f | |
176 | (defalias 'url-xmpp #[(url) "\301\302\b!!\207" [url jabber-handle-uri url-recreate-url] 3 (#$ . 22742)]) | |
177 | #@70 Return t if first arg string is more than second in numerical order.\1f | |
178 | (defalias 'string>-numerical #[(s1 s2) "\b \230\203\b\0\302\207\bG GV\203\12\0\303\207\bG GW\203\1c\0\302\207\304\b\305\306O!\304 \305\306O!W\203.\0\302\207\304\b\305\306O!\304 \305\306O!V\203@\0\303\207\307\b\306\302O \306\302O\"\207" [s1 s2 nil t string-to-number 0 1 string>-numerical] 5 (#$ . 22900)]) | |
179 | #@166 Append STRING (may be nil) to FILE. Create FILE if needed. | |
180 | If FUNC is non-nil, then call FUNC with ARGS at beginning of | |
181 | temporaly buffer _before_ inserting STRING.\1f | |
182 | (defalias 'jabber-append-string-to-file #[(string file &optional func &rest args) "\b;\204\v\0\305 !\2052\0\306\307\310\"\1ar\nq\210\311\216\305 !\203!\0\312 \v\"\210\b;\203)\0\bc\210\313ed\f\310\211C%+\207" [string func #1=#:temp-buffer args file functionp generate-new-buffer " *temp*" t #[nil "\301\b!\205 \0\302\b!\207" [#1# buffer-name kill-buffer] 2] apply write-region] 6 (#$ . 23266)]) | |
183 | #@109 Apply FN to all nodes in the TREE starting with root. | |
184 | FN is applied to the node and not to the data itself.\1f | |
185 | (defalias 'jabber-tree-map #[(fn tree) "\306C\18 \b\211\1a\e\211\1c:\203?\0\fA\n\f@\211\1d:\204 \0\ e\b\r!\202%\0\307\ e\b\r\"\1e \n\211\1e\n\ e \240\210)\n\211\1e\v\306C\241+\12\13\211\14\202\n\0\v\211\1e\f\f\205K\0\ e\b\f!\241\210)\b,\207" [result tree end prev tail x nil jabber-tree-map fn val #1=#:v #2=#:v #3=#:v] 6 (#$ . 23818)]) | |
186 | (provide 'jabber-util) |