%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@41 Return t if X is a ring; nil otherwise. (defalias 'ring-p #[(x) ":\205 @\250\205 A:\205 A@\250\205 \301AA!\207" [x vectorp] 2 (#$ . 410)]) #@45 Make a ring that can contain SIZE elements. (defalias 'make-ring #[(size) "\301\211\302\303\"BB\207" [size 0 make-vector nil] 5 (#$ . 564)]) #@62 Add to RING the item ITEM, at the front, as the oldest item. (defalias 'ring-insert-at-beginning #[(ring item) "AA\211G@A@\n\fT^\306\n\" I\210\240\210A\f\240,\207" [ring vec veclen hd ln item ring-minus1] 4 (#$ . 712)]) #@34 Return INDEX+1, with wraparound. (defalias 'ring-plus1 #[(index veclen) "T\211\nU\203 \303\202 )\207" [index new-index veclen 0] 3 (#$ . 953)]) #@34 Return INDEX-1, with wraparound. (defalias 'ring-minus1 #[(index veclen) "\302U\203\n \202 S\207" [index veclen 0] 2 (#$ . 1108)]) #@44 Return the number of elements in the RING. (defalias 'ring-length #[(ring) "A@\207" [ring] 1 (#$ . 1249)]) #@282 Convert nominal ring index INDEX to an internal index. The internal index refers to the items ordered from newest to oldest. HEAD is the index of the oldest element in the ring. RINGLEN is the number of elements currently in the ring. VECLEN is the size of the vector in the ring. (defalias 'ring-index #[(index head ringlen veclen) "\304 \"\304\n Z\\S\"\207" [index ringlen head veclen mod] 4 (#$ . 1364)]) #@43 Return t if RING is empty; nil otherwise. (defalias 'ring-empty-p #[(ring) "A@\301U\207" [ring 0] 2 (#$ . 1782)]) #@73 Return the size of RING, the maximum number of elements it can contain. (defalias 'ring-size #[(ring) "AAG\207" [ring] 1 (#$ . 1903)]) #@24 Return a copy of RING. (defalias 'ring-copy #[(ring) "AA@A@\n \304!+BB\207" [ring ln hd vec copy-sequence] 4 (#$ . 2045)]) #@121 Insert onto ring RING the item ITEM, as the newest (last) item. If the ring is full, dump the oldest item to make room. (defalias 'ring-insert #[(ring item) "AA\211G@A@ \306\f\\\n\" I\f\nU\203' \307\n\"\240\210\202- A\fT\240\210,\207" [ring vec veclen hd ln item mod ring-plus1] 6 (#$ . 2182)]) #@153 Remove an item from the RING. Return the removed item. If optional INDEX is nil, remove the oldest item. If it's numeric, remove the element indexed. (defalias 'ring-remove #[(ring &optional index) "\306!\203\n \307\310!\207@A@AA\211G\311 \n\\S\f\"\312 \204, \nS\313 \n\f$H U\204Y \314\f\"HI\210\314\f\"\211\202= \312I\210A\nS\240\210 .\207" [ring hd ln vec veclen tl ring-empty-p error "Ring empty" mod nil ring-index ring-plus1 oldelt index] 7 (#$ . 2495)]) #@206 Return RING's INDEX element. INDEX = 0 is the most recently inserted; higher indices correspond to older elements. INDEX need not be <= the ring length; the appropriate modulo operation will be performed. (defalias 'ring-ref #[(ring index) "\305!\203\n \306\307!\207@A@AA \310\f\n G$H+\207" [ring vec ln hd index ring-empty-p error "Accessing an empty ring" ring-index] 6 (#$ . 3004)]) #@64 Return a list of the elements of RING, in order, newest first. (defalias 'ring-elements #[(ring) "@\306!AA\307A@\310\n \nW\203- \n\311\f \\\"H B T\211\202 .\207" [ring lst vect size start var ring-size nil 0 mod --dotimes-limit--] 5 (#$ . 3404)]) #@99 Return index of ITEM if on RING, else nil. Comparison is done via `equal'. The index is 0-based. (defalias 'ring-member #[(ring item) "\3042( \305!\306 \nW\203% \307 \"\232\203 \310\304 \"\210 T\211\202 *\3110\207" [ring ind --dotimes-limit-- item found ring-length 0 ring-ref throw nil] 5 (#$ . 3674)]) #@87 Return the next item in the RING, after ITEM. Raise error if ITEM is not in the RING. (defalias 'ring-next #[(ring item) "\303 \"\211\204 \304\305 \"\210\306\307\n\310!\"\")\207" [ring item curr-index ring-member error "Item is not in the ring: `%s'" ring-ref ring-plus1 ring-length] 7 (#$ . 3993)]) #@92 Return the previous item in the RING, before ITEM. Raise error if ITEM is not in the RING. (defalias 'ring-previous #[(ring item) "\303 \"\211\204 \304\305 \"\210\306\307\n\310!\"\")\207" [ring item curr-index ring-member error "Item is not in the ring: `%s'" ring-ref ring-minus1 ring-length] 7 (#$ . 4304)]) #@33 Increase the size of RING by X. (defalias 'ring-extend #[(ring x) "\250\205T \306V\205T @\307 !\310 ! AA\311\f\\\312\"\f \fB\241\210\306 W\203O \f \313\n \\\f\"HI\210 T\211 \2021 * \306\240-\207" [x ring hd length size old-vec 0 ring-length ring-size make-vector nil mod new-vec j --dotimes-limit--] 7 (#$ . 4625)]) #@316 Like `ring-insert', but if GROW-P is non-nil, then enlarge ring. Insert onto ring RING the item ITEM, as the newest (last) item. If the ring is full, behavior depends on GROW-P: If GROW-P is non-nil, enlarge the ring to accommodate the new item. If GROW-P is nil, dump the oldest item to make room for the new. (defalias 'ring-insert+extend #[(ring item &optional grow-p) "\203 \303 !\304 !U\203 \305 \306\"\210\307 \n\"\207" [grow-p ring item ring-length ring-size ring-extend 1 ring-insert] 3 (#$ . 4973)]) #@298 `ring-remove' ITEM from RING, then `ring-insert+extend' it. This ensures that there is only one ITEM on RING. If the RING is full, behavior depends on GROW-P: If GROW-P is non-nil, enlarge the ring to accommodate the new ITEM. If GROW-P is nil, dump the oldest item to make room for the new. (defalias 'ring-remove+insert+extend #[(ring item &optional grow-p) "\304\305 \n\"\211\203 \306 \"\210\202 )\307 \n#\207" [ind ring item grow-p nil ring-member ring-remove ring-insert+extend] 4 (#$ . 5496)]) #@88 Convert sequence SEQ to a ring. Return the ring. If SEQ is already a ring, return it. (defalias 'ring-convert-sequence-to-ring #[(seq) "\305!\203 \207G\306 ! \307\fW\2038 \310\n!\204* \311\n\307\"\234\232\2041 \312\n\234\"\210T\211\202 *\n*\207" [seq size ring count --dotimes-limit-- ring-p make-ring 0 ring-empty-p ring-ref ring-insert-at-beginning] 5 (#$ . 6013)]) (provide 'ring)