;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306\307%\207" [require cl custom-declare-group jabber-chatstates nil "Chat state notifications." :group jabber] 6) #@43 XML namespace for the chatstates feature. (defconst jabber-chatstates-xmlns "http://jabber.org/protocol/chatstates" (#$ . 244)) #@39 Send notifications about chat states? (custom-declare-variable 'jabber-chatstates-confirm t '(#$ . 378) :group 'jabber-chatstates :type 'boolean) #@186 Whether or not chat states notification was requested. This is one of the following: first-time - send state in first stanza, then switch to nil t - send states nil - don't send states (defvar jabber-chatstates-requested 'first-time (#$ . 531)) (make-variable-buffer-local 'jabber-chatstates-requested) #@27 The last seen chat state. (defvar jabber-chatstates-last-state nil (#$ . 840)) (make-variable-buffer-local 'jabber-chatstates-last-state) #@55 Human-readable presentation of chat state information (defvar jabber-chatstates-message "" (#$ . 984)) (make-variable-buffer-local 'jabber-chatstates-message) (defalias 'jabber-chatstates-update-message #[nil "\203\302=\204\303\304\305!\"\202\306\211\207" [jabber-chatstates-last-state jabber-chatstates-message active format " (%s)" symbol-name ""] 4]) (add-hook 'jabber-chat-send-hooks 'jabber-chatstates-when-sending) (defalias 'jabber-chatstates-when-sending #[(text id) "\304 \210\305 \210\205 \205 \306=\203\307\307\310\311 BCDC\207" [jabber-chatstates-confirm jabber-chatstates-requested jabber-chatstates-composing-sent jabber-chatstates-xmlns jabber-chatstates-update-message jabber-chatstates-stop-timer first-time nil active xmlns] 3]) #@83 Has composing notification been sent? It can be sent and cancelled several times. (defvar jabber-chatstates-composing-sent nil (#$ . 1756)) (make-variable-buffer-local 'jabber-chatstates-composing-sent) #@58 Timer that counts down from 'composing state to 'paused. (defvar jabber-chatstates-paused-timer nil (#$ . 1965)) (make-variable-buffer-local 'jabber-chatstates-paused-timer) #@25 Stop the 'paused timer. (defalias 'jabber-chatstates-stop-timer #[nil "\205\301!\207" [jabber-chatstates-paused-timer cancel-timer] 2 (#$ . 2145)]) #@53 Start (or restart) the 'paused timer as approriate. (defalias 'jabber-chatstates-kick-timer #[nil "\301 \210\302\303\304\305#\211\207" [jabber-chatstates-paused-timer jabber-chatstates-stop-timer run-with-timer 5 nil jabber-chatstates-send-paused] 4 (#$ . 2303)]) #@37 Send an 'paused state notification. (defalias 'jabber-chatstates-send-paused #[nil "\205 \205\305\306 \307\310 B\311B\312\313\fBCDE\"\207" [jabber-chatstates-requested jabber-chatting-with jabber-chatstates-composing-sent jabber-buffer-connection jabber-chatstates-xmlns nil jabber-send-sexp-if-connected message to ((type . "chat")) paused xmlns] 7 (#$ . 2574)]) (defalias 'jabber-chatstates-after-change #[nil "dU?\211\203 \306\202\307 \205?\f\205? \205? =?\205?\310\311\312\fB\313B\n\314BCDE\"\210 \211\205?\315 *\207" [jabber-point-insert composing-now state jabber-chatstates-confirm jabber-chatting-with jabber-chatstates-requested composing active jabber-send-sexp-if-connected message to ((type . "chat")) xmlns jabber-chatstates-kick-timer jabber-chatstates-composing-sent jabber-buffer-connection jabber-chatstates-xmlns] 8]) (defalias 'jabber-handle-incoming-message-chatstates #[(jc xml-data) "\306\307\310\211:\205\311\n \"*!!\205\303r\307\310\211:\205$\311\n \"*!q\210\312\211:\2055\311\n \"*\313\230\203G\314\315\316\317#\210\320\211\202\302\321\f\211AA\211\322\232?\205W *\323\324\325\326&\211\211<\205h\n@*\206\246\321\f\211AA\211\322\232?\205| *\323\327\325\326&\211\205\245\330\n\211<\205\222\n@)!\211G\331V\205\244\332\331\320O!))\203\273\203\273\317\333\315\316\320\317$\210 \334 ))\207" [xml-data attribute node jabber-chatstates-requested jabber-chatstates-xmlns children get-buffer jabber-chat-get-buffer from xml-get-attribute-or-nil type "error" remove-hook post-command-hook jabber-chatstates-after-change t nil find (("")) :key #[(x) "\303\211:\205 \304\n \"*\207" [x attribute node xmlns xml-get-attribute-or-nil] 4] :test string= #[(x) "\303\211:\205 \304\n \"*\207" [x attribute node xmlns:cha xml-get-attribute-or-nil] 4] symbol-name 4 intern add-hook jabber-chatstates-update-message name state jabber-chatstates-confirm jabber-chatstates-last-state] 8]) (byte-code "\300\301\302\303#\210\304\305!\210\306\307!\207" [add-to-list jabber-message-chain jabber-handle-incoming-message-chatstates t jabber-disco-advertise-feature "http://jabber.org/protocol/chatstates" provide jabber-chatstates] 4)