;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\300\306!\210\300\307!\210\310\311\312\311\313\314#\315#\210\316\311\314\317\314\320%\210\316\311\314\321\314\322%\210\316\311\314\323\314\324%\210\316\311\314\325\314\326%\207" [require cl-lib cl-generic eieio jupiter rudel rudel-util rudel-transport-util defalias rudel-operation->message cl-generic-define ((this jupiter-operation)) nil "Generate a list obby message components from THIS operation.\n\n(fn (this jupiter-operation))" cl-generic-define-method ((this jupiter-insert)) #[257 "\211\300\301\302\303\304\"\"\303\305\"E\207" ["ins" format "%x" slot-value from data] 8 "Serialize THIS insert operation.\n\n(fn THIS)"] ((this jupiter-delete)) #[257 "\211\300\301\302\303\304\"\"\301\302\303\305\"\"E\207" ["del" format "%x" slot-value from length] 9 "Serialize THIS delete operation.\n\n(fn THIS)"] ((this jupiter-compound)) #[257 "\211\300\301\302C\303\304\305\306\"\"#\207" [apply append "split" mapcar rudel-operation->message slot-value children] 10 "Serialize THIS compound operation.\n\n(fn THIS)"] ((_this jupiter-nop)) #[257 "\300C\207" ["nop"] 2 "Serialize THIS nop operation.\n\n(fn THIS)"]] 6) #@233 Construct an operation object from MESSAGE and LOCAL-REVISION and REMOTE-REVISION. LOCAL-REVISION and REMOTE-REVISION are only used in the construction of the name of the new operation. (fn MESSAGE LOCAL-REVISION REMOTE-REVISION) (defalias 'rudel-message->operation #[771 "@\211\300\230\203#\301A@\302\"\3038\304\305\306#\307\310%\266\202\202\226\211\311\230\203L\301A@\302\"\301\3038\302\"\312\305\313#\307\314\\%\266\202\202\226\211\315\230\203\201A\316\317\320\321$\322\323#\322\"\324\305\325\n#\326\327  #\327\f\f#D#\266\204\202\226\211\330\230\203\222\331\305\332#!\202\226\333\334\"\207" ["ins" string-to-number 16 2 jupiter-insert format "insert-%d-%d" :from :data "del" jupiter-delete "delete-%d-%d" :to "split" cl-position-if #[257 "\211\300\235\207" [("ins" "del" "nop")] 3 "\n\n(fn ITEM)"] :start 1 cl-subseq 0 jupiter-compound "compound-%d-%d" :children rudel-message->operation "nop" jupiter-nop "nop-%d-%d" error "Unknown document record type: `%s'"] 16 (#$ . 1607)]) (byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\306\301\304\311\304\312%\210\306\301\304\313\304\314%\210\306\301\304\315\304\316%\210\300\317\302\317\320\304#\321#\210\306\317\304\322\304\323%\210\306\317\304\324\304\325%\210\306\317\304\326\304\327%\210\306\317\304\330\304\331%\207" [defalias rudel-obby-char->byte cl-generic-define ((this jupiter-operation) buffer) nil "Convert character positions and lengths in THIS to bytes.\n\n(fn (this jupiter-operation) BUFFER)" cl-generic-define-method ((this jupiter-insert) buffer) #[514 "rq\210\211\300\301\302\303\301\"T!S#\262)\207" [eieio-oset from position-bytes slot-value] 11 "Convert character positions and lengths in THIS insert to bytes.\n\n(fn THIS BUFFER)"] ((this jupiter-delete) buffer) #[514 "\301\302\"T\301\303\"Trq\210@A\211@A\211@A \304\302\305!S#\266 \304\306\307ZZO!#\262\266\203\266\206)\266\202\207" [rudel-buffer-change-workaround-data slot-value from to eieio-oset position-bytes length string-bytes] 23 "Convert character positions and lengths in THIS delete to bytes.\n\n(fn THIS BUFFER)"] ((this jupiter-compound) buffer) #[514 "\300\301\302\303\304\305!\306\"\307\310%\311\312\"\"\207" [mapc make-byte-code 257 "\301\300\"\207" vconcat vector [rudel-obby-char->byte] 4 "\n\n(fn CHILD)" slot-value children] 10 "Convert character positions and lengths in THIS compound to bytes..\n\n(fn THIS BUFFER)"] ((_this jupiter-nop) _buffer) #[514 "\300\207" ["Nothing to convert if THIS is a nop."] 3 "\n\n(fn THIS BUFFER)"] rudel-obby-byte->char ((this jupiter-operation) buffer) "Convert byte positions and lengths in THIS to character positions.\n\n(fn (this jupiter-operation) BUFFER)" ((this jupiter-insert) buffer) #[514 "rq\210\211\300\301\302\303\301\"T!S#\262)\207" [eieio-oset from byte-to-position slot-value] 11 "Convert byte positions and lengths in THIS insert to character positions.\n\n(fn THIS BUFFER)"] ((this jupiter-delete) buffer) #[514 "\300\301\"\300\302\"rq\210\303\301\304T!S#\266\303\305\304\306\307#!S#\262)\266\202\207" [slot-value from length eieio-oset byte-to-position to + 1] 14 "Convert byte positions and lengths in THIS delete to character positions.\n\n(fn THIS BUFFER)"] ((this jupiter-compound) buffer) #[514 "\300\301\302\303\304\305!\306\"\307\310%\311\312\"\"\207" [mapc make-byte-code 257 "\301\300\"\207" vconcat vector [rudel-obby-byte->char] 4 "\n\n(fn CHILD)" slot-value children] 10 "Convert byte positions and lengths in THIS compound to character positions.\n\n(fn THIS BUFFER)"] ((_this jupiter-nop) _buffer) #[514 "\300\207" ["Nothing to convert if THIS is a nop."] 3 "\n\n(fn THIS BUFFER)"]] 6) #@78 Construct an obby protocol filter stack on top of TRANSPORT. (fn TRANSPORT) (defalias 'rudel-obby-make-transport-filter-stack #[257 "\300\301\"\207" [rudel-transport-make-filter-stack ((rudel-assembling-transport-filter :assembly-function rudel-assemble-lines) (rudel-parsing-transport-filter :parse-function rudel-obby-parse-message :generate-function rudel-obby-generate-message))] 4 (#$ . 5356)]) #@241 Execute FORMS with variable bindings according to SPECS. SPECS is structured as follows: SPECS ::= (BINDING*) BINDING ::= (VAR TYPE) VAR is a symbol and TYPE is one of number, color, document-id and coding-system. (fn SPECS &rest FORMS) (defalias 'with-parsed-arguments '(macro . #[385 "\300\301\"\302BB\207" [mapcar #[257 "\211@A\211@A\211\300=\203\301\302BB\202E\303=\203%\304D\202E\305=\2036\306\307\310\311BBE\202E\312=\203D\313\314DD\202E\315D\266\202\207" [number string-to-number (16) color rudel-obby-parse-color document-id mapcar (lambda (string) (string-to-number string 16)) split-string (" " t) coding-system coding-system-from-name downcase nil] 13 "\n\n(fn SPEC)"] let] 6 (#$ . 5765)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\207" [function-put with-parsed-arguments lisp-indent-function 1 put edebug-form-spec (listp &rest form) provide rudel-obby-util] 5)