Function: hanoi-insert-ring
hanoi-insert-ring is a byte-compiled function defined in hanoi.el.gz.
Signature
(hanoi-insert-ring RING POLE)
Source Code
;; Defined in /usr/src/emacs/lisp/play/hanoi.el.gz
;; put never-before-placed RING on POLE and update their cars.
(defun hanoi-insert-ring (ring pole)
(decf (car pole) baseward-step)
(let ((str (car ring))
(start (- (car pole) (* (/ (cdr ring) 2) fly-step))))
(setcar ring (car pole))
(cl-loop for pos upfrom start by fly-step
for i below (cdr ring) do
(subst-char-in-region pos (1+ pos) (char-after pos) (aref str i))
(set-text-properties pos (1+ pos) (text-properties-at i str)))
(hanoi-goto-char (car pole))))