155 |
(aref vec (ring-index index hd ln (length vec)))))) |
(aref vec (ring-index index hd ln (length vec)))))) |
156 |
|
|
157 |
(defun ring-elements (ring) |
(defun ring-elements (ring) |
158 |
"Return a list of the elements of RING." |
"Return a list of the elements of RING, in order, newest first." |
159 |
(mapcar #'identity (cddr ring))) |
(let ((start (car ring)) |
160 |
|
(size (ring-size ring)) |
161 |
|
(vect (cddr ring)) |
162 |
|
lst) |
163 |
|
(dotimes (var (cadr ring) lst) |
164 |
|
(push (aref vect (mod (+ start var) size)) lst)))) |
165 |
|
|
166 |
;;; provide ourself: |
;;; provide ourself: |
167 |
|
|