;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require xml jabber-util] 2) #@24 escape strings for xml (defalias 'jabber-escape-xml #[(str) ";\203u\260\211\304\305\306 \n\307\211%+\211\310\311\306 \n\307\211%+\211\312\313\306 \n\307\211%+\211\314\315\306 \n\307\211%+\211\316\317\306 \n\307\211%+\211\320\321\306 \n\307\211%+\211\322\323\306 \n\307\211%+\211)\207\207" [str newstr newtext regexp "\f" "\n" replace-regexp-in-string t "[- \f-]" " " "&" "&" "<" "<" ">" ">" "'" "'" "\"" """] 7 (#$ . 156)]) #@22 unescape xml strings (defalias 'jabber-unescape-xml #[(str) ";\203U\211\304\305\306 \n\307\211%+\211\310\311\306 \n\307\211%+\211\312\313\306 \n\307\211%+\211\314\315\306 \n\307\211%+\211\316\317\306 \n\307\211%+\211)\207\207" [str newstr newtext regexp """ "\"" replace-regexp-in-string t "'" "'" ">" ">" "<" "<" "&" "&"] 7 (#$ . 651)]) #@133 converts an SEXP in the format (tagname ((attribute-name . attribute-value)...) children...) and converts it to well-formatted xml. (defalias 'jabber-sexp2xml #[(sexp) ";\203 \306!\207@<\203-\307\310\211\203) @ \311\n!P A\211\204* )\207:\203B@;\203B@G\312U\203B\307\207\307\313\314@!PA@\310\211\203r @\211:\203k \315\316\314\f@!\306\fA!#P A\211\204U*AA\203\244 \317PAA\310\211\203\227 @ \311 !P A\211\204\207* \320\314@!\317R\202\250 \321P )\207" [sexp xml tag --dolist-tail-- attr child jabber-escape-xml "" nil jabber-sexp2xml 0 "<" symbol-name format " %s='%s'" ">" ""] 7 (#$ . 1046)]) #@300 Skip to end of tag or matching closing tag if present. Return t iff after a closing tag, otherwise throws an 'unfinished tag with value nil. If DONT-RECURSE-INTO-STREAM is true, stop after an opening tag. The version of `sgml-skip-tag-forward' in Emacs 21 isn't good enough for us. (defalias 'jabber-xml-skip-tag-forward #[(&optional dont-recurse-into-stream) "\302\303w\210\304\305!\203\306\307\303\310#\203\311\225b\207\312\313\303\"\207\304\314!\203r\315\316!\311\225b\210\317\320!\210\304\321!\203;\311\225b\210\310\202p\304\322!\203l\311\225b\210 \203O\323\232\204h\302\303w\210\304\324\325\322Q!!\204d\326 \210\202O\311\225b\210\310\202p\312\313\303\")\207\312\313\303\"\207" [node-name dont-recurse-into-stream "^<" nil looking-at "" t 0 throw unfinished "<\\([^[:space:]/>]+\\)\\([[:space:]]+[^=>]+=[[:space:]]*'[^']*'\\|[[:space:]]+[^=>]+=[[:space:]]*\"[^\"]*\"\\)*" match-string 1 skip-syntax-forward " -" "/>" ">" "stream:stream" regexp-quote "