The function rotate-ring
rotates the ring, that is it moves the insertion point "back", which is the same direction that ring-pop would progress.
how-many is the number of positions to rotate. It has to be a fixnum, but otherwise is not limited.
rotate-ring
returns the element before the insertion point after the rotation (the one that (ring-ref
ring 0)
would return if called immediately after rotate-ring).
If the ring contains 3 elements or more, then
(progn
(ring-pop ring )
(ring-pop ring )
(ring-ref ring 0))
(rotate-ring ring 2)
but the second form does not remove an element from the ring, while the first form removes 2 elements.
LispWorks User Guide and Reference Manual - 13 Feb 2015