;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (eval-after-load "jabber-disco" #[nil "\300\301!\207" [jabber-disco-advertise-feature "urn:xmpp:rtt:0"] 2]) (defvar jabber-rtt-ewoc-node nil) (make-variable-buffer-local 'jabber-rtt-ewoc-node) (defvar jabber-rtt-last-seq nil) (make-variable-buffer-local 'jabber-rtt-last-seq) (defvar jabber-rtt-message nil) (make-variable-buffer-local 'jabber-rtt-message) (defvar jabber-rtt-pending-events nil) (make-variable-buffer-local 'jabber-rtt-pending-events) (defvar jabber-rtt-timer nil) (byte-code "\300\301!\210\302\303\304\"\207" [make-variable-buffer-local jabber-rtt-timer eval-after-load "jabber-core" #[nil "\300\301\302\303#\207" [add-to-list jabber-message-chain jabber-rtt-handle-message t] 4]] 3) (defalias 'jabber-rtt-handle-message #[(jc xml-data) "\306!?\205\335\307\310\311\211:\205\312\n \"*!!\205\335r\310\311\211:\205+\312\n \"*!q\210\313\314\"\313\315\" \205K \305\211:\205J\312\n \"* \205b \316\211:\205]\312\n \"*\206b\317 \205y \211AA\211\320\232?\205x*\321 \f\204\211\322\230\203\216\323 \202\333\324\235\203\263\323 \210\325!\326\327D\"\"\330 !#\331$\332%\333!\202\333\317\230\205\333#\203\325#T\330 !\232\203\325\330 !#\333!\202\333\334\335 ##.\207" [xml-data attribute node rtt body seq jabber-muc-message-p get-buffer jabber-chat-get-buffer from xml-get-attribute-or-nil jabber-xml-path (("urn:xmpp:rtt:0" . "rtt")) (body) event "edit" ((#1="")) t "cancel" jabber-rtt--reset ("new" "reset") ewoc-enter-last :notice "[typing...]" string-to-number #1# nil jabber-rtt--enqueue-actions message "out of sync! %s vs %s" children actions inhibit-read-only jabber-chat-ewoc jabber-rtt-ewoc-node jabber-rtt-last-seq jabber-rtt-message jabber-rtt-pending-events] 6]) (defalias 'jabber-rtt--reset #[nil "\203 \306 \"\210\307\n!\203\310\n!\210\311\211\311\211\311\211\207" [jabber-rtt-ewoc-node jabber-chat-ewoc jabber-rtt-timer jabber-rtt-last-seq jabber-rtt-message jabber-rtt-pending-events ewoc-delete timerp cancel-timer nil] 4]) (defalias 'jabber-rtt--enqueue-actions #[(new-actions) "\303\304 \"!\n?\205\305p!\207" [jabber-rtt-pending-events new-actions jabber-rtt-timer jabber-rtt--fix-waits append jabber-rtt--process-actions] 4]) (defalias 'jabber-rtt--process-actions #[(buffer) "rq\210\306\3072R\n\205Q\n\211A\242\211\211<\205\f@)\211\310=\203\227 \311\211:\2054\312\f\"*\211 \203B\313 !\202EG\211\314]\211G^\211 \211AA\211!\315\232?\205j!*@\"\316 \"$\"\210+\317#\320\321PD\"\210\310$\322%#\"\210+\202M \323=\203( \311\211:\205\254\312\f\"*\211 \203\272\313 !\202\275G \324\211:\205\316\312\f\"*\211\203\334\313!\202\335\325&\314]\211G^&\314]\211&^&&Z'(\316'(\326$*\317#\320\321PD\"\210\310$\322%#\"\210-\202M \327=\203M\330\313 \324\211:\205?\312\f\"*!\331\245\306\332$\333\307\306\"\210*\202\n0)\207" [buffer jabber-rtt-timer jabber-rtt-pending-events action node #1=#:temp nil wait t p xml-get-attribute-or-nil string-to-number 0 ((#2="")) cl--set-substring ewoc-set-data :notice "[typing...] " ewoc-invalidate e n 1 #2# w run-with-timer 1000.0 jabber-rtt--process-actions throw attribute jabber-rtt-message position #3=#:start #4=#:end children #5=#:v jabber-rtt-ewoc-node inhibit-read-only jabber-chat-ewoc number #6=#:start #7=#:end] 6]) (defalias 'jabber-rtt--fix-waits #[(actions) "\306 \307\211\203E @\211\211<\205\f@)\310=\203>\n\311\211:\205)\312\f \"* \313 !\211 \306Y\203= \\) A\211\204\n*\314X\203P \202Z\315\245\316\317 \"))\207" [sum actions action --dolist-tail-- node attribute 0 nil w n xml-get-attribute-or-nil string-to-number 700 700.0 mapcar #[(action) "\211<\205 @)\305=\2034\303\211:\205\306 \n\"*\307 !\211\310]\305\303\311\f _!)BC\312BB\207\207" [action node attribute n scale w xml-get-attribute-or-nil string-to-number 0 number-to-string (nil)] 6] scale] 4]) (defvar jabber-rtt-send-timer nil) (make-variable-buffer-local 'jabber-rtt-send-timer) (defvar jabber-rtt-send-seq nil) (make-variable-buffer-local 'jabber-rtt-send-seq) (defvar jabber-rtt-outgoing-events nil) (make-variable-buffer-local 'jabber-rtt-outgoing-events) (defvar jabber-rtt-send-last-timestamp nil) (make-variable-buffer-local 'jabber-rtt-send-last-timestamp) #@109 Non-nil if Jabber-Rtt-Send mode is enabled. Use the command `jabber-rtt-send-mode' to change this variable. (defvar jabber-rtt-send-mode nil (#$ . 4420)) (make-variable-buffer-local 'jabber-rtt-send-mode) #@748 Show text to recipient as it is being typed. This lets the recipient see every change made to the message up until it's sent. The recipient's client needs to implement XEP-0301, In-Band Real Time Text. This is a minor mode. If called interactively, toggle the `Jabber-Rtt-Send mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `jabber-rtt-send-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (defalias 'jabber-rtt-send-mode #[(&optional arg) "\306  \307=\203\n?\202 \247\203 \310W\203\311\202\312\313\303!\2032\314\302 \"\n\2032\302 B\n\204H\315\316\317\312#\210\315\320\321\312#\210\322 \210\202x\323\324!\204R\325\326!\210\327\f!\203\\\330\f!\210\311\211\311\211'(\331\311!\210\332\316\317\311\312$\210\332\320\321\311\312$\210\333\334\n\203\202\335\202\203\336\"\210\337\340!\203\252\306 \203\227\306 \232\203\252\341)\342\343\n\203\244\344\202\245\345)#\210))\346 \210\n\207" [#1=#:last-message arg jabber-rtt-send-mode local-minor-modes jabber-rtt-send-timer jabber-rtt-send-seq current-message toggle 1 nil t boundp delq remove-hook after-change-functions jabber-rtt--queue-update jabber-chat-send-hooks jabber-rtt--message-sent jabber-rtt--cancel-send derived-mode-p jabber-chat-mode error "Real Time Text only makes sense in chat buffers" timerp cancel-timer jabber-rtt--send-current-text add-hook run-hooks jabber-rtt-send-mode-hook jabber-rtt-send-mode-on-hook jabber-rtt-send-mode-off-hook called-interactively-p any " in current buffer" message "Jabber-Rtt-Send mode %sabled%s" "en" "dis" force-mode-line-update jabber-rtt-outgoing-events jabber-rtt-send-last-timestamp local] 6 (#$ . 4632) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar jabber-rtt-send-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\310\211%\207" [jabber-rtt-send-mode-map jabber-rtt-send-mode-hook variable-documentation put "Hook run after entering or leaving `jabber-rtt-send-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode jabber-rtt-send-mode " Real-Time" boundp] 6) (defalias 'jabber-rtt--cancel-send #[nil "\306!\203\n\307!\210 T\310\n\311\312 B\313B\314\315\316\317 !B\320BB\321BBE\"\210\322\211\322\211\211\207" [jabber-rtt-send-timer jabber-rtt-send-seq jabber-buffer-connection jabber-chatting-with jabber-rtt-outgoing-events jabber-rtt-send-last-timestamp timerp cancel-timer jabber-send-sexp message to ((type . "chat")) rtt (xmlns . "urn:xmpp:rtt:0") seq number-to-string ((event . "cancel")) (nil) nil] 10]) (defalias 'jabber-rtt--send-current-text #[(resetp) "\306d\"\307\310!\311 \312\313\fB\314B\315\316\317\320\n!B\321 \203!\322\202\"\323BE\324\325 EEE\")\207" [jabber-point-insert text jabber-rtt-send-seq jabber-buffer-connection jabber-chatting-with resetp buffer-substring-no-properties random 100000 jabber-send-sexp message to ((type . "chat")) rtt (xmlns . "urn:xmpp:rtt:0") seq number-to-string event "reset" "new" t nil] 9]) (defalias 'jabber-rtt--queue-update #[(beg end pre-change-length) " W\206 \n W?\205\266\306 \f\203@\307 \f\"\310\311\312 !_!\211\313V\203?\311W\203?\314\315\316!BC\317BBB* )\313V\203~\ndU\320U\321\322?\205i\323\316 [\\\\!BC?\205v\315\316!BC\"DB*\nU\204\247\324\n\"\ndU\325?\205\236\323\316 Z!BCEB* ?\205\266\326\327\330\331p$\211 \207" [beg jabber-point-insert end timestamp jabber-rtt-send-last-timestamp time-difference current-time time-subtract truncate 1000 float-time 0 w n number-to-string (nil) 1 e append p buffer-substring-no-properties t run-with-timer 0.7 nil jabber-rtt--send-queued-events interval jabber-rtt-outgoing-events pre-change-length erase-one at-end text jabber-rtt-send-timer] 7]) (defalias 'jabber-rtt--send-queued-events #[(buffer) "rq\210\306\n\205@ \203\307\202\310 \203 T\202 \311\312!\313 \314\315B\316B\317\320\321\322 !B\304\fBE\n\237BBE\"\210\306\211))\207" [buffer jabber-rtt-send-timer jabber-rtt-outgoing-events jabber-rtt-send-seq event jabber-buffer-connection nil "edit" "new" random 100000 jabber-send-sexp message to ((type . "chat")) rtt (xmlns . "urn:xmpp:rtt:0") seq number-to-string jabber-chatting-with] 9]) (defalias 'jabber-rtt--message-sent #[(_text _id) "\304!\203\n\305!\210\306\211\306\211\211\207" [jabber-rtt-send-timer jabber-rtt-send-seq jabber-rtt-outgoing-events jabber-rtt-send-last-timestamp timerp cancel-timer nil] 3]) (provide 'jabber-rtt)