]>
Commit | Line | Data |
---|---|---|
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\302\303\304\305\306\307%\207" [require cl-lib custom-declare-group jabber-chatstates nil "Chat state notifications." :group jabber] 6) | |
9 | #@43 XML namespace for the chatstates feature.\1f | |
10 | (defconst jabber-chatstates-xmlns "http://jabber.org/protocol/chatstates" (#$ . 245)) | |
11 | (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\a\207" [custom-declare-variable jabber-chatstates-confirm funcall function #[0 "\300\207" [t] 1 ""] "Send notifications about chat states?" :group jabber-chatstates :type boolean] 8) | |
12 | #@186 Whether or not chat states notification was requested. | |
13 | This is one of the following: | |
14 | first-time - send state in first stanza, then switch to nil | |
15 | t - send states | |
16 | nil - don't send states\1f | |
17 | (defvar jabber-chatstates-requested 'first-time (#$ . 618)) | |
18 | (make-variable-buffer-local 'jabber-chatstates-requested) | |
19 | #@27 The last seen chat state.\1f | |
20 | (defvar jabber-chatstates-last-state nil (#$ . 927)) | |
21 | (make-variable-buffer-local 'jabber-chatstates-last-state) | |
22 | #@56 Human-readable presentation of chat state information.\1f | |
23 | (defvar jabber-chatstates-message "" (#$ . 1071)) | |
24 | (make-variable-buffer-local 'jabber-chatstates-message) | |
25 | (defalias 'jabber-chatstates-update-message #[0 "\b\203\13\0\b\302=\204\13\0\303\304\305\b!\"\202\14\0\306\211\11\207" [jabber-chatstates-last-state jabber-chatstates-message active format " (%s)" symbol-name ""] 4]) | |
26 | (add-hook 'jabber-chat-send-hooks 'jabber-chatstates-when-sending) | |
27 | #@16 | |
28 | ||
29 | (fn TEXT ID)\1f | |
30 | (defalias 'jabber-chatstates-when-sending #[514 "\304 \210\305 \210\b\205\1f\0 \205\1f\0 \306=\203\16\0\307\11\307\12\310\311\vBCDC\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] 5 (#$ . 1508)]) | |
31 | #@83 Has composing notification been sent? | |
32 | It can be sent and cancelled several times.\1f | |
33 | (defvar jabber-chatstates-composing-sent nil (#$ . 1870)) | |
34 | (make-variable-buffer-local 'jabber-chatstates-composing-sent) | |
35 | #@58 Timer that counts down from 'composing state to 'paused.\1f | |
36 | (defvar jabber-chatstates-paused-timer nil (#$ . 2079)) | |
37 | (make-variable-buffer-local 'jabber-chatstates-paused-timer) | |
38 | #@25 Stop the 'paused timer.\1f | |
39 | (defalias 'jabber-chatstates-stop-timer #[0 "\b\205\a\0\301\b!\207" [jabber-chatstates-paused-timer cancel-timer] 2 (#$ . 2259)]) | |
40 | #@53 Start (or restart) the 'paused timer as approriate.\1f | |
41 | (defalias 'jabber-chatstates-kick-timer #[0 "\301 \210\302\303\304\305#\211\10\207" [jabber-chatstates-paused-timer jabber-chatstates-stop-timer run-with-timer 5 nil jabber-chatstates-send-paused] 4 (#$ . 2415)]) | |
42 | #@37 Send an 'paused state notification.\1f | |
43 | (defalias 'jabber-chatstates-send-paused #[0 "\b\205\1a\0 \205\1a\0\305\12\306\v\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 (#$ . 2684)]) | |
44 | (defalias 'jabber-chatstates-after-change #[0 "d\bU?\211\203\f\0\306\202\r\0\307 \205:\0\n\205:\0\v\205:\0\ 1\f=?\205:\0\310\r\311\312\nB\313B\ 4\314\ e\ eBCDE\"\210\ 1\211\14\205:\0\315 \207" [jabber-point-insert jabber-chatstates-confirm jabber-chatting-with jabber-chatstates-requested jabber-chatstates-composing-sent jabber-buffer-connection composing active jabber-send-sexp-if-connected message to ((type . "chat")) xmlns jabber-chatstates-kick-timer jabber-chatstates-xmlns] 9]) | |
45 | #@20 | |
46 | ||
47 | (fn JC XML-DATA)\1f | |
48 | (defalias 'jabber-handle-incoming-message-chatstates #[514 "\304\305\ 2\306\ 1:\205\r\0\307\ 2\ 2\"\266\202!!\205\270\0r\305\ 1\306\ 1:\205!\0\307\ 2\ 2\"\266\202!q\210\211\310\ 1:\2051\0\307\ 2\ 2\"\266\202\311\230\203D\0\312\313\314\315#\210\316\211\10\202\267\0\317 \ 2\211AA\211\320\232?\205R\0\211\266\202\321\322\323\324&\ 6\211\211<\205b\0\211@\262\ 1\262\ 1\206\240\0\317 \ 2\211AA\211\320\232?\205w\0\211\266\202\321\325\323\324&\ 6\211\205\236\0\326\ 1\211<\205\214\0\211@\262\ 1!\211G\327V\205\234\0\330\ 1\327\316O!\262\ 1\262\ 1\n\203\261\0\211\203\261\0\315\10\331\313\314\316\315$\210\211\13\332 \262\ 1)\207" [jabber-chatstates-requested jabber-chatstates-xmlns jabber-chatstates-confirm jabber-chatstates-last-state 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 cl-find (("")) :key #[257 "\211\300\ 1:\205\v\0\301\ 2\ 2\"\207" [xmlns xml-get-attribute-or-nil] 6 "\n\n(fn X)"] :test string= #[257 "\211\300\ 1:\205\v\0\301\ 2\ 2\"\207" [xmlns:cha xml-get-attribute-or-nil] 6 "\n\n(fn X)"] symbol-name 4 intern add-hook jabber-chatstates-update-message] 9 (#$ . 3522)]) | |
49 | (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) |