;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311!\"\210\306\312\313\311!\"\210\306\314\312\"\210\315\314\316\317#\210\320\311\321\312#\322\311\323\324\325$\207" [require warnings eieio rudel-color rudel-xml rudel-infinote-group defalias rudel-infinote-group-document-state-idle-p eieio-make-class-predicate rudel-infinote-group-document-state-idle rudel-infinote-group-document-state-idle--eieio-childp eieio-make-child-predicate rudel-infinote-group-document-state-idle-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-document-state-idle) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) nil (:documentation "")] 6) #@97 Create a new object of class type `rudel-infinote-group-document-state-idle'. (fn &rest SLOTS) (defalias 'rudel-infinote-group-document-state-idle #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-group-document-state-idle] 5 (#$ . 1148)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-group-document-state-idle compiler-macro rudel-infinote-group-document-state-idle--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-group-document-state-idle--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 1575)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\316\302\317\302\320%\210\300\321\302\322\302\323%\210\300\324\302\325\302\326%\210\327\330\331\332!\"\210\327\333\334\332!\"\210\327\335\333\"\210\336\335\337\340#\210\341\332\342\333#\343\332\344\345\346$\207" [cl-generic-define-method rudel-infinote/sync-begin nil ((_this rudel-infinote-group-document-state-idle) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304D\262\207" [num-messages xml-get-attribute-or-nil #1="" string-to-number synchronizing] 8 "Handle 'sync-begin' message.\n\n(fn THIS XML)"] rudel-infinote/user-join ((this rudel-infinote-group-document-state-idle) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304\301\"\206 \302\266\202\305\301\"\206,\302\266\202\306\301\"\2068\302\266\202\211\205A\303!\262\307\310\311$\203a\312\313\314\315\316\317 \320\"!#\321#\210\202z\322\323\324\325\326\327\330 #\331\332 !&\"\210\266\333\207" [id xml-get-attribute-or-nil #1# string-to-number name status hue rudel-find-user = rudel-id display-warning (rudel infinote) format "User with id %d is already subscribed to document `%s'" object-name-string eieio-oref document :warning rudel-add-user rudel-infinote-document-user :id :color rudel-hsv->string 0.3 rudel-color-background-value :status intern-soft nil] 18 "Handle 'user-join' message.\n\n(fn THIS XML)"] rudel-infinote/user-rejoin ((this rudel-infinote-group-document-state-idle) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304\301\"\206 \302\266\202\305\301\"\206,\302\266\202\211\2055\303!\262\306\307\310$\211\204O\311\312\313\314\"\315#\210\202i\316\317\320\321 #\"\210\322\"\210\323\324!\"\210\325!\210\266\326\207" [id xml-get-attribute-or-nil #1# string-to-number status hue rudel-find-user = rudel-id display-warning (rudel infinote) format "Could not find user: %d" :warning rudel-set-color rudel-hsv->string 0.3 rudel-color-background-value rudel-set-id rudel-set-status intern-soft rudel-change-notify nil] 13 "\n\n(fn THIS XML)"] rudel-infinote/user-status-change ((this rudel-infinote-group-document-state-idle) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304\301\"\206 \302\266\202\305\306\307$\211\2049\310\311\312\313\"\314#\210\202D\315\316!\"\210\317!\210\266\320\207" [id xml-get-attribute-or-nil #1# string-to-number status rudel-find-user = rudel-id display-warning (rudel infinote) format "Could not find user: %d" :warning rudel-set-status intern-soft rudel-change-notify nil] 11 "\n\n(fn THIS XML)"] rudel-infinote/user-color-change ((this rudel-infinote-group-document-state-idle) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304\301\"\206 \302\266\202\211\205)\303!\262\305\306\307$\211\204B\310\311\312\313\"\314#\210\202P\315\316\317\320 #\"\210\321!\210\266\322\207" [id xml-get-attribute-or-nil #1# string-to-number hue rudel-find-user = rudel-id display-warning (rudel infinote) format "Could not find user: %d" :warning rudel-set-color rudel-hsv->string 0.3 rudel-color-background-value rudel-change-notify nil] 12 "\n\n(fn THIS XML)"] rudel-infinote/request ((this rudel-infinote-group-document-state-idle) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\211AA\262@\211\211@\262\304\305\306$\211\204:\307\310\311\312\"\313#\210\202G\314\315\316!D$\210\266\317\207" [user xml-get-attribute-or-nil #1# string-to-number rudel-find-user = rudel-id display-warning (rudel infinote) format "Could not find user: %d'" :warning rudel-dispatch "rudel-infinote/request/" symbol-name nil] 13 "\n\n(fn THIS XML)"] rudel-infinote/session-close ((_this rudel-infinote-group-document-state-idle) _xml) #[514 "\300\207" [closed] 3 "Handle 'session-close' message.\n\n(fn THIS XML)"] defalias rudel-infinote-group-document-state-synchronizing-p eieio-make-class-predicate rudel-infinote-group-document-state-synchronizing rudel-infinote-group-document-state-synchronizing--eieio-childp eieio-make-child-predicate rudel-infinote-group-document-state-synchronizing-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-document-state-synchronizing) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) ((all-items :initarg :all-items :type (integer 0) :documentation #1#) (remaining-items :initarg :num-items :type (integer 0) :documentation #1#)) (:documentation #1#)] 6) #@106 Create a new object of class type `rudel-infinote-group-document-state-synchronizing'. (fn &rest SLOTS) (defalias 'rudel-infinote-group-document-state-synchronizing #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-group-document-state-synchronizing] 5 (#$ . 6456)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-group-document-state-synchronizing compiler-macro rudel-infinote-group-document-state-synchronizing--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-group-document-state-synchronizing--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 6928)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\316\302\317\302\320%\210\300\321\302\322\302\323%\210\324\325\326\327!\"\210\324\330\331\327!\"\210\324\332\330\"\210\333\332\334\335#\210\336\327\337\330#\340\327\341\302\342$\207" [cl-generic-define-method rudel-enter nil ((this rudel-infinote-group-document-state-synchronizing) num-items) #[514 "\300\301\302\"!\210\211\303\304#\266\211\303\305#\266\306\207" [rudel-clear-users slot-value document eieio-oset all-items remaining-items nil] 8 "\n\n(fn THIS NUM-ITEMS)"] rudel-infinote/sync-user ((this rudel-infinote-group-document-state-synchronizing) xml) #[514 "\211\300\301\"\206\f\302\266\202\211\205\303!\262\304\301\"\206!\302\266\202\305\301\"\206-\302\266\202\306\301\"\2069\302\266\202\211\205B\303!\262\307\310\311\312\313 #\314\315\316 !&\317\320\321\"\"\266\211\322\323\320\323\"S#\266\324\207" [id xml-get-attribute-or-nil "" string-to-number name status hue rudel-infinote-document-user :color rudel-hsv->string 0.3 rudel-color-background-value :id :status intern-soft rudel-add-user slot-value document eieio-oset remaining-items nil] 17 "Create a user object and add it to the document.\n\n(fn THIS XML)"] rudel-infinote/sync-request ((this rudel-infinote-group-document-state-synchronizing) _xml) #[514 "\211\300\301\302\301\"S#\266\303\207" [eieio-oset remaining-items slot-value nil] 10 "Handle 'sync-request' message.\n\n(fn THIS XML)"] rudel-infinote/sync-segment ((this rudel-infinote-group-document-state-synchronizing) _xml) #[514 "\211\300\301\302\301\"S#\266\303\207" [eieio-oset remaining-items slot-value nil] 10 "Handle 'sync-segment' message.\n\n(fn THIS XML)"] rudel-infinote/sync-end ((this rudel-infinote-group-document-state-synchronizing) _xml) #[514 "\300\301\"\302U\203\303\304\"\210\202>\303\305\306\307\310\300\311\"\300\301\"Z\300\311\"#E\"\210\312\313\307\310\300\311\"\300\301\"Z\314#\"\210\210\315\207" [slot-value remaining-items 0 rudel-send (sync-ack) sync-error ((domain . "INF_SESSION_SYNCHRONIZATION_ERROR") (code . "0")) format "Received less synchronization items (%d) than previously announced (%d)" all-items display-warning (rudel infinote) :warning idle] 13 "Handle 'sync-end' message.\n\n(fn THIS XML)"] rudel-infinote/sync-cancel ((_this rudel-infinote-group-document-state-synchronizing) _xml) #[514 "\300\207" [idle] 3 "Handle 'sync-cancel' message.\n\n(fn THIS XML)"] defalias rudel-infinote-group-document-state-joining-p eieio-make-class-predicate rudel-infinote-group-document-state-joining rudel-infinote-group-document-state-joining--eieio-childp eieio-make-child-predicate rudel-infinote-group-document-state-joining-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-document-state-joining) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) (:documentation "This state indicates that we are currently joining the session\nassociated to a document. After sending a 'user-join' message, we\nexpect a 'user-join' or 'user-rejoin' message in response.")] 6) #@100 Create a new object of class type `rudel-infinote-group-document-state-joining'. (fn &rest SLOTS) (defalias 'rudel-infinote-group-document-state-joining #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-group-document-state-joining] 5 (#$ . 10398)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-group-document-state-joining compiler-macro rudel-infinote-group-document-state-joining--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-group-document-state-joining--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 10841)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\207" [cl-generic-define-method rudel-enter nil ((this rudel-infinote-group-document-state-joining)) #[257 "\300\301\302\"!\211\303\304\305\306\307\"!\"@\310\311\312\306\313\"B\314\315\316\317\320\321\"B\322\317\323\n\"B\257D\"\266\324\207" [rudel-self eieio-oref :session apply rudel-rgb->hsv color-values slot-value color rudel-send user-join name :object-name (status . "active") (time . #1="") caret format "%d" 0 hue "%f" nil] 15 "\n\n(fn THIS)"] rudel-infinote/user-join ((this rudel-infinote-group-document-state-joining) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304\301\"\206 \302\266\202\305\301\"\206,\302\266\202\306\301\"\2068\302\266\202\211\205A\303!\262\307\310\311\"!\211\204T\312\313\314\315#\210\316\317\320\321\322\323\324 #\325\f\326\327 ! \205t\330\fD& \"\331 \"\266\332\207" [id xml-get-attribute-or-nil #1# string-to-number name status hue rudel-self eieio-oref :session display-warning (rudel infinote) "No self user in session" :warning rudel-add-user apply rudel-infinote-document-user :color rudel-hsv->string 0.3 rudel-color-background-value :id :status intern-soft :session-user rudel-set-self idle] 21 "Handle 'user-join' message.\n\n(fn THIS XML)"] rudel-infinote/user-rejoin ((this rudel-infinote-group-document-state-joining) xml) #[514 "\211\211\300\301\"\206 \302\266\202\211\205\303!\262\304\301\"\206 \302\266\202\305\301\"\206,\302\266\202\306\301\"\2068\302\266\202\211\205A\303!\262\307\310\311$\211\204[\312\313\314\315\"\316#\210\202\201\317\"\210\320\321\322\323 #\"\210\324\"\210\325\326!\"\210\327\"\210\330!\210\266\331\207" [id xml-get-attribute-or-nil #1# string-to-number name status hue rudel-find-user = rudel-id display-warning (rudel infinote) format "Could not find self user in document: %d" :warning object-set-name-string rudel-set-color rudel-hsv->string 0.3 rudel-color-background-value rudel-set-id rudel-set-status intern-soft rudel-set-self rudel-change-notify idle] 14 "\n\n(fn THIS XML)"]] 6) #@6 TODO (defvar rudel-infinote-group-document-states '((idle . rudel-infinote-group-document-state-idle) (synchronizing . rudel-infinote-group-document-state-synchronizing) (joining . rudel-infinote-group-document-state-joining) (closed . rudel-infinote-group-state-closed)) (#$ . 13269)) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias rudel-infinote-group-document-p eieio-make-class-predicate rudel-infinote-group-document rudel-infinote-group-document--eieio-childp eieio-make-child-predicate rudel-infinote-group-document-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-document) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group rudel-impersonator rudel-delegator) ((document :initarg :document :type rudel-infinote-document-child :documentation #1="") (impersonation-target-slot :initform document) (delegation-target-slot :initform document)) (:documentation #1#)] 6) #@86 Create a new object of class type `rudel-infinote-group-document'. (fn &rest SLOTS) (defalias 'rudel-infinote-group-document #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-group-document] 5 (#$ . 14321)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-group-document compiler-macro rudel-infinote-group-document--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-group-document--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 14694)]) (byte-code "\300\301\302\303\304\305%\210\306\307!\207" [cl-generic-define-method initialize-instance nil ((this rudel-infinote-group-document) _slots) t #[771 " \210\301\"\207" [rudel-infinote-group-document-states rudel-register-states] 6 "\n\n(fn CL--CNM THIS SLOTS)"] provide rudel-infinote-group-document] 6)