;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\3031\300\304!0\207\210\305\207" [require cl password-cache (error) auth-source nil] 2) #@25 History of entered JIDs (defvar jabber-jid-history nil (#$ . 215)) (byte-code "\300\301!\203\302\303\304\"\210\305\303\306\307#\210\310\303\311\312#\210\202L\300\313!\203H\3141/\313\315\316\317\320$0\210\2024\210\321\322!\210\302\303\323\"\210\305\303\306\307#\210\310\303\311\312#\210\202L\321\324!\210\300\325!\203Z\302\326\325\"\210\202_\302\326\327\"\210\300\330!\204l\302\330\331\332B\"\210\302\333\334\"\210\305\333\306\307#\210\310\333\311\312#\210\300\335!\204\224\302\335\336\"\210\305\335\306\307#\210\310\335\311\312#\210\300\337!\204\253\302\337\340\"\210\305\337\306\307#\210\310\337\311\312#\210\300\341!\203\271\302\342\341\"\210\202\276\302\342\343\"\210\300\344!\203\314\302\345\344\"\210\202\336\300\346!\203\332\302\345\346\"\210\202\336\321\347!\210\300\207" [fboundp replace-regexp-in-string defalias jabber-replace-in-string #[(str regexp newtext) "\303 \n\304\211%\207" [regexp newtext str replace-regexp-in-string t] 6] function-put speed -1 put byte-optimizer byte-compile-inline-expand replace-in-string (wrong-number-of-arguments) "foobar" "foo" "bar" t error "`replace-in-string' doesn't accept fourth argument" #[(str regexp newtext) "\303 \n\304$\207" [str regexp newtext replace-in-string t] 5] "No implementation of `jabber-replace-in-string' available" propertize jabber-propertize #[(string &rest properties) "\303!\304\305 G\n $\210 )\207" [string str properties copy-sequence add-text-properties 0] 5 "Return a copy of STRING with text properties added.\n\n [Note: this docstring has been copied from the Emacs 21 version]\n\nFirst argument is the string to copy.\nRemaining arguments form a sequence of PROPERTY VALUE pairs for text\nproperties to add to the result."] bound-and-true-p macro #[(var) "\301\302\303DDE\207" [var and boundp quote] 4 "Return the value of symbol VAR if it is bound, else nil."] jabber-read-with-input-method #[(prompt &optional initial-contents history default-value) "\304 \n \305%\207" [prompt initial-contents history default-value read-string t] 6] delete-and-extract-region #[(start end) " { |\210\207" [start end] 3] access-file #[(filename error-message) "\302!?\205\n\303 !\207" [filename error-message file-readable-p error] 2] float-time jabber-float-time #[(&optional specified-time) "\204\301 \302@_A@\\\207" [specified-time current-time 65536.0] 2] cancel-timer jabber-cancel-timer delete-itimer "No `cancel-timer' function found"] 5) #@52 Concatenate the rosters of all connected accounts. (defalias 'jabber-concat-rosters #[nil "\301\302\303\304\"\"\207" [jabber-connections apply append mapcar #[(jc) "\301\302!\303\"\207" [jc plist-get fsm-get-state-data :roster] 3]] 5 (#$ . 2670)]) #@84 Concatenate the rosters of all connected accounts. Show full jids (with resources) (defalias 'jabber-concat-rosters-full #[nil "\302\303\304\305\"\"\302\303\304\306 \"\")\207" [jabber-connections jids apply append mapcar #[(jc) "\301\302!\303\"\207" [jc plist-get fsm-get-state-data :roster] 3] #[(jid) "\301\302\303!\304N\"\207" [jid mapcar #[(res) "\302\303\304 @#!\207" [jid res intern format "%s/%s"] 5] jabber-jid-symbol resources] 4]] 5 (#$ . 2926)]) #@46 Return the full JID of the given connection. (defalias 'jabber-connection-jid #[(jc) "\302!\303 \304\"\305\303 \306\"\307\303 \310\"\260)\207" [jc sd fsm-get-state-data plist-get :username "@" :server "/" :resource] 7 (#$ . 3394)]) #@46 Return the bare JID of the given connection. (defalias 'jabber-connection-bare-jid #[(jc) "\302!\303 \304\"\305\303 \306\"Q)\207" [jc sd fsm-get-state-data plist-get :username "@" :server] 5 (#$ . 3635)]) #@181 Return the original JID of the given connection. The "original JID" is the JID we authenticated with. The server might subsequently assign us a different JID at resource binding. (defalias 'jabber-connection-original-jid #[(jc) "\301\302!\303\"\207" [jc plist-get fsm-get-state-data :original-jid] 3 (#$ . 3849)]) #@81 Find the connection to the account named by BARE-JID. Return nil if none found. (defalias 'jabber-find-connection #[(bare-jid) "\3042&\305\211\205$\n@ \306 !\230\203\307\304 \"\210\nA\211\204\f\305*0\207" [jabber-connections jc --dolist-tail-- bare-jid --cl-block-nil-- nil jabber-connection-bare-jid throw] 4 (#$ . 4171)]) #@99 Given a dead connection, find an active connection to the same account. Return nil if none found. (defalias 'jabber-find-active-connection #[(dead-jc) "\302!\303 !)\207" [dead-jc jid jabber-connection-bare-jid jabber-find-connection] 2 (#$ . 4511)]) #@61 return the username portion of a JID, or nil if no username (defalias 'jabber-jid-username #[(string) "\301\302\"\205 \303\304\"\207" [string string-match "\\(.*\\)@.*\\(/.*\\)?" match-string 1] 3 (#$ . 4769)]) #@52 return the user (username@server) portion of a JID (defalias 'jabber-jid-user #[(string) "\301\302\"\210\303\304\"\207" [string string-match "[^/]*" match-string 0] 3 (#$ . 4989)]) #@37 Return the server portion of a JID. (defalias 'jabber-jid-server #[(string) "\301\302\"\210\303\304\"\207" [string string-match "^\\(.*@\\)?\\([^@/]+\\)\\(/.*\\)?$" match-string 2] 3 (#$ . 5178)]) #@59 return the name of the user, if given in roster, else nil (defalias 'jabber-jid-rostername #[(string) "\302!\211\303NG\304V\205 \303N)\207" [string user jabber-jid-symbol name 0] 3 (#$ . 5383)]) #@71 return the name of the user, if given in roster, else username@server (defalias 'jabber-jid-displayname #[(string) "\301!\206\3029\203\303!\202!\207" [string jabber-jid-rostername jabber-jid-user symbol-name] 3 (#$ . 5588)]) #@89 Return the conference name from boomarks or displayname from roster, or JID if none set (defalias 'jabber-jid-bookmarkname #[(string) "\306\301!\210\3072>\310\311\312 \"\210\237)@\310\n:\203;\n@\211A@\313\f\236A \230\2033\314\307\315\f\236A\"\210)\nA\211\202*\3100\206D\316 !\207" [#1=#:--cl-var-- jabber-bookmarks #2=#:--cl-var-- conference ls string require --cl-block-nil-- nil maphash #[(#3=#:--cl-var-- value) " B\211\207" [value #1#] 2] jid throw name jabber-jid-displayname] 5 (#$ . 5829)]) #@64 return the resource portion of a JID, or nil if there is none. (defalias 'jabber-jid-resource #[(string) "\301\302\"\205 \303\304\"\207" [string string-match "^\\(\\([^/]*@\\)?[^/]*\\)/\\(.*\\)" match-string 3] 3 (#$ . 6348)]) #@37 return the symbol for the given JID (defalias 'jabber-jid-symbol #[(string) "9\203\207\302\303!\227 \"\207" [string jabber-jid-obarray intern jabber-jid-user] 3 (#$ . 6584)]) #@138 Return non-nil if the specified JID is in jabber-account-list (modulo resource). Also return non-nil if JID matches JC, modulo resource. (defalias 'jabber-my-jid-p #[(jc jid) "\303!\304 !\232\206\303!\305\306\n\"\235\207" [jid jc jabber-account-list jabber-jid-user jabber-connection-bare-jid mapcar #[(x) "\301@!\207" [x jabber-jid-user] 2]] 4 (#$ . 6771)]) #@620 read a jid out of the current roster from the minibuffer. If SUBSET is non-nil, it should be a list of symbols from which the JID is to be selected, instead of using the entire roster. If REQUIRE-MATCH is non-nil, the JID must be in the list used. If DEFAULT is non-nil, it's used as the default value, otherwise the default is inferred from context. RESOURCE is one of the following: nil Accept full or bare JID, as entered full Turn bare JIDs to full ones with highest-priority resource bare-or-muc Turn full JIDs to bare ones, except for in MUC If FULLJIDS is non-nil, complete jids with resources. (defalias 'jabber-read-jid-completing #[(prompt &optional subset require-match default resource fulljids) "\2039\203\306!\202\206N\307`\310\"\311 !\312N \2059 \2038\n\2038\313 !\2048\314\315 \n#\2029 *\206N\316\304!\203G\f\206N\316\305!\205N \317\320\321\206` \203^\322\202_\323 \"\324 !\"#\206q\323 \324$\211%\203\232%@\211$\325N\203\221$\325N$B!B!%A\211%\204z*\203\254\326#!\"\204\254\324#\327&#\205\271\314\330#\"P!\324'\324\331#&\211(\203\340\332(!\"\203\340\306\332(!\"A!\202\353(G\333U?\205\353( ) \205I\n\334\267\202G\313 !\203 \202I\311 !\312N\211)\203 \335)Q\202 )\202I\313 !\204- \202I\336 !*\326*+\"\203A \202C*)\202I ,\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\207" [item symbol-name] 2] jabber-concat-rosters-full jabber-concat-rosters nil name assoc completing-read "(default %s) " jabber-jid-history assoc-ignore-case 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (full 250 bare-or-muc 289)) "/" 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 (#$ . 7142)]) #@58 Read node name, taking default from disco item at point. (defalias 'jabber-read-node #[(prompt) "\302`\303\"\304 \205\305\306\"P\")\207" [node-at-point prompt get-text-property jabber-node read-string format "(default %s) "] 5 (#$ . 9188)]) #@53 Construct key for `password' library from BARE-JID. (defalias 'jabber-password-key #[(bare-jid) "\301P\207" [bare-jid "xmpp:"] 2 (#$ . 9441)]) #@39 Read Jabber password from minibuffer. (defalias 'jabber-read-password #[(bare-jid) "\304\305!\205\305\306\307!\310\311!\312\313\314\315\316\317&\n@\211\2034\320 \321\"\322\323\n!\203.\n \202/\n!)\202B\324\325\"\322\326 \327!\"!))\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 (#$ . 9591)]) #@30 Cache PASSWORD for BARE-JID. (defalias 'jabber-cache-password #[(bare-jid password) "\302\303! \"\207" [bare-jid password password-cache-add jabber-password-key] 3 (#$ . 10119)]) #@82 Uncache cached password for BARE-JID. Useful if the password proved to be wrong. (defalias 'jabber-uncache-password #[(bare-jid) "\301\302!!\207" [bare-jid password-cache-remove jabber-password-key] 3 (#$ . 10305) (list (jabber-jid-user (completing-read "Forget password of account: " jabber-account-list nil nil nil 'jabber-account-history)))]) #@218 Ask for which connected account to use. If ALWAYS-ASK is nil and there is only one account, return that account. If CONTACT-HINT is a string or a JID symbol, default to an account that has that contact in its roster. (defalias 'jabber-read-account #[(&optional always-ask contact-hint) "\306\307\"\204\310\311!\202\203A\204\n\204@\202\203\312\313`\314\"\211\2050 >\2050\315 !) \"A\206\203\f\203S\316\f!\211\203S\317\320\"\211\205O\315 !)\206i\203f\321!\203f\315!\206i @@\322\323\324Q \325\326\325\327&\312 \"A*)\207" [jabber-connections completions always-ask at-point contact-hint matching mapcar #[(c) "\301!B\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 find-if #[(jc) "\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 (#$ . 10659)]) #@169 Return the query part of an IQ stanza. An IQ stanza may have zero or one query child, and zero or one child. The query child is often but not always . (defalias 'jabber-iq-query #[(xml-data) "\306 \211AA\211\307\232?\205 *\306\211\2038 @\211<\2031\f\211<\205)\n@)\310=\2041\f A\211\204*)\207" [query xml-data node children x --dolist-tail-- nil (("")) error] 3 (#$ . 11750)]) #@51 Return the part of an IQ stanza, if any. (defalias 'jabber-iq-error #[(xml-data) "\301\302\"@\207" [xml-data jabber-xml-get-children error] 3 (#$ . 12167)]) #@77 Return the namespace of an IQ stanza, i.e. the namespace of its query part. (defalias 'jabber-iq-xmlns #[(xml-data) "\303!\304\211:\205\305\n \"*\207" [xml-data attribute node jabber-iq-query xmlns xml-get-attribute-or-nil] 4 (#$ . 12340)]) #@67 Given a element, return its timestamp, or nil if none. (defalias 'jabber-message-timestamp #[(xml-data) "\301\302\303\"\206\f\302\304\"!\207" [xml-data jabber-x-delay jabber-xml-path (("urn:xmpp:delay" . "delay")) (("jabber:x:delay" . "x"))] 4 (#$ . 12592)]) #@218 Return timestamp given a delayed delivery element. This can be either a tag in namespace urn:xmpp:delay (XEP-0203), or a tag in namespace jabber:x:delay (XEP-0091). Return nil if no such data available. (defalias 'jabber-x-delay #[(xml-data) "\211<\205 @)\304=\203B\305\211:\205\306 \n\"*\307\230\203B\303\211:\205/\306 \n\"*\211;\205@ G\310U\205@\311 !)\207\211<\205K @)\312=\205|\305\211:\205^\306 \n\"*\313\230\205|\303\211:\205q\306 \n\"*\211;\205{\314 !)\207" [xml-data node attribute stamp x xmlns xml-get-attribute-or-nil "jabber:x:delay" 17 jabber-parse-legacy-time delay "urn:xmpp:delay" jabber-parse-time] 4 (#$ . 12872)]) #@86 Parse timestamp in ccyymmddThh:mm:ss format (UTC) and return as internal time value. (defalias 'jabber-parse-legacy-time #[(timestamp) "\306\307\310O!\306\310\311O!\306\311\312O!\306\313\314O!\306\315\316O!\306\317\320O!\321 \n \f \307&.\207" [timestamp second minute hour day month string-to-number 0 4 6 8 9 11 12 14 15 17 encode-time year] 9 (#$ . 13558)]) #@79 Parse TIMESTAMP as internal time value and encode as ccyymmddThh:mm:ss (UTC). (defalias 'jabber-encode-legacy-time #[(timestamp) "\301\302\303#\207" [timestamp format-time-string "%Y%m%dT%H:%M:%S" t] 4 (#$ . 13941)]) #@93 Convert TIME to a string by JEP-0082. TIME is in a format accepted by `format-time-string'. (defalias 'jabber-encode-time #[(time) "\301\302\303#\207" [time format-time-string "%Y-%m-%dT%H:%M:%SZ" t] 4 (#$ . 14165)]) (defalias 'jabber-encode-timezone #[nil "\304 @\211\204\f\305\202-\306Y\307!\310\245\307!\310\246\311\245\312\313 \203(\314\202)\315\n $+)\207" [time-zone-offset positivep hours minutes current-time-zone "Z" 0 abs 3600 60 format "%s%02d:%02d" "+" "-"] 6]) #@59 Parse the DateTime encoded in TIME according to JEP-0082. (defalias 'jabber-parse-time #[(raw-time) "\306\307O\310\230\203 \202\311\306O\310\306\312O\310\312GO\260\313 \311\306O!\313 \307\314O!\313 \315\316O!\313 \317\320O!\313 \321\322O! \313 \323\324O!! \324H\325=\205Y\313 \326\327O!\" \"\203e\327\202f\324\330O\211#\331\230\203t\311\202\226#\311H\332=\203\201\333\202\202\334\335\211\313#\333\336O!_\313#\306\312O!\\__$\337! \f \n$&.\n\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 20 23 nil "Z" 43 1 -1 60 3 encode-time minute second fraction timezone timezone-seconds] 9 (#$ . 14656)]) #@182 IQ callback reporting success or failure of the operation. CONTEXT is a string describing the action. "CONTEXT succeeded" or "CONTEXT failed: REASON" is displayed in the echo area. (defalias 'jabber-report-success #[(jc xml-data context) "\303\211:\205 \306\n \"*\307\f \310\230\203\311\202-\312\313!\211\203*\314 !\202+\315)PP!)\207" [xml-data attribute node type context the-error xml-get-attribute-or-nil message "result" " succeeded" " failed: " jabber-iq-error jabber-parse-error "No error message given"] 6 (#$ . 15342)]) #@43 String descriptions of XMPP stanza errors (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\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) (#$ . 15888)) #@49 String descriptions of legacy errors (JEP-0086) (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\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) (#$ . 16993)) #@151 Parse the given tag and return a string fit for human consumption. See secton 9.3, Stanza Errors, of XMPP Core, and JEP-0086, Legacy Errors. (defalias 'jabber-parse-error #[(error-xml) "\306\211:\205 \307\n \"*\310\211:\205\307\n \"*\311\211\211\203\255\211AA\211\312\232?\2057*\311\211\203\251@\211\313\211:\205S\307\n \"*\314\230\203\240\211<\205c\n@)\303=\203\200\211AA\211\312\232?\205z*@\202\240\211<\205\212\n@)\236A\206\237\315\211<\205\235\n@)!A\211\204A*\202\314\316 !\236A\206\270 \211AA\211\312\232?\205\311*@\f \205\325\317\320 \"P,\207" [error-xml attribute node text condition error-code type xml-get-attribute-or-nil code nil (("")) xmlns "urn:ietf:params:xml:ns:xmpp-stanzas" symbol-name string-to-number format ": %s" error-type children child --dolist-tail-- jabber-error-messages jabber-legacy-error-messages] 5 (#$ . 17643)]) #@63 Parse the given tag and return the condition symbol. (defalias 'jabber-error-condition #[(error-xml) "\3062H\211AA\211\307\232?\205\n*\310\211\205F\f@\211\311\211:\205*\312 \"*\313\230\203>\314\306 \211<\205; @)\"\210\fA\211\204\310*0\207" [error-xml node children child --dolist-tail-- attribute condition (("")) nil xmlns xml-get-attribute-or-nil "urn:ietf:params:xml:ns:xmpp-stanzas" throw] 4 (#$ . 18585)]) #@43 String descriptions of XMPP stream errors (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\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) (#$ . 19031)) #@48 Return the condition of a tag. (defalias 'jabber-stream-error-condition #[(error-xml) "\3062W\211AA\211\307\232?\205\n*\310\211\205U @\211\311\211:\205*\312 \f\"*\313\230\203M \211<\2059 @) \236\203M\314\306 \211<\205J @)\"\210 A\211\204\310*0\207" [error-xml node children --dolist-tail-- attribute jabber-stream-error-messages --cl-block-nil-- (("")) nil xmlns xml-get-attribute-or-nil "urn:ietf:params:xml:ns:xmpp-streams" throw] 4 (#$ . 20241)]) #@83 Parse the given tag and return a sting fit for human consumption. (defalias 'jabber-parse-stream-error #[(error-xml) "\306\307\"@\310! \203 \236A\202\311\n\205@\n\211AA\211\312\232?\205( *@;\205@\313\n\211AA\211\312\232?\205= *@PP*\207" [error-xml condition text-node jabber-stream-error-messages node children jabber-xml-get-children text jabber-stream-error-condition "Unknown stream error" (("")) ": "] 5 (#$ . 20735)]) (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) #@311 Signal an error to be sent by Jabber. ERROR-TYPE is one of "cancel", "continue", "modify", "auth" and "wait". CONDITION is a symbol denoting a defined XMPP condition. TEXT is a string to be sent in the error message, or nil for no text. APP-SPECIFIC is a list of extra XML tags. See section 9.3 of XMPP Core. (defalias 'jabber-signal-error #[(error-type condition &optional text app-specific) "\304\305 \n F\"\207" [error-type condition text app-specific signal jabber-error] 6 (#$ . 21343)]) #@155 Convert a hex-encoded UTF-8 string to Emacs representation. For example, "ji%C5%99i@%C4%8Dechy.example/v%20Praze" becomes "jiři@čechy.example/v Praze". (defalias 'jabber-unhex #[(string) "\301\302!\303\"\207" [string decode-coding-string url-unhex-string utf-8] 3 (#$ . 21845)]) #@97 Handle XMPP links according to draft-saintandre-xmpp-iri-04. See Info node `(jabber)XMPP URIs'. (defalias 'jabber-handle-uri #[(uri &rest ignored-args) "\306\307\"\203 \310\311!\210\306\312\"\204\310\313\"\210\314 \210\315\316\317\"!\316\320\"\316\321\"\211\2057\322 \323\"\324\325\n\"))\f\326\230\203T\327 \"\330\" \331\" \"\332$)\202z\f\333\230\203b\334\327 \"\202z\f\335\230\203u\336\327 \337\340 \"A#\202z\341\327 \"+\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\305\"\211G\306U\203 \211A\242\202\307\310\311 GD\" \242\n\312 !+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 (#$ . 22133) "sEnter XMPP URI: "]) #@49 Handle XMPP URLs from internal Emacs functions. (defalias 'url-xmpp #[(url) "\301\302!!\207" [url jabber-handle-uri url-recreate-url] 3 (#$ . 23270)]) #@70 Return t if first arg string is more than second in numerical order. (defalias 'string>-numerical #[(s1 s2) " \230\203\302\207G GV\203\303\207G GW\203\302\207\304\305\306O!\304 \305\306O!W\203.\302\207\304\305\306O!\304 \305\306O!V\203@\303\207\307\306\302O \306\302O\"\207" [s1 s2 nil t string-to-number 0 1 string>-numerical] 5 (#$ . 23428)]) #@165 Append STRING (may be nil) to FILE. Create FILE if needed. If FUNC is non-nil, then call FUNC with ARGS at beginning of temporaly buffer _before_ inserting STRING. (defalias 'jabber-append-string-to-file #[(string file &optional func &rest args) ";\204 \305 !\2052\306\307\310\"r\nq\210\311\216\305 !\203!\312 \"\210;\203)c\210\313ed\f\310\211C%+\207" [string func #1=#:temp-buffer args file functionp generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] apply write-region] 6 (#$ . 23794)]) #@109 Apply FN to all nodes in the TREE starting with root. FN is applied to the node and not to the data itself. (defalias 'jabber-tree-map #[(fn tree) "\306C \211\211:\203?\fA\n\f@\211:\204  !\202%\307 \" \n\211\n \240\210)\n\211 \306C\241+\211\202\n \211\f\f\205K\f!\241\210),\207" [result tree end prev tail x nil jabber-tree-map fn val #1=#:v #2=#:v #3=#:v] 6 (#$ . 24345)]) (provide 'jabber-util)